Команды APT: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Метка: отменено
Строка 17: Строка 17:


Более подробно мы рассмотрим ее далее.
Более подробно мы рассмотрим ее далее.
==apt-get==
===Команды===


==Команды==
====Получение индексов====
 
===Получение индексов===
Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них. Делается это следующей командой:
Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них. Делается это следующей командой:
  # apt-get update
  # apt-get update
Строка 43: Строка 43:
</source>
</source>


===Обновление системы===
====Обновление системы====
Чтобы обновить систему до актуального состояния ([[Обновление ядра|кроме ядра]]), используйте следующую команду:
Чтобы обновить систему до актуального состояния ([[Обновление ядра|кроме ядра]]), используйте следующую команду:
  # apt-get dist-upgrade
  # apt-get dist-upgrade
Строка 73: Строка 73:
</source>
</source>


===Установка пакетов===
====Установка пакетов====
Установка пакетов производится следующей командой:
Установка пакетов производится следующей командой:
  # apt-get install имя_пакета
  # apt-get install имя_пакета
Строка 100: Строка 100:
Завершено.
Завершено.
</source>
</source>
===Удаление пакетов===
====Удаление пакетов====
Удаление пакетов происходит аналогично установке:
Удаление пакетов происходит аналогично установке:
  # apt-get remove имя_пакета
  # apt-get remove имя_пакета
Строка 126: Строка 126:
</source>
</source>


===Удаление неиспользуемых пакетов===
====Удаление неиспользуемых пакетов====
{{Note|Данную команду нужно использовать с осторожностью, т.к. она может удалить нужные пакеты}}
{{Note|Данную команду нужно использовать с осторожностью, т.к. она может удалить нужные пакеты}}
Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:
Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:
Строка 161: Строка 161:
{{Note|следующие команды используют напрямую /etc/apt/sources.list}}
{{Note|следующие команды используют напрямую /etc/apt/sources.list}}


===Получение исходного кода пакетов===
====Получение исходного кода пакетов====
Для получения исходного кода для разработки программы и ее пакета, можно воспользоваться командой:
Для получения исходного кода для разработки программы и ее пакета, можно воспользоваться командой:
  # apt-get source имя_пакета
  # apt-get source имя_пакета


===Установка необходимого ПО для сборки пакетов===
====Установка необходимого ПО для сборки пакетов====
Все необходимое ПО для сборки пакетов ставится следующей командой:
Все необходимое ПО для сборки пакетов ставится следующей командой:
  # apt-get build-dep
  # apt-get build-dep
-->
-->


===Удаление ранее скачанных пакетов===
====Удаление ранее скачанных пакетов====
Все пакеты, которые Вы устанавливаете или обновляете, скачиваются в папку кэша и хранятся на диске в папке /var/cache/apt/archives. После долгого времени использования системы они могут занимать много места.
Все пакеты, которые Вы устанавливаете или обновляете, скачиваются в папку кэша и хранятся на диске в папке /var/cache/apt/archives. После долгого времени использования системы они могут занимать много места.


Строка 180: Строка 180:
[root@comp-alt-petr ~]# apt-get clean
[root@comp-alt-petr ~]# apt-get clean
</source>
</source>
===Проверка зависимостей===
====Проверка зависимостей====
Чтобы удостовериться в отсутствии неудовлетворённых зависимостей введите команду:
Чтобы удостовериться в отсутствии неудовлетворённых зависимостей введите команду:
  # apt-get check
  # apt-get check
Строка 190: Строка 190:
</source>
</source>


===Удаление дубликатов===
====Удаление дубликатов====
Чтобы удалить задублированные пакеты, выполните команду:
Чтобы удалить задублированные пакеты, выполните команду:
  # apt-get dedup
  # apt-get dedup


==Параметры==
===Параметры===
В конце команды Вы можете указать следующие параметры:
В конце команды Вы можете указать следующие параметры:
<pre>
<pre>
Строка 207: Строка 207:
-V Показывать номера версий пакетов
-V Показывать номера версий пакетов
</pre>
</pre>
==apt-cache==
====Проверка зависимостей====
С помощью apt-cache так же как и с apt-get можно удостовериться в отсутствии неудовлетворённых зависимостей.
# apt-cache gencaches
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-cache gencaches
Чтение списков пакетов... Завершено
</source>
====Информация о пакетах и их зависимостях====
С помощью apt-cache можно вывести информацию о перечисленных в командной строке пакетах и их зависимостях. Для этого используется команда '''showpkg'''. Остальные аргументы являются именами пакетов.
В полученном результате перечисляются доступные версии, обратные зависимости каждого пакета, а также прямые зависимости для каждой версии.
'''Прямые (обычные) зависимости''' - зависимости, от которых зависит данный пакет;
'''Обратные зависимости''' - указывают на то, что существуют другие пакеты, которые зависят от данного пакета.
Таким образом, прямые зависимости должны быть удовлетворены для установки пакета, а обратные могут и не быть удовлетворены.
# apt-cache showpkg имя_пакета имя_пакета ...
Пример, где:
*'''Reverse Depends''' - обратные зависимости,
*'''Dependencies''' - прямые зависимости
<source lang="text" highlight="1">
[root@comp-alt-petr ~]# apt-cache showpkg ffmpeg
Package: ffmpeg
Versions:
2:4.4.3-alt2:p10+314231.200.4.1@1676567363(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_x86%5f64_base_pkglist.classic)
Reverse Depends:
  tkffmpeg,ffmpeg
  screencaster,ffmpeg
  mithraen-utils,ffmpeg
  m4b-tool,ffmpeg
  zoneminder,ffmpeg
  winff,ffmpeg
  vcmi,ffmpeg
  shotcut,ffmpeg
  rosa-media-player,ffmpeg
  qwinff,ffmpeg
  povray-common,ffmpeg
  pencil2d,ffmpeg
  peek,ffmpeg
  imagination,ffmpeg
  dvdstyler,ffmpeg
  deadbeef-converter,ffmpeg
  GMT,ffmpeg
Dependencies:
2:4.4.3-alt2:p10+314231.200.4.1@1676567363 - /lib64/ld-linux-x86-64.so.2 (0 (null)) libavdevice58 (5 2:4.4.3-alt2:p10+314231.200.4.1)
Provides:
2:4.4.3-alt2:p10+314231.200.4.1@1676567363 - /usr/bin/ffmpeg ffmpeg
Reverse Provides:
ffmpeg 2:4.4.3-alt2:p10+314231.200.4.1@1676567363
</source>
====Информация о пакете с исходным кодом====
С помощью apt-cache можно вывести информацию о перечисленных в командной строке пакетах с исходным кодом Для этого используется команда '''showsrc'''. Остальные аргументы являются именами пакетов.
# apt-cache showsrc
{{Category navigation|title=APT|category=APT|sortkey=*}}
{{Category navigation|title=APT|category=APT|sortkey=*}}
<source lang="text" highlight="1">
</source>

Версия от 11:01, 18 мая 2023

Все пакеты, из которых в систему ставятся программы, драйвера, ядра и пр. хранятся в специальных сетевых хранилищах - репозиториях. Они состоят из двух частей - индексов и хранилища. Сначала получаются файлы индексов, содержащие список всех пакетов и ссылки на них и, используя полученные индексы, пакеты скачиваются из хранилища во временный каталог и, по завершении загрузки, устанавливаются в систему или обновляются.

С помощью специальных команд Вы можете:

  • получить индексы
  • обновить все установленные пакеты
  • установить новые пакеты
  • удалить установленные пакеты

Эта "специальные команды" используются в консольной утилите APT.

Для ее работы нужны права суперпользователя.

Программа использует следующий синтаксис:

apt-get [параметры] команда
apt-get [параметры] install|remove пакет1 [пакет2 ...]
apt-get [параметры] source пакет1 [пакет2 ...]

Более подробно мы рассмотрим ее далее.

apt-get

Команды

Получение индексов

Первым делом нужно получить индексы, содержащие актуальные наборы пакетов и ссылки на них. Делается это следующей командой:

# 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-get dist-upgrade

Пример запуска:

Примечание: Обратите внимание, когда обновляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
[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 firefox gimp vlc
Примечание: Обратите внимание, когда устанавливается несколько пакетов, действие нужно подтвердить нажатием клавиши Y

Пример запуска:

[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%]
Завершено.

Удаление пакетов

Удаление пакетов происходит аналогично установке:

# apt-get remove имя_пакета

И так же Вы можете указать несколько или большое количество пакетов через пробел.

# apt-get remove 0ad supertuxkart boswars

Пример запуска:

Примечание: Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
[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%]
Завершено.

Удаление неиспользуемых пакетов

Примечание: Данную команду нужно использовать с осторожностью, т.к. она может удалить нужные пакеты

Чтобы удалить лишние пакеты, которые не используются в системе выполните следующую команду:

# apt-get autoremove
Примечание: Обратите внимание, когда удаляется несколько пакетов, действие нужно подтвердить нажатием клавиши Y
[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-get clean 

Команда не очень информативна:

[root@comp-alt-petr ~]# apt-get clean

Проверка зависимостей

Чтобы удостовериться в отсутствии неудовлетворённых зависимостей введите команду:

# apt-get check
[root@comp-alt-petr ~]# apt-get check
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено

Удаление дубликатов

Чтобы удалить задублированные пакеты, выполните команду:

# apt-get dedup

Параметры

В конце команды Вы можете указать следующие параметры:

-qq Не показывать ничего кроме сообщений об ошибках
-d Получить пакеты и выйти БЕЗ их установки или распаковки
-s Симуляция установки
-y Автоматически отвечать "да" на все вопросы
-f Исправление неудовлетворенных зависимостей. Обычно используется с командой "apt-get install"
-m Начать установку пакетов, если их часть была недоступна и не скачалась
-u Показать список обновляемых пакетов
-D При удалении пакета удалить все его зависимости. Для команды "apt-get remove"
-V Показывать номера версий пакетов

apt-cache

Проверка зависимостей

С помощью apt-cache так же как и с apt-get можно удостовериться в отсутствии неудовлетворённых зависимостей.

# apt-cache gencaches
[root@comp-alt-petr ~]# apt-cache gencaches
Чтение списков пакетов... Завершено

Информация о пакетах и их зависимостях

С помощью apt-cache можно вывести информацию о перечисленных в командной строке пакетах и их зависимостях. Для этого используется команда showpkg. Остальные аргументы являются именами пакетов.

В полученном результате перечисляются доступные версии, обратные зависимости каждого пакета, а также прямые зависимости для каждой версии.

Прямые (обычные) зависимости - зависимости, от которых зависит данный пакет;

Обратные зависимости - указывают на то, что существуют другие пакеты, которые зависят от данного пакета.

Таким образом, прямые зависимости должны быть удовлетворены для установки пакета, а обратные могут и не быть удовлетворены.

# apt-cache showpkg имя_пакета имя_пакета ... 

Пример, где:

  • Reverse Depends - обратные зависимости,
  • Dependencies - прямые зависимости
[root@comp-alt-petr ~]# apt-cache showpkg ffmpeg
Package: ffmpeg
Versions: 
2:4.4.3-alt2:p10+314231.200.4.1@1676567363(/var/lib/apt/lists/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_x86%5f64_base_pkglist.classic)

Reverse Depends: 
  tkffmpeg,ffmpeg
  screencaster,ffmpeg
  mithraen-utils,ffmpeg
  m4b-tool,ffmpeg
  zoneminder,ffmpeg
  winff,ffmpeg
  vcmi,ffmpeg
  shotcut,ffmpeg
  rosa-media-player,ffmpeg
  qwinff,ffmpeg
  povray-common,ffmpeg
  pencil2d,ffmpeg
  peek,ffmpeg
  imagination,ffmpeg
  dvdstyler,ffmpeg
  deadbeef-converter,ffmpeg
  GMT,ffmpeg
Dependencies: 
2:4.4.3-alt2:p10+314231.200.4.1@1676567363 - /lib64/ld-linux-x86-64.so.2 (0 (null)) libavdevice58 (5 2:4.4.3-alt2:p10+314231.200.4.1) 
Provides: 
2:4.4.3-alt2:p10+314231.200.4.1@1676567363 - /usr/bin/ffmpeg ffmpeg 
Reverse Provides: 
ffmpeg 2:4.4.3-alt2:p10+314231.200.4.1@1676567363

Информация о пакете с исходным кодом

С помощью apt-cache можно вывести информацию о перечисленных в командной строке пакетах с исходным кодом Для этого используется команда showsrc. Остальные аргументы являются именами пакетов.

# apt-cache showsrc