Dpkg команда в линуксе

Команда dpkg в Linux

В Linux команда dpkg — основной менеджер пакетов таких дистрибутивов как Ubuntu. Утилита устанавливает, создаёт, удаляет, настраивает пакеты формата .deb .

Примеры использования команды Linux dpkg

  • Синтаксис
  • Параметры
  • Использование команды Linux dpkg
    • Установка пакета
    • Список установленных пакетов
    • Удаление пакетов
    • Очистка пакета
    • Проверка установки пакета
    • Установка всех пакетов из каталога
    • Список местоположений файлов установленных пакетов
    • Получение имён пакетов
    • Список установленных пакетов
    • Установка выбора пакета
    • Поиск пакета, содержащего конкретные файлы
    • Поддержка нескольких архитектур
    • Вывод версии команды dpkg
    • Вывод справки

    Синтаксис

    Параметры

    Использование команды Linux dpkg

    Действия, изменяющие систему, такие как установка или удаление пакетов, требуют привилегий sudo .

    Установка пакета

    Утилиту можно использовать для установки пакета .deb следующей командой:

    $ sudo dpkg -i имя_пакета.deb

    Список установленных пакетов

    Для вывода списка установленных пакетов утилита используется с опцией -l :

    mensh@139-162-132-20:~$ sudo dpkg -l link* Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-============-============-================================= un links  (no description available) mensh@139-162-132-20:~$ 

    Для вывода всех пакетов команда используется с опцией -l :

    mensh@139-162-132-20:~$ sudo dpkg -l Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=====================================-============================================-============-===================================> ii accountsservice 0.6.55-0ubuntu12~20.04.5 amd64 query and manipulate user account i> ii adduser 3.118ubuntu2 all add and remove users and groups ii alsa-topology-conf 1.2.2-1 all ALSA topology configuration files ii alsa-ucm-conf 1.2.2-1ubuntu0.13 all ALSA Use Case Manager configuration> ii amd64-microcode 3.20191218.1ubuntu1 amd64 Processor microcode firmware for AM> rc apache2 2.4.41-4ubuntu3.13 amd64 Apache HTTP Server ii apparmor 2.13.3-7ubuntu5.2 amd64 user-space parser utility for AppAr> ii apport 2.20.11-0ubuntu27.26 all automatically generate crash report> ii apport-symptoms 0.23 all symptom scripts for apport ii apt 2.0.9 amd64 commandline package manager ii apt-utils 2.0.9 amd64 package management related utility > ii at 3.1.23-1ubuntu1 amd64 Delayed job execution and batch pro> ii base-files 11ubuntu5.7 amd64 Debian base system miscellaneous fi> ii base-passwd 3.5.47 amd64 Debian base system master password > ii bash 5.0-6ubuntu1.2 amd64 GNU Bourne Again SHell ii bash-completion 1:2.10-1ubuntu1 all programmable completion for the bas> ii bc 1.07.1-2build1 amd64 GNU bc arbitrary precision calculat> ii bcache-tools 1.0.8-3ubuntu0.1 amd64 bcache userspace tools ii bind9-dnsutils 1:9.16.1-0ubuntu2.14 amd64 Clients provided with BIND 9 ii bind9-host 1:9.16.1-0ubuntu2.14 amd64 DNS Lookup Utility ii bind9-libs:amd64 1:9.16.1-0ubuntu2.14 amd64 Shared Libraries used by BIND 9 ii bolt 0.9.1-2~ubuntu20.04.2 amd64 system daemon to manage thunderbolt> ii bsdmainutils 11.1.2ubuntu3 amd64 collection of more utilities from F> ii bsdutils 1:2.34-0.1ubuntu9.3 amd64 basic utilities from 4.4BSD-Lite ii btrfs-progs 5.4.1-2 amd64 Checksumming Copy on Write Filesyst> ii busybox-initramfs 1:1.30.1-4ubuntu6.4 amd64 Standalone shell setup for initramfs ii busybox-static 1:1.30.1-4ubuntu6.4 amd64 Standalone rescue shell with tons o> lines 1-32

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

    Первые три столбца предоставляют полный обзор состояния пакета:

    u Неизвестный i Установить h Держать r Удалить p Очистить

    n Не установлен c Файлы конфигурации H Половина установлена U Распакованный F Наполовину настроен W Ожидание триггеров t Ожидающие триггеры i Установлен

    Для получения конкретного экземпляра из списка используется следующая команда:

    mensh@139-162-132-20:~$ sudo dpkg -l bash Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-==============-==============-============-================================= ii bash 5.0-6ubuntu1.2 amd64 GNU Bourne Again SHell mensh@139-162-132-20:~$

    Для перечисления нескольких пакетов их имена разделяются пробелом.

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

    Для удаления установленного пакета команда используется с опцией -r :

    Очистка пакета

    Для очистки пакета утилита используется с опцией -P :

    Команда удаляет пакет вместе со всеми файлами конфигурации.

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

    Проверка установки пакета

    Для проверки установки пакета команда используется с опцией -s :

    mensh@139-162-132-20:~$ sudo dpkg -s apt Package: apt Status: install ok installed Priority: important Section: admin Installed-Size: 4207 Maintainer: Ubuntu Developers Architecture: amd64 Version: 2.0.9 Replaces: apt-transport-https (= 2.0.9), ubuntu-keyring, libc6 (>= 2.15), libgcc-s1 (>= 3.0), libgnutls30 (>= 3.6.12), libseccomp2 (>= 2.4.2), libstdc++6 (>= 9), libsystemd0 Recommends: ca-certificates Suggests: apt-doc, aptitude | synaptic | wajig, dpkg-dev (>= 1.17.2), gnupg | gnupg2 | gnupg1, powermgmt-base Breaks: apt-transport-https ( mensh@139-162-132-20:~$

    Строка состояния показывает, установлен ли пакет.

    Установка всех пакетов из каталога

    Для рекурсивной установки пакетов выполняется следующая команда:

    Команда устанавливает все пакеты, расположенные в каталоге и любых подкаталогах. Если несколько экземпляров одного и того же пакета распаковываются, происходит только одна конфигурация.

    Список местоположений файлов установленных пакетов

    Для перечисления файлов пакета и их расположение утилита используется с опцией -L :

    mensh@139-162-132-20:~$ sudo dpkg -L wget /. /etc /etc/wgetrc /usr /usr/bin /usr/bin/wget /usr/share /usr/share/doc /usr/share/doc/wget /usr/share/doc/wget/AUTHORS /usr/share/doc/wget/MAILING-LIST /usr/share/doc/wget/NEWS.gz /usr/share/doc/wget/README /usr/share/doc/wget/changelog.Debian.gz /usr/share/doc/wget/copyright /usr/share/info /usr/share/info/wget.info.gz /usr/share/man /usr/share/man/man1 /usr/share/man/man1/wget.1.gz mensh@139-162-132-20:~$

    В выводе перечислены все файловые каталоги и местоположения файлов.

    Получение имён пакетов

    Для получения имён пакетов по выбору используется следующая команда:

    mensh@139-162-132-20:~$ sudo dpkg --get-selections accountsservice install adduser install alsa-topology-conf install alsa-ucm-conf install amd64-microcode install apache2 deinstall apparmor install apport install apport-symptoms install apt install apt-utils install at install base-files install base-passwd install bash install bash-completion install bc install bcache-tools install bind9-dnsutils install bind9-host install bind9-libs:amd64 install . unrar install unzip install update-manager-core install update-notifier-common install upower install usb-modeswitch install usb-modeswitch-data install usb.ids install usbmuxd install usbutils install util-linux install uuid-runtime install vim install vim-common install vim-runtime install vim-tiny install wget install whiptail install whois install wireless-regdb install xauth install xdg-user-dirs install xfsprogs install xkb-data install xxd install xz-utils install zerofree install zip install zlib1g:amd64 install mensh@139-162-132-20:~$

    В списке показаны имена пакетов и маркировка выбора.

    Список установленных пакетов

    Для получения списка установленных пакетов используется следующая команда:

    $ sudo dpkg --get-selections | grep -v "deinstall" | awk '< print $1 >'
    • grep отфильтровывает пакеты с пометкой «deinstall» ;
    • awk печатает только первый столбец с именами пакетов.

    Используйте этот метод, когда вам требуется список установленных программ.

    Установка выбора пакета

    Установка выбора пакета в следующем формате:

    $ sudo echo | dpkg --set-selections

    Команда ожидает состояние пакета в качестве стандартного ввода. Возможные условия:

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

    $ sudo echo cowsay hold | sudo dpkg --set-selections

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

    Поиск пакета, содержащего конкретные файлы

    Для поиска пакета, содержащего необходимый файл утилита запускается с опцией -S :

    Например, необходимо найти apt-get :

    mensh@139-162-132-20:~$ sudo dpkg -S apt-get apt: /usr/share/man/ja/man8/apt-get.8.gz apt: /usr/share/man/man8/apt-get.8.gz apt: /usr/share/man/pt/man8/apt-get.8.gz apt: /usr/share/man/fr/man8/apt-get.8.gz apt: /usr/share/man/it/man8/apt-get.8.gz bash-completion: /usr/share/bash-completion/completions/apt-get apt: /usr/bin/apt-get bash-completion: /usr/share/bash-completion/completions/slapt-get apt: /usr/share/man/de/man8/apt-get.8.gz apt: /usr/share/man/nl/man8/apt-get.8.gz mensh@139-162-132-20:~$

    Поддержка нескольких архитектур

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

    Некоторые архитектуры изначально поддерживают разные архитектуры. Например, amd64 (64-разрядная система) поддерживает установку i386 (32-разрядная система).

    Команда dpkg соответствует архитектуре хоста. Получить информацию можно с помощью следующей команды:

    mensh@139-162-132-20:~$ sudo dpkg --print-architecture amd64 mensh@139-162-132-20:~$

    Для добавления или удаления поддержки архитектуры используется:

    $ sudo dpkg --add-architecture $ sudo dpkg --remove-architecture

    В обоих случаях сторонние архитектуры сразу перечисляют обновления вместе с изменениями.

    Вывод версии команды dpkg

    Для проверки используемой версии dpkg выполняется следующая команда:

    mensh@139-162-132-20:~$ sudo dpkg --version Debian 'dpkg' package management program version 1.19.7 (amd64). This is free software; see the GNU General Public License version 2 or later for copying conditions. There is NO warranty. mensh@139-162-132-20:~$

    Вывод показывает версию dpkg вместе с архитектурой.

    Вывод справки

    Для отображения меню справки выполняется следующая команда:

    mensh@139-162-132-20:~$ sudo dpkg --help Usage: dpkg [ . ] Commands: -i|--install . | -R|--recursive . --unpack . | -R|--recursive . -A|--record-avail . | -R|--recursive . --configure . | -a|--pending --triggers-only . | -a|--pending -r|--remove . | -a|--pending -P|--purge . | -a|--pending -V|--verify [. ] Verify the integrity of package(s). . Comparison operators for --compare-versions are: lt le eq ne ge gt (treat empty version as earlier than any version); lt-nl le-nl ge-nl gt-nl (treat empty version as later than any version); < = >> > (only for compatibility with control file syntax). Use 'apt' or 'aptitude' for user-friendly package management. mensh@139-162-132-20:~$

    Для получения полной документации используется команда man .

    Заключение

    Из приведённой статьи понятна роль утилиты dpkg в дистрибутивах Linux, основанных на пакетах Debian.

    Эта утилита пользователям может быть очень полезна.

    Источник

    Читайте также:  To add static route in linux
Оцените статью
Adblock
detector