- Alt linux add repo
- Важно
- QuickStart/PkgManagment
- Содержание
- Почему так важно уметь пользоваться пакетным менеджером? [ править ]
- Какому пакету принадлежит этот файл? [ править ]
- Какие файлы входят в этот пакет? [ править ]
- Где искать конфигурационные файлы этого пакета? [ править ]
- Где искать исполняемые файлы этого пакета? [ править ]
- Что отвечает за запуск служб в этом пакете? [ править ]
- Где почитать документацию к этому пакету? [ править ]
- Есть ли отдельный под-пакет с документацией? [ править ]
- Где найти man-страницы на русском языке? [ править ]
- Как посмотреть подробную информацию о пакете? [ править ]
- Как получить полный список установленных пакетов? [ править ]
- Основные инструменты для управления пакетами [ править ]
- Synaptic [ править ]
- rpm [ править ]
- APT и apt-config [ править ]
- apt-repo [ править ]
- apt-cache [ править ]
- apt-get [ править ]
- Другие инструменты [ править ]
- Как найти пакет по имени файла, если пакет не установлен? [ править ]
- С помощью apf [ править ]
- С помощью epm [ править ]
- Командой grep [ править ]
- Пакеты с ядром и модулями [ править ]
- Как узнать версию текущего ядра? [ править ]
- Как посмотреть установленные пакеты с модулями ядра? [ править ]
- Сопоставление модулей ядра файлам и пакетам [ править ]
- Итоги [ править ]
Alt linux add repo
В современных системах на базе Linux огромное число общих ресурсов, которыми пользуются сразу несколько программ: разделяемых библиотек, содержащих стандартные функции, исполняемых файлов, сценариев и стандартных утилит и т. д. Удаление или изменение версии одного из составляющих систему компонентов может повлечь неработоспособность других, связанных с ним компонентов, или даже вывести из строя всю систему. В контексте системного администрирования проблемы такого рода называют нарушением целостности системы. Задача администратора — обеспечить наличие в системе согласованных версий всех необходимых программных компонентов (обеспечение целостности системы).
Для установки, удаления и обновления программ и поддержания целостности системы в Linux в первую очередь стали использоваться менеджеры пакетов (такие, как rpm в дистрибутивах RedHat или dpkg в Debian GNU/Linux ). С точки зрения менеджера пакетов программное обеспечение представляет собой набор компонентов — программных пакетов. Такие компоненты содержат в себе набор исполняемых программ и вспомогательных файлов, необходимых для корректной работы программного обеспечения. Менеджеры пакетов облегчают установку программ: они позволяют проверить наличие необходимых для работы устанавливаемой программы компонент подходящей версии непосредственно в момент установки, а также производят необходимые процедуры для регистрации программы во всех операционных средах пользователя: cразу после установки программа может быть доступна пользователю из командной строки и — если это педусмотрено — появляется в меню всех графических оболочек.
Важно
Благодаря менеджерам пакетов, пользователю Linux обычно не требуется непосредственно обращаться к установочным процедурам отдельных программ или непосредственно работать с каталогами, в которых установлены исполняемые файлы и компоненты программ (обычно это /usr/bin , /usr/share/ имя_пакета ) — всю работу делает менеджер пакетов. Поэтому установку, обновление и удаление программ в Linux обычно называют управлением пакетами.
Часто компоненты, используемые различными программами, выделяют в отдельные пакеты и помечают, что для работы ПО, предоставляемого пакетом A, необходимо установить пакет B. В таком случае говорят, что пакет A зависит от пакета B или что между пакетами A и B существует зависимость.
Отслеживание зависимостей между такими пакетами представляет собой серьёзную задачу для любого дистрибутива — некоторые компоненты могут быть взаимозаменяемыми: может обнаружиться несколько пакетов, предлагающих затребованный ресурс.
Задача контроля целостности и непротиворечивости установленного в системе ПО ещё сложнее. Представим, что некие программы A и B требуют наличия в системе компоненты C версии 1.0. Обновление версии пакета A, требующее обновления компоненты C до новой, использующей новый интерфейс доступа, версии (скажем, до версии 2.0), влечёт за собой обязательное обновление и программы B.
Однако менеджеры пакетов оказались неспособны предотвратить все возможные коллизии при установке или удалении программ, а тем более эффективно устранить нарушения целостности системы. Особенно сильно этот недостаток сказывается при обновлении систем из централизованного репозитория пакетов, в котором последние могут непрерывно обновляться, дробиться на более мелкие и т. п. Этот недостаток и стимулировал создание систем управления программными пакетами и поддержания целостности системы.
Источник
QuickStart/PkgManagment
Основы управления пакетами
Содержание
Почему так важно уметь пользоваться пакетным менеджером? [ править ]
Чтобы научиться управлять любым дистрибутивом Linux, первым делом необходимо освоить работу с его пакетным менеджером. Пакетный менеджер – самая важная отличительная черта любой Linux-системы, ALT – не исключение. Почему так важно им владеть? Всё просто: 90% ответов на вопросы управления системой даёт пакетный менеджер. За редким исключением практически вся система построена на пакетах, каждый из которых является своего рода архивом файлов. Таким образом, почти все файлы, каталоги и ссылки в системе принадлежат каким-то пакетам.
Приведём несколько примеров…
Какому пакету принадлежит этот файл? [ править ]
То есть, файл /etc/bashrc попал в систему в результате установки пакета bash . В настоящий момент этот пакет установлен (версия 3.2.57, релиз alt1).
Какие файлы входят в этот пакет? [ править ]
Где искать конфигурационные файлы этого пакета? [ править ]
Оказывается, их всего ДВА! И оба откроют вам тонкости работы с командной строкой, специфичные для дистрибутивов АЛЬТ, поскольку там – принятые сокращения. Так, вы узнаете, что вместо длинного «df -h -x supermount» достаточно скомандовать просто «df». А вместо «ls -lapt» – просто «l».
Где искать исполняемые файлы этого пакета? [ править ]
Что отвечает за запуск служб в этом пакете? [ править ]
Где почитать документацию к этому пакету? [ править ]
Кроме того, документация может быть упакована в отдельный пакет, а этот пакет ещё не установлен. Проверить довольно легко: обычно это такое же имя пакета с допиской «-doc».
Есть ли отдельный под-пакет с документацией? [ править ]
Где найти man-страницы на русском языке? [ править ]
Как посмотреть подробную информацию о пакете? [ править ]
Как получить полный список установленных пакетов? [ править ]
Основные инструменты для управления пакетами [ править ]
Synaptic [ править ]
Synaptic – это графический интерфейс к программе управления пакетами APT. С помощью Synaptic можно управлять источниками пакетов (репозиториями), получать сведения о доступных пакетах, устанавливать/удалять/обновлять пакеты, производить поиск по ключевым словам среди доступных пакетов. Подробный обзор работы с Synaptic можно почитать ЗДЕСЬ и ЗДЕСЬ.
Однако по умолчанию эта программа может быть не установлена. Например, на серверах графического интерфейса может не быть совсем. Кроме того, графический интерфейс не может обеспечить всей гибкости и возможностей автоматизации, предоставляемой утилитами командной строки. Поэтому далее будет рассмотрена работа с пакетным менеджером только в командной строке.
rpm [ править ]
RPM (Redhat Package Manager) – низкоуровневая утилита командной строки, используемая для установки, удаления, обновления, выполнения запросов и проверки целостности пакетов программного обеспечения. Все остальные утилиты управления пакетами в конечном итоге работают через RPM. Важно понимать: сам RPM ничего не знает о репозиториях, он оперирует только файлами, пакетами и их зависимостями, для чего использует собственную Базу Данных. Информация, хранимая в этой БД, в идеале должна соответствовать фактической картине внутри файловой системы, иначе проблем не избежать. В дистрибутивах ALT Linux RPM хранит свою БД в /var/lib/rpm . В один момент времени в системе должен быть запущен лишь один процесс, обращающийся к БД RPM, другие запросы блокируются.
Пакеты могут предоставлять (провайдить) что-либо, требовать (запрашивать) что-либо и конфликтовать с чем-либо, образуя таким образом систему межпакетных зависимостей (dependencies). В ALT Linux можно установить пакет, если удовлетворены все его зависимости и нет конфликтов с другими уже установленными пакетами и объектами файловой системы. Из этого следует, что никакими системными файлами нельзя манипулировать непосредственно (вручную), никакое программное обеспечение не стоит устанавливать в обход штатного пакетного менеджера, например, разворачивая tar’болы, скаченные из Интернета.
Впрочем, могут быть исключения: АЛЬТ’овый RPM позволяет устанавливать RPM-пакеты из других дистрибутивов, но только на выше оговоренных условиях. Так, очень часто проприетарный софт может распаковываться в /opt , /usr/local/bin , итп, и это не должно вызывать конфликтов с системным ПО из официального репозитория АЛЬТ. Подразумевается, что вы доверяете устанавливаемому из сторонних источников и сами несёте ответственность за всё установленное.
Пакеты всегда содержат определённую мета-информацию, на которую ориентируется утилита rpm. Также пакеты могут содержать какие-то файлы, каталоги и симлинки, но это необязательно. Так называемые мета-пакеты никогда не содержат объектов файловой системы, в них перечисляются только зависимости на другие пакеты.
Основные режимы работы утилиты rpm:
- Install: установка пакетов
- Remove: удаление пакетов
- Upgrade: обновление пакетов
- Query: выполнение запросов
- Verify: проверка целостности пакетов
Наиболее часто встречающиеся на практике команды rpm:
Русский перевод man-страницы rpm доступен, например, ЗДЕСЬ.
APT и apt-config [ править ]
APT (Advanced Packaging Tool) используется в ALT Linux для установки, обновления, удаления программных пакетов, для транзакционного обновления всей системы, как основной высокоуровневый инструмент командной строки, работающий не только с файлами RPM-пакетов, но и (прежде всего!) на уровне подключенных репозиториев. APT включает в себя несколько инструментов, в том числе, рассматриваемых далее. И, хотя мычит АЛЬТ’овый APT не хуже прародителя (apt-get moo), прозван недоброжелателями гремучей смесью за свою способность удовлетворять такие необычные запросы:
APT на АЛЬТ’е хранит кэш скаченных из сети пакетов в /var/cache/apt/archives , так же, как и в Debian’е. И точно так же можно найти кэш скаченных индексов в /var/lib/apt/lists . Вся конфигурация APT’а хранится в /etc/apt , главный конфигурационный файл: /etc/apt/apt.conf , списки подключенных репозиториев хранятся в /etc/apt/sources.list и /etc/apt/sources.list.d/* . Посмотреть текущую конфигурацию APT’а можно командой:
Более подробно почитать про APT и устройство репозиториев на АЛЬТ’е можно (и нужно обязательно!) на этой ВиКи и в соответствующей справочной документации.
apt-repo [ править ]
apt-repo – весьма полезная утилита, надстройка над APT’ом для удобного управления источниками (репозиториями). Типовые примеры использования:
Если вдуматься, синтаксис apt-repo add/test task taskid чем-то напоминает apt-add-repository ppa:ppa-name из Debian-подобных систем, но проще в использовании и не приводит к неуправляемому замусориванию системы.
apt-cache [ править ]
Инструмент для поиска и извлечения полезной информации из индекса подключенных репозиториев. Наиболее часто используемые на практике команды:
Две последние команды требуют наличия в системе установленного пакета apt-scripts . Следует также обратить внимание, что АЛЬТ’овый APT по умолчанию ищет информацию не только в названиях пакетов, но и в описаниях, вследствие чего оказывается более «говорливым» своего прародителя. Уменьшить излишнюю «шумливость» можно фильтрацией вывода, например, так:
apt-get [ править ]
Основной инструмент для управления пакетами в системе. Наиболее часто используемые на практике команды:
Чтобы разобраться в причинах конфликтов и отказе APT’а выполнять ваши команды, чтобы отправить баг в багзиллу или в список рассылки, используйте ключ -oDebug::pkgProblemResolver=1, например, так:
Другие инструменты [ править ]
АЛЬТ’овый less «из коробки» умеет показывать содержимое RPM-пакетов (rpm -qip && rpm -qlp):
То же самое касается дефолтных настроек Midnight Commander’а ( /usr/bin/mc ) – подсвечивается синтаксис .spec-файлов, можно заходить внутрь RPM-пакетов и изучать их содержимое. Если нужно распаковать содержимое пакета в текущий каталог «ручками», без установки его в систему, выполните следующую команду:
Весьма полезная утилита sisyphus-mirror поможет с организацией локальных зеркал и даже их архивами. Как и в Debian-подобных системах, в АЛЬТ’е тоже есть свой aptitude, но насколько он рабочий, судить не берусь. Судя по ченжлогу, не обновлялся очень давно, так что в любом случае не рекомендовал бы с него начинать.
Есть много других пакетов (утилит), так или иначе связанных с управлением пакетами, например, apt-scripts , apt-repo-tools , apf, epm, подробное описание которых выходит за рамки основ пакетного менеджмента. Кое-что из этого уже упоминалось выше, о чём-то будет сказано дальше. Вы можете изучить это самостоятельно после того, как освоите наиболее важные инструменты, описанные ранее: apt-repo, apt-cache, apt-get и rpm.
Как найти пакет по имени файла, если пакет не установлен? [ править ]
Предположим, мы знаем, что ищем программу partclone.ntfs. Но другие инструменты поиска успеха не дали: пакета с таким названием в репозитории не оказалось.
Как быть? Как найти точное название пакета, если известна часть имени или пути файла, в том числе, исполняемого?
С помощью apf [ править ]
По умолчанию пакет apf (аналог apt-file из Debian-based дистрибутивов) не установлен, а после установки требуется его настройка.
По умолчанию одноимённая команда apf будет искать файлы в Сизифе. Отредактируйте конфигурацию apf , указав нужный источник, например так:
После обновления индексов (apf update под рутом) можно искать интересующую информацию:
И это не единственный способ!
С помощью epm [ править ]
По умолчанию пакет eepm не установлен. Ставим его:
Теперь можно искать интересующее:
Здесь нет опечатки: программа epm входит в состав пакета eepm !
Командой grep [ править ]
Найти нужную информацию можно и обычной командой grep по индексному файлу, не устанавливая никаких дополнительных пакетов! Предположим, вы используете локальное зеркало, доступное через /ALT/p8 .
Если локального зеркала нет, нужный файлик сначала скачиваем:
Пакеты с ядром и модулями [ править ]
Как узнать версию текущего ядра? [ править ]
Как посмотреть установленные пакеты с модулями ядра? [ править ]
Сопоставление модулей ядра файлам и пакетам [ править ]
Какие модули ядра сейчас используются/загружены?
Подробная информация о модуле ядра:
К какому пакету относится модуль ядра?
В последней команде мы взяли из вывода modinfo первую строку (head -n1) и отщипнули от неё второе по счёту поле (awk ‘
Итоги [ править ]
Теперь вы знаете ОСНОВЫ и можете переходить к практике. Изучение основ управления пакетами не заменяет необходимости самолично глубоко и досконально изучить всё, что связано с пакетным менеджментом. Данный раздел содержит подсказки, где и как можно найти недостающую информацию. Почему это важно, говорилось в самом начале: 90% управления всей системой обеспечивается описанным здесь инструментарием. Вам этого мало? Тогда продолжим изучение…
Источник