Views
ShortAPT
Вступление
Сейчас уже во многих дистрибутивах используется интеллектуальный менеджер пакетов - APT. Изначально спроектированный командой debian, APT был перенесен на rpm-based дистрибутивы командой connectiva и теперь доступен для дистрибутивов самой конективы, редхата, сусе, альтлинукса и дистрибутивов многих других вендоров.
Основной смысл в использовании APT состоит в том, что имея специально настроенные хранилища программ на компакт млм dvd дисках, винчестере или в сети, можно с комфортом искать в них программы и устанавливать/удалять необходимое с автоматическим учетом непротиворечивости системы. Больше не нужно думать о том, какие зависимости имеет та или иная программа. Просто устанавливаем ее и все необходимое для ее работы будет найдено и установлено автоматически. Аналогичный процес происходит и при удалении. Таким образом достигается высокий уровень удобства и качества сопровождения дистрибутива.
Краткий перечень часто используемых команд APT.
Обновление хеш-файлов
#apt-get update - обновить служебную информацию о репозитарии. необходима для актуализации состава и графа зависимостей пакетов в репозитарии. обычно предшествует командам поиска пакета, установки пакета или модернизации всей системы.
Установка и обновление программ.
#apt-get dist-upgrade - модернизировать систему в соответствии с последним писком моды в репозитарии. Проводится полный пересчет зависимостей, что позволяет корректно обрабатывать переименование и дробление пакетов.
#apt-get install пакет - установить последнюю версию пакета из репозитария. при необходимости будут установлены недостающие пакеты (по зависимости).
#apt-get install пакет --reinstall - переустановить пакет. полезный режим, так как позволяет исправить ошибки админа и майнтайнера пакета.
Удаление программ
#apt-get remove пакет - удалит пакет и все что не может без него функционировать.
Поиск программ в репозитарии (доступ к самому репозитарию не требуется, поскольку используется результат последней команды apt-get update).
**$[b]?apt-cache search слово** поиск в репозитарии пакета, в названии или описании которого присутствует указанное слово. команда доступна не только руту, но и пользователю, входящему в группу rpm.
$apt-cache show пакет показывает сводку на указанный пакет. удобна для уточнения назначения и функций пакета.
$apt-cache showpkg пакет показывает общую служебную информацию о пакете. редко используется. В основном технические детали построения репозитария.
$apt-cache depends пакет показывает зависимости пакета. в отличии от rpm -qw пакет, показывает зависимости не только на файлы, но и на результирующие пакеты, в состав которых входят эти файлы. Очень удобна для анализа возможных трудностей с установкой.
$apt-cache pkgnames выдаст на консоль списочек пакетов в репозитариях. естественно, можно перенаправить вывод в файл и на досуге с ним поработать.
$apt-cache stats немного цифр оо статистикой репозитария.
$apt-cache dotty выдает граф зависимостей репозитария в формате graphviz. затем это граф можно отрендерить в PS
$apt-cache dotty > temp.dotty
$dot -PS temp.dotty
одна беда - граф на 3000 пакетов будет не самым маленьким. так что неплохо бы написать скрипт для вычленения отдельных вершин и построения подмножеств.
Исходники
$apt-get source пакет найдет и загрузит в текущую директорию пакет с исходным кодом программы - пакета. рекомендуется делать эту операцию от имени пользователя, будущего сборщика пакета. иначе возможны проблемы с правами.
Остальное.
#apt-get check проверяет состояние зависимостей в системе. По результатам этой команды можно сделать вывод о состоянии целостности системы и принять меры к исправлению возможных нарушений.
#apt-get -f install Попытка привести систему в замкнутый, логичный вид. применяется, если предыдущая команда выявила нарушения в целостности системы - битые зависимости или неразрешенное дублирование.
#apt-get clean чистит директорию с загруженными пакетами. пакеты при установке или модернизации не удаляются сразу, чтобы лишний раз их не качать. со временем их накапливается немало и освободить бесплодно занимаемое место и призвана эта команда. функционально эта команда для системы ничего не делает - не ставит пакеты, не удаляет и зависимости не проверяет, просто очищает кеш закачки пакетов.
Глоссарий.
пакет - программа или библиотека, которая снабжена описанием установки и удаления, зависимостями на другие пакеты, информацией для поиска и все это сжато и упаковано в специальный формат - RPM.