Одной из самых распространненых операций, характерных для любой ОС, является управление программным обеспечением, в том числе: установка, удаление и просмотр списка текущих установленных.
Система управления пакетами в Debian (Ubuntu) построена на базе репозиториев, в которых содержатся ссылки для скачивания огромного количества программ.
По большому счету это означает, что Вам нужно лишь знать название программы или пакета. Если он есть в сети в репозитории - система самостоятельно разберется откуда его скачать именно под Вашу версию ОС и установит.
Посмотреть текущие установленные пакеты
# dpkg --list
Если нужно найти какой-то пакет, например, apache2 - установлен он или нет:
# dpkg --list | grep apache2
Поиск в репозиторииДля этого примеряется команда "aptitude search" с параметром, являющимся названием пакета или частью названия.
# aptitude search apache
На этот запрос aptitude выведет список всех пакетов, совпадающих с названием "apache" или частью названия которых является фраза "apache".
PS. Далее по тексту я везде буду использовать пакет "apache2" как пример - вместо этого названия Вам нужно подставлять то, с которым Вы хотите оперировать!
Детальная информация о пакете
# aptitude show apache2
А если хочется поглядеть все доступные версии пакета:
# aptitude show -v apache2
Установка пакета из репозитория
# aptitude install apache2
При этом автоматически проверяются и устраняются все зависимости. Так, если пакет apache2 зависит от пакета "apache2-mpm-worker", то сначала скачается и установится этот пакет, а потом уже apache2. При этом глубина резолва многоуровненная - т.е. если, в свою очередь пакеn apache2-mpm-worker зависит от другого пакета - то сначала скачается тот другой и установится, потом уже apache2-mpm-worker, а уже потом - apache2.
Это происходит почти прозрачно для пользователя - aptitude лишь укажет, что помимо указанного он скачает еще и друге пакеты (приведет их список).
Установка пакета определенной версииЗаметка! Указываемая версия должна существовать в репозитории и Ваша ОС должна об этом знать (не забываем обновлять данные репозиториев - см. ниже).
# aptitude install apache2=2.2.9-10+lenny7
Как видно, после знака = указывается полностью версия, которую Вы хотите установить.
Посмотреть все версии можно по пункту выше - детальная информация о пакете.
Переустановка пакета из репозитория
# aptitude reinstall apache2
При этом конфигурационные файлы пакета не будут перезаписаны файлами по-умолчанию.
Удаление скачанных установочных .deb файловПеред установкой пакета если установочный файл (.deb-файл) скачивается на компьютер. После установки этот файл не удаляется - например, на случай переустановки.
Если нужно подчистить кеш скачанных файлов - используем следующую команду:
# aptitude clean
Удаление старых и битых установочных .deb файлов
В отличие от предыдущей опции - удаляются только те установочные файлы, которые больше не могут быть скачаны (например, устаревшие).
# aptitude autoclean
Удаление пакета
# aptitude remove apache2
При этом сам пакет будет удален, но конфигурационные файлы оставлены - на случай переустановки в будущем.
Жесткое удаление пакетаПри этом будут удалены все настройки и ОС попытается привести свое состояние к тому, как будто пакета никогда не было.
# aptitude purge apache2
Запрет обновления пакетаПри этом процедуры автоматического обновления не тронут этот пакет, а если его новая версия необходима по зависимостям для других пакетов - то и все пакеты, которые зависят от его версии.
# aptitude hold apache2
Обновление данных репозиториевНужно для того, чтобы в ОС всегда была информация о последних версиях пакетов. Обязательно к выполнению перед процедурой обновления пакетов или, тем более, ОС.
# aptitude update
Обновление всех пакетов кроме операционной системы
# aptitude safe-upgrade
При этом, конечно, будут разрешены все зависимости и обновлены все пакеты, которые возможно обновить.
Запретить обновление пакета до определенной версии
# aptitude forbit-version apache2
# aptitude forbit-version apache2=2.2.9-10+lenny7
При этом запрещается обновление только на указанную версию, при этом обновление на версию выше или ниже указанной - разрешаются!
В первом варианте будет запрещена следующая за текущей версия пакета.
Во-втором варианте можно самостоятельно задать определенную версию пакета, на которую обновляться нельзя.
Посмотреть объяснение - почему тот или иной пакет не может быть установлен в систему (или может)
# aptitude why apache2
# aptitude why-not apache2
Только скачать установочные .deb-файлы для указанных пакетов, но не устанавливать их.Например, у Вас запланирована установка пакетов на определенное время, но подготовиться заранее - скачать файлы на компьютер, чтобы не зависеть от интернета - Вы хотите.
# aptitude download apache2
Сэмулировать какое-то действиеПри этом aptitude ведет себя так-же, как при настоящем действии, но по факту ничего не делает.
$ aptitude -s action
Например, вот пример обновления всех пакетов - aptitude покажет все, что он бы сделал, но не сделает это:
$ aptitude -s safe-upgrade
Установка пакета из скачанного на стороне .deb-файлаТ.е. не из репозитория.
# dpkg -i myinstallfile.deb
где вместо "myinstallfile.deb" подставьте имя скачанного файла (и путь, конечно).
Удаление пакета, установленного из стороннего .deb-файла
# dpkg -r package_name
где вместо "package_name" - укажите имя пакета.
Установка GPG-ключа
apt-key add - < rep.gpg
где вместо "rep.gpg" - укажите имя скачанного GPG-файла.
Второй способ - если известен UID:
# gpg --keyserver keys.gnupg.net --recv-key 12345678
# gpg -a --export 12345678 | sudo apt-key add -
где вместо "12345678" - подставить известный код для данного репозитория.
Комментарии
Оставить комментарий
Операционная система LINUX
Термины: Операционная система LINUX