Часто используемые команды apt-get и apt-cache

Часто используемые команды apt-get и apt-cacheУтилита apt-get представляет собой мощную и гибкую программу командной строки для управления пакетами в дистрибутивах linux (Debian, Ubuntu), .Apt-get работает с библиотекой APT (Advanced Packaging Tool) и используется для установки новых пакетов программного обеспечения, удаления и обновления существующих пакетов. Кроме того apt-get использхуется для обновления всей операционной системы. Apt-cache так-же является утилитой командной строки и используется для поиска пакетов программного обеспечения в кэше apt, сбора информации о пакетах, а также для поиска готовых пакетов для установки в операционных системах на базе Debian или Ubuntu. Как правило apt-get и apt-cache используются совместно, apt-cache для получения информации, apt-get для манипуляций с пакетами. Кроме них существует еще с десяток программ из категории apt-*, посмотреть можно так:
# ls -a /usr/bin/ | grep apt-

1. Apt-cache, список всех доступных пакетов.

Что-бы получить список всех доступных пакетов в системе используется команда:
# apt-cache pkgnames
libuuidm-ocaml-dev
task-estonian-desktop
libosmgpsmap2
...........
Листинг будет довольно внушительный, поэтому можно перенаправить вывод через утилиту more, что-бы была возможность листать список:
# apt-cache pkgnames | more

2. Apt-cache, узнать имя пакета и описание программного обеспечения

Чтобы узнать имя пакета и его описание перед установкой, используйте подкоманду search. Search, указывает apt-cache вывести список всех пакетов, совпадающих со строкой поиска, с их краткими описаниями . Например, найдем все пакеты связанные именем exim:
# apt-cache search exim
exim4 - metapackage to ease Exim MTA (v4) installation
exim4-base - support files for all Exim MTA (v4) packages
exim4-config - configuration for the Exim MTA (v4)
.........................
Вывести список пакетов начинающихся со строки exim:
# apt-cache pkgnames exim
exim4-daemon-light
eximon4
exim4-config

3. Apt-cache, получение информации о пакете

Если вам нужно проверить информацию о пакете, например версию пакета, контрольные суммы, размер до и после установки и т.д., воспользуйтесь подкомандой show:
# apt-cache show exim4
Package: exim4
Version: 4.80-7+deb7u4
Installed-Size: 44
Maintainer: Exim4 Maintainers 
Architecture: all
Depends: debconf (>= 0.5) | debconf-2.0, debconf (>= 1.4.69) | cdebconf (>= 0.39), exim4-base (>= 4.80), exim4-daemon-light | exim4-daemon-heavy | exim4-daemon-custom
Description: metapackage to ease Exim MTA (v4) installation
Homepage: http://www.exim.org/
Description-md5: 458592f74d76e446735736c1d55ce615
Section: mail
Priority: standard
Filename: pool/updates/main/e/exim4/exim4_4.80-7+deb7u4_all.deb
Size: 7790
MD5sum: 13bc5ca11b6cbb67d1c5c978fe975a58
SHA1: 6aae2042ee6fd6ba6c9ccdbd3a849620aa6fe690
SHA256: 90db48df64348b333805ea8af7bb4339ff164a3ed27f2c74e070c712ffb3db1c

4. Apt-ceche, получить информацию о зависимостях пакета

Для получения информации о прямых и обратных зависимостях конкретного пакета, используйте подкоманду showpkg с именем нужного пакета:
# apt-cache showpkg ftp
Package: ftp
Versions:
0.17-27 (/var/lib/apt/lists/mirror.mephi.ru_debian_dists_wheezy_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language:
                 File: /var/lib/apt/lists/mirror.mephi.ru_debian_dists_wheezy_main_binary-amd64_Packages
                  MD5: ce93e483dfc5fef0655f73f364b3c01c
 Description Language: en
                 File: /var/lib/apt/lists/mirror.mephi.ru_debian_dists_wheezy_main_i18n_Translation-en
                  MD5: ce93e483dfc5fef0655f73f364b3c01c

Reverse Depends:
  webcam,ftp
  ftp-ssl,ftp 0.10
  ftp-ssl,ftp 0.10
  heimdal-clients,ftp 0.16-1
  gabedit,ftp
Dependencies:
0.17-27 - libc6 (2 2.11) libreadline6 (2 6.0) netbase (0 (null)) netstd (0 (null))
Provides:
0.17-27 -
Reverse Provides:
ftp-ssl 0.17.23+0.2-1+b1
heimdal-clients 1.6~git20120403+dfsg1-2

5. Apt-cache, статистика кэша пакетов

Подкоманда stats отобразит общую статистику кэша пакетов.
# apt-cache stats
Total package names: 46396 (928 k)
Total package structures: 46396 (2,598 k)
  Normal packages: 35015
  Pure virtual packages: 524
  Single virtual packages: 4057
  Mixed virtual packages: 1078
  Missing: 5722
Total distinct versions: 37929 (2,731 k)
Total distinct descriptions: 72393 (1,737 k)
Total dependencies: 226429 (6,340 k)
Total ver/file relations: 39862 (957 k)
Total Desc/File relations: 72393 (1,737 k)
Total Provides mappings: 7847 (157 k)
Total globbed strings: 85 (670 )
Total dependency version space: 939 k
Total slack space: 34.7 k
Total space accounted for: 12.8 M

6. Apt-get, обновление списка пакетов

Для повторной синхронизации файлов индекса пакетов из их источников, указанных в файле /etc/apt/sources.list, используется команда apt-get с ключом update. Если в репозитариях доступны новые версии пакетов, они будут добавлены в индекс. Выполнять apt-get update следует перед любыми манипуляциями с пакетами.
# apt-get update
Hit http://mirror.mephi.ru wheezy Release.gpg
Get:1 http://mirror.mephi.ru wheezy-updates Release.gpg [1,554 B]
Hit http://mirror.mephi.ru wheezy Release
...............

7. Apt-get, обновление установленных пакетов

Команда upgrade используется для обновления всех установленных в системе пакетов, имеющих более новую версию. Пакеты которые уже установлены в системе не будут удаляться в любом случае, равно как и не будут устанавливаться пакеты которые не присутствовали в системе на момент обновления. Перед выполнением обновления следует обязательно выполнить apt-get update, что-бы система имела актуальную информацию о существующих в данный момент версиях пакетов.
# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
linux-headers-generic linux-image-generic wine1.5 wine1.5-i386
The following packages will be upgraded:
activity-log-manager-common activity-log-manager-control-center adium-theme-ubuntu alacarte
alsa-base app-install-data-partner appmenu-gtk appmenu-gtk3 apport apport-gtk
......................

8. Apt-get, установка или обновление пакетов

Что-бы установить или обновить пакет, используется команда install, с указанием имени пакета.
# apt-get install pkg1 pkg2 ...

9. Apt-get, установка или обновление нескольких пакетов

Что-бы установить или обновить несколько пакетов, так-же используется команда install, но с перечечислением имен нужных пакетов.
# apt-get install nethogs goaccess

10. Apt-get, установка нескольких пакетов с использованием маски

Можно установить несколько пакетов, заменив часть имени символом маски "*":
# apt-get install '*name*'

11. Apt-get, установка пакета без обновления

Что-бы предотвратить обновление пакета если он уже установлен в систему, можно использовать ключ --no-upgrade
# apt-get install pkg_name --no-upgrade

12. Apt-get, обновление конкретных пакетов

При указании ключа --only-upgrade, apt-get обновит только установленные пакеты, установка новых пакетов при этом будет отключена:
# apt-get install pkg_name --only-upgrade

13. Apt-get, установить пакет определенной версии

Что-бы установить пакет только определенной версии, укажите имя пакета и версию, разделив их знаком "="
# apt-get install vsftpd=2.3.5-3

14. Apt-get, удалить пакет оставив файлы конфигурации

Что-бы удалить пакет не удаляя при этом файлы конфигурации, используется команду remove:
# apt-get remove vsftpd

15. Apt-get, полностью удалить пакет

Удалить пакет вместе со всеми его файлами конфигурации, используется команда purge:
# apt-get purge vsftpd
......................
Purging configuration files for vsftpd ...
Кроме того, можно комбинировать remove и purge в одной команде:
# apt-get remove --purge vsftpd

16. Apt-get, освободить место на диске

Что-бы освободить некоторое количество дискового пространства, можно удалить из локального репозитария скачанные deb пакеты:
# apt-get clean

17. Apt-get, скачать только исходный код пакета

Что-бы скачать исходный код определенного пакета, используется ключ --download-only source с именем соответствующего пакета:
# apt-get --download-only source vsftpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 216 kB of source archives.
Get:1 http://mirror.mephi.ru/debian/ wheezy/main vsftpd 2.3.5-3 (dsc) [1,125 B]
Get:2 http://mirror.mephi.ru/debian/ wheezy/main vsftpd 2.3.5-3 (tar) [188 kB]
Get:3 http://mirror.mephi.ru/debian/ wheezy/main vsftpd 2.3.5-3 (diff) [26.9 kB]
Fetched 216 kB in 0s (252 kB/s)
Download complete and in download only mode

18. Apt-get, скачать и распаковать пакет

Что-бы скачать исходный код пакета и распаковать его в определенную директорию, используйте:
apt-get source vsftpd

19. Apt-get, скачать, распаковать и скомпилировать пакет

Можно скачать, распаковать и скомпилировать пакет одной командой:
# apt-get --compile source vsftpd

20. Apt-get, скачать пакет без установки

Можно скачать пакет без его установки, достаточно использовать команда download и имя пакета:
# apt-get download nload
Get:1 Downloading nload 0.7.4-1 [64.2 kB]
Fetched 64.2 kB in 4s (15.1 kB/s)

21. Apt-get, посмотреть список изменений пакета

Что-бы посмотреть список изменений в пакете, нужно использовать команда changelog:
# apt-get changelog nload
Get:1 Changelog for nload (http://packages.debian.org/changelogs/pool/main/n/nload/nload_0.7.4-1/changelog) [4,766 B]
Fetched 4,766 B in 0s (4,860 B/s)
nload (0.7.4-1) unstable; urgency=low

  * [29fb6c5] Imported Upstream version 0.7.4
    - Fixed incorrect output with amd64 kernel (Closes: #651848)

22. Apt-get, проверить сломанные зависимости

Для проверки сломанных зависимостей пакета используется команда check:
# apt-get check nload
Reading package lists... Done
Building dependency tree
Reading state information... Done

23. Apt-get, найти и установить зависимости пакета

Найти и установить зависимости пакета можно с помощью команды build-dep, apt-get просмотрит локальный репозитарий и установит зависимости пакета:
# apt-get build-dep nload
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
  debhelper diffstat gettext html2text intltool-debian libgettextpo0 libunistring0 po-debconf quilt
0 upgraded, 9 newly installed, 0 to remove and 81 not upgraded.
Need to get 4,024 kB of archives.
After this operation, 10.8 MB of additional disk space will be used.
Do you want to continue [Y/n]? Y

24. Apt-get, автоматически очистить кэш

Команда autoclean удаляет все deb файлы в папке /var/cache/apt/archives, тем самым освобождая место на диске
# apt-get autoclean

25. Apt-get, автоматически удалить пакет

Команда autoremove позволяет удалить пакеты которые были установлены для разрешения зависимостей других пакетов и в данный момент больше не нужны. В примере ниже будет удален пакет со всеми зависимостями:
# apt-get autoremove nload
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
  nload
0 upgraded, 0 newly installed, 1 to remove and 81 not upgraded.
After this operation, 145 kB disk space will be freed.
Do you want to continue [Y/n]?
(Reading database ... 58743 files and directories currently installed.)
Removing nload ...
Processing triggers for man-db ...
Здесь приведены варианты команд, которые используются наиболее часто, но далеко не все. Более полную информацию можно получить в официальной документации.
# man apt-get
# man apt-cache
Удачи.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
  .oooooo..o    .oooooo.      ooooooooo    .oooo.     o8o             
d8P' `Y8 d8P' `Y8b d"""""""8' .dP""Y88b `"'
Y88bo. 888 .8' ]8P' oooo .ooooo.
`"Y8888o. 888 .8' .d8P' `888 d88' `"Y8
`"Y88b 888 ooooo .8' .dP' 888 888
oo .d8P `88. .88' .8' .oP .o 888 888 .o8
8""88888P' `Y8bood8P' .8' 8888888888 o888o `Y8bod8P'


Введите код, изображенный в стиле ASCII-арт.