Команды APT
Все пакеты, из которых в систему ставятся программы, драйвера, ядра и пр. хранятся в специальных сетевых хранилищах - репозиториях. Они состоят из двух частей - индексов и хранилища. Сначала получаются файлы индексов, содержащие список всех пакетов и ссылки на них и, используя полученные индексы, пакеты скачиваются из хранилища во временный каталог и, по завершении загрузки, устанавливаются в систему или обновляются.
С помощью специальных команд Вы можете:
- получить индексы
- обновить все установленные пакеты
- установить новые пакеты
- удалить установленные пакеты
- найти пакеты в репозитории
Эта "специальные команды" используются в консольной утилите APT. Все операции с пакетами с помощью этой утилиты проводятся в консольной строке. В ряде случаев это удобнее, а в некоторых просто является единственно возможным вариантом ввиду возможности рестарта некоторых ключевых компонент. В этом случае команда на обновление должна делаться в консоли, либо с использованием screen.
Для ее работы нужны права суперпользователя. Хотя, для операции поиска, достаточно обычных прав пользователя.
Команды apt-get
Программа использует следующий синтаксис:
apt-get [параметры] команда apt-get [параметры] install|remove пакет1 [пакет2 ...] apt-get [параметры] source пакет1 [пакет2 ...]
Более подробно мы рассмотрим ее далее.
Обновление информации о репозиториях
Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них.
- при поиске новой версии пакета
- установке пакетов
- обновлении установленных пакетов
- использовании apt-cache
Делается это следующей командой:
# apt-get update
Пример запуска:
[root@comp-alt-petr ~]# apt-get update
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено: 3 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Получено 8732B за 0s (259kB/s).
Найдено http://ftp.altlinux.org p10/branch/x86_64/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64/classic release
Найдено http://ftp.altlinux.org p10/branch/x86_64/gostcrypto pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64/gostcrypto release
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/x86_64-i586/classic release
Найдено http://ftp.altlinux.org p10/branch/noarch/classic pkglist
Найдено http://ftp.altlinux.org p10/branch/noarch/classic release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
После выполнения команды, apt обновит свой кеш новой информацией.
Обновление системы
Чтобы обновить систему до актуального состояния (кроме ядра), используйте следующую команду:
# apt-get dist-upgrade
Пример запуска:
[root@comp-alt-petr ~]# apt-get dist-upgrade
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Подсчет обновлений... Завершено
Следующие пакеты будут ОБНОВЛЕНЫ:
firefox libnss
2 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 59,2MB архивов.
После распаковки потребуется дополнительно 2888kB дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic libnss 3.89.0-alt1:p10+319679.40.8.1@1684328466 [1290kB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic firefox 112.0.2-alt0.p10.1:p10+319679.140.8.2@1684342590 [57,9MB]
Получено 59,2MB за 2s (20,6MB/s).
Совершаем изменения...
Подготовка... #################################################################################################### [100%]
Обновление / установка...
1: libnss-3.89.0-alt1 #################################################################################################### [ 25%]
2: firefox-112.0.2-alt0.p10.1 #################################################################################################### [ 50%]
Очистка / удаление...
3: firefox-110.0.1-alt0.p10.1 #################################################################################################### [ 75%]
4: libnss-3.88.1-alt1 #################################################################################################### [100%]
Завершено.
Установка пакетов
Установка пакетов производится следующей командой:
# apt-get install имя_пакета
Например:
# apt-get install chromium
Программа автоматически найдет и установит все необходимые для пакета зависимости.
Так же Вы можете указать сразу несколько или большое количество пакетов через пробел.
# apt-get install firefox gimp vlc
Пример запуска:
[root@comp-alt-petr ~]# apt-get install stellarium
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие НОВЫЕ пакеты будут установлены:
stellarium
0 будет обновлено, 1 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 212MB архивов.
После распаковки потребуется дополнительно 334MB дискового пространства.
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic stellarium 0.21.0-alt1.1:sisyphus+279564.100.1.3@1626602684 [212MB]
Получено 212MB за 10s (20,9MB/s).
Совершаем изменения...
Подготовка... #################################################################################################### [100%]
Обновление / установка...
1: stellarium-0.21.0-alt1.1 #################################################################################################### [100%]
Завершено.
Дополнительные варианты
- Установка RPM-пакета из файловой системы:
[root@comp-alt-petr ~]# apt-get install /home/user/Загрузки/whois-5.5.0-alt1.x86_64.rpm
- Установка пакета по его URL:
[root@comp-alt-petr ~]# apt-get install http://ftp.altlinux.org/pub/distributions/ALTLinux/Sisyphus/files/x86_64/RPMS/whois-5.5.0-alt1.x86_64.rpm
- Установка по имени исполняемого файла или библиотеки:
[root@comp-alt-petr ~]# apt-get install /usr/bin/whois
Некоторые ситуации
Пакет установлен, в репозитории новая версия, запускается повторная установка
- Если пакет уже установлен и в подключённом репозитории нет обновлений для данного пакета, система сообщит об уже установленном пакете последней версии.
[root@comp-alt-petr ~]# apt-get install supertuxkart
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Последняя версия supertuxkart уже установлена.
0 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 0 не будет обновлено.
- Если в репозитории присутствует более новая версия или новое обновление - программа начнёт процесс установки.
- Менеджер apt, при установки пакета проверяет все зависимости и если необходимо обновить пакеты или заменить - предложит провести необходимые действия
# apt-get install alterator
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
alterator-l10n rpm-macros-alterator
Следующие пакеты будут ОБНОВЛЕНЫ:
alterator alterator-l10n rpm-macros-alterator
3 будет обновлено, 0 новых установлено, 0 пакетов будет удалено и 178 не будет обновлено.
Необходимо получить 630kB архивов.
После распаковки потребуется дополнительно 4686B дискового пространства.
Продолжить? [Y/n]
Починка сломанной системы
Если у Вас по некоторым причинам (зависание, отключение электричества и пр.) была нарушена работа APT и система говорит что нужно выполнить "починку", воспользуйтесь следующей командой:
# apt-get install -f
Переустановка пакетов
Чтобы принудительно переустановить указанные пакеты, выполните следующую команду:
# apt-get install --reinstall имена пакетов
Пример использования:
# apt-get install --reinstall supertuxkart
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
0 будет обновлено, 0 новых установлено, 1 пакетов будет переустановлено, 0 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 25,2MB архивов.
После распаковки потребуется дополнительно 0B дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic supertuxkart 1.4-alt1:p10+310551.200.2.1@1669897162 [25,2MB]
Получено 25,2MB за 1s (20,7MB/s).
Совершаем изменения...
Подготовка... #################################################################################################### [100%]
Обновление / установка...
1: supertuxkart-1.4-alt1 #################################################################################################### [100%]
Завершено.
Скачивание пакетов в кэш без установки
Чтобы скачать пакеты без установки, используйте следующую команду:
# apt-get install -d пакеты
Пример использования:
# apt-get install -d boswars
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
liblua5.1 liblua5.1-preinstall libtolua++-lua5.1
Следующие НОВЫЕ пакеты будут установлены:
boswars liblua5.1 liblua5.1-preinstall libtolua++-lua5.1
0 будет обновлено, 4 новых установлено, 0 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 74,8MB архивов.
После распаковки потребуется дополнительно 92,1MB дискового пространства.
Продолжить? [Y/n] y
Получено: 1 http://ftp.altlinux.org p10/branch/x86_64/classic liblua5.1-preinstall 5.1.5-alt17:sisyphus+278018.100.1.2@1625976910 [10,8kB]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64/classic liblua5.1 5.1.5-alt17:sisyphus+278018.100.1.2@1625976910 [93,9kB]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64/classic libtolua++-lua5.1 1.0.93-alt5:sisyphus+249325.100.1.1@1585937317 [15,8kB]
Получено: 4 http://ftp.altlinux.org p10/branch/x86_64/classic boswars 2.7-alt1_24.svn160110:sisyphus+264006.100.1.2@1609002965 [74,7MB]
Получено 74,8MB за 3s (18,9MB/s).
Скачивание пакетов завершено в режиме 'только скачать'.
Удаление пакетов
Примечание
Удаление пакета не намного сложнее, чем установка. Достаточно знать имя пакета, который необходимо удалить и обращать внимание на сообщения системы apt.
Чтобы что-то удалить, необходимо знать, что можно удалить. Например пакеты программ, которыми Вы перестали пользоваться или программ из дистрибутива, которыми Вы не пользовались вообще.
При удалении пакетов имеется простое правило, которому желательно следовать:
- Не все пакеты, которыми вы не пользуетесь, являются ненужными.
Правило говорит о том, что программа, которой вы пользуетесь, может явно использовать пакет, который вы хотите удалить. Обычно зависимости выставлены корректно, и система apt всегда предупредит, какие пакеты придётся удалить дополнительно при удалении указанного. Не стоит пытаться удалить общесистемные пакеты, вы можете необратимо испортить нормальное функционирование операционной системы. В таких случаях apt настоятельно спросит, действительно ли пользователь уверен в своих действиях.
Например:
# apt-get remove coreutils
<большой список пакетов>
...
WARNING: The following essential packages will be removed
This should NOT be done unless you know exactly what you are doing!
...
You are about to do something potentially harmful
To continue type in the phrase 'Yes, do as I say!'
Команды
Удаление пакетов происходит аналогично установке:
# apt-get remove имя_пакета
# apt-get remove 0ad
И так же Вы можете указать несколько или большое количество пакетов через пробел.
# apt-get remove 0ad supertuxkart boswars
Пример запуска:
[root@comp-alt-petr ~]# apt-get remove supertuxkart boswars
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
boswars supertuxkart
0 будет обновлено, 0 новых установлено, 2 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 160MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка... #################################################################################################### [100%]
Очистка / удаление...
1: supertuxkart-1.4-alt1 #################################################################################################### [ 50%]
2: boswars-2.7-alt1_24.svn160110 #################################################################################################### [100%]
Завершено.
# rpm -qa | grep часть_названия
Пример:
[root@comp-alt-petr ~]# rpm -qa | grep tux
supertuxkart-data-1.4-alt1.noarch
tuxcmd-0.6.70-alt2.x86_64
supertux2-0.6.3-alt2.x86_64
supertuxkart-1.4-alt1.x86_64
supertux2-data-0.6.3-alt2.noarch
Удаление неиспользуемых пакетов
Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:
# apt-get autoremove
[root@comp-alt-petr ~]# apt-get autoremove
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Calculating Autoremove... Завершено
Следующие пакеты будут УДАЛЕНЫ:
ImageMagick-tools advancecomp libjpeg-utils liblua5.1 liblua5.1-preinstall libmcpp libtolua++-lua5.1 optipng supertuxkart-data
0 будет обновлено, 0 новых установлено, 9 пакетов будет удалено и 0 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 729MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка... #################################################################################################### [100%]
Очистка / удаление...
1: libtolua++-lua5.1-1.0.93-alt5 #################################################################################################### [ 11%]
2: liblua5.1-5.1.5-alt17 #################################################################################################### [ 22%]
3: liblua5.1-preinstall-5.1.5-alt17 #################################################################################################### [ 33%]
4: supertuxkart-data-1.4-alt1 #################################################################################################### [ 44%]
5: optipng-0.7.7-alt1 #################################################################################################### [ 56%]
6: libmcpp-2.7.2-alt3 #################################################################################################### [ 67%]
7: libjpeg-utils-2:2.0.6-alt3 #################################################################################################### [ 78%]
8: advancecomp-2.1-alt1_16 #################################################################################################### [ 89%]
9: ImageMagick-tools-6.9.12.64-alt1 #################################################################################################### [100%]
Завершено.
Удаление ранее скачанных пакетов
Все пакеты, которые Вы устанавливаете или обновляете, скачиваются в папку кэша и хранятся на диске в папке /var/cache/apt/archives. После долгого времени использования системы они могут занимать много места. Так как объём свободного пространства на жёстком диске конечен, может возникнуть ситуация, когда apt не сможет сохранить полученные по сети пакеты, и установка будет прервана, о чём система apt известит пользователя. Чтобы избежать такой ситуации, требуется очистка диска от старых установленных пакетов.
Чтобы очистить кэш скачанных пакетов воспользуйтесь командой:
# apt-get clean
Команда не очень информативна:
[root@comp-alt-petr ~]# apt-get clean
Если после выполнения данной операции, система apt, всё равно прерывает установку по причине нехватки места на диске - значит, диск скорее всего занят пользовательскими файлами. Попробуйте удалить (перенести) ненужные файлы или удалить ненужные вам программы и приложения.
Удаление пакета с конфигурацией
Программа во время работы создает конфигурационные файлы, в которых хранит настройки, произведенные во время работы. Если Вы хотите переустановить программу так, чтобы эти файлы были удалены, Вы можете воспользоваться следующей командой:
# apt-get remove --purge имя_пакета
Пример выполения:
# apt-get remove --purge wine
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие пакеты будут УДАЛЕНЫ:
i586-wine.32bit* wine*
0 будет обновлено, 0 новых установлено, 2 пакетов будет удалено и 2 не будет обновлено.
Необходимо получить 0B архивов.
После распаковки будет освобождено 900MB дискового пространства.
Продолжить? [Y/n] y
Совершаем изменения...
Подготовка... #################################################################################################### [100%]
Очистка / удаление...
1: i586-wine-1:7.22.1-alt1 #################################################################################################### [ 50%]
2: wine-1:7.22.1-alt1 #################################################################################################### [100%]
Завершено.
Проверка зависимостей
Чтобы удостовериться в отсутствии неудовлетворённых зависимостей введите команду:
# apt-get check
[root@comp-alt-petr ~]# apt-get check
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Удаление дубликатов
Чтобы удалить задублированные пакеты, выполните команду:
# apt-get dedup
Параметры
В конце команды Вы можете указать следующие параметры:
-qq Не показывать ничего кроме сообщений об ошибках -d Получить пакеты и выйти БЕЗ их установки или распаковки. Для команд "apt-get install" и "apt-get dist-upgrade" -s Симуляция установки -y Автоматически отвечать "да" на все вопросы -f Исправление неудовлетворенных зависимостей. Обычно используется с командой "apt-get install" -m Начать установку пакетов, если их часть была недоступна и не скачалась. Для команд "apt-get install" и "apt-get dist-upgrade". -u Показать список обновляемых пакетов -D При удалении пакета удалить все его зависимости. Для команды "apt-get remove" -V Показывать номера версий пакетов
Команды apt-repo
Команды apt-cache
Команды apf