Dpkg как найти пакет

менеджер пакетов dpkgОперационная система Debian Linux, является прародителем для целого ряда различных дистрибутивов linux, таких как Knoppix, Kali, Ubuntu, Mint, и т.д. Дистрибутивы linux на базе Debian, используют различные инструменты для работы с пакетами, такие как: dpkg, apt, aptitude, synaptic, tasksel, deselect, dpkg-deb и dpkg-split. Коротко о каждом из них:

  • AptAdvanced Package Tool. Данный инструмент работает с deb архивами из источников, указанных в файле конфигурации /etc/apt/sources.list.
  • Читать так-же: Часто используемые команды apt-get и apt-cache

  • Aptitude — инструмент для управления пакетами из командной строки. По сути является внешним интерфейсом для инструмента apt, облегчает работу с пакетами.
  • Synaptic — графический пакетный менеджер, позволяет легко устанавливать, обновлять и удалять пакеты даже новичкам.
  • Tasksel — позволяет пользователю устанавливать все соответствующие пакеты, относящиеся к определенной задаче.
  • Deselect — менеджер пакетов работающий через псевдо-меню, в настоящий момент заменен aptitude.
  • Dpkg-deb — работает с файлами архивов Debian.
  • Dpkg-split — утилита для разделения и объединения файлов больших файлов.

Dpkg — основная программа управления пакетами в Debian linux и производных дистрибутивах. Он используется для установки, сборки, удаления и управления пакетами. Aptitude является основным интерфейсом для dpkg.

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

1. Dpkg, установка пакета

Для установки .deb пакета используется ключ -i:

# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree.
(Reading database ... 465729 files and directories currently installed.)
Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ...
Setting up flashplugin-nonfree (1:3.2) ...
............................

2. Dpkg, список установленных пакетов

Что-бы посмотреть установленные пакеты, используется ключ -l:

# 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                Desc ...
+++-=============================================-==================== ...
ii  acpi               1.6-1               amd64  displays information ...
ii  acpi-support-base  0.140-5+deb7u3      all    scripts for handling ...
ii  acpid              1:2.0.16-1+deb7u1   amd64  Advanced Configurati ...

Что-бы узнать установлен-ли конкретный пакет, нужно указать его имя:

# dpkg -l nginx
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                Desc ...
+++-=============================================-==================== ...
ii  nginx         1.8.0-1~wheezy          amd64       high performance ...

3. Dpkg, удалить пакет

Для удаления .deb пакета используется ключ -r (remove) с указанием имени пакета, например «flashpluginnonfree«, полное название «flashplugin-nonfree_3.2_i386.deb«, указывать не обязательно.

# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.) 
Removing flashpluginnonfree ... 
Processing triggers for man-db ... 
Processing triggers for menu ... 
...........................

Ключ -r позволяет удалить только сам пакет, что-бы удалить пакет вместе с файлами конфигурации, вместо -r, используйте ключ -P (purge):

# dpkg -P flashpluginnonfree

4. Dpkg, посмотр содержимого пакета

Что-бы посмотреть содержимое пакета, используется ключ -c (content):

# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root         0 2012-12-14 22:54 ./
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/lib/
............................

5. Dpkg, проверить, установлен пакет или нет

Для этого используется ключ -s (status)

# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree
Status: install ok installed
Priority: optional
.............................

6. Dpkg, куда установлены файлы пакета

Что-бы посмотреть расположение, установленных пакетом файлов, используйте ключ -L:

# dpkg -L mysql-common
/.
/usr
/usr/share
/usr/share/doc
............................

7. Dpkg, установить все пакеты из конкретной директории

Что-бы рекурсивно обойти указанную директорию и ее поддиректории, устанавливая все файлы *.deb, используйте ключи -R и —install. Следующая команда установит все *.deb файлы из директории debpackages:

# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replacement flashplugin-nonfree ...
Setting up flashplugin-nonfree (1:3.2) ...
............................

8. Dpkg, распаковать пакет, не конфигурируя его

Для распаковки пакета используется опция —unpack, при этом не будет выполняться конфигурирование или установка:

# dpkg --unpack flashplugin-nonfree_3.2_i386.deb

9. Dpkg, конфигурирование распакованного пакета

Опция —onfigure выполнит переконфигурацию уже распакованного пакета

# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...

10. Dpkg, обновить информации о доступности пакета

Опция —update-avail обновляет устаревшую информацию о доступности пакета в файле пакетов:

# dpkg –-update-avail package_name

11. Dpkg, удаление информации о доступности пакетов

Опция —clear-avaial удалит текущую информацию о доступности пакетов

# dpkg –-clear-avail

12. Dpkg, забыть удаленные и неиспользуемые пакеты

Что-бы система «забыла» удаленные и неиспользуемые пакеты, служит опция —forget-old-unavail:

# dpkg --forget-old-unavail

13. Лицензия dpkg

# dpkg --licence

14. Версия dpkg

# dpkg --version
Debian `dpkg' package management program version 1.16.16 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

15. Получение краткой справки

# dpkg --help
Usage: dpkg [

Ну и как обычно, крайне желательно к прочтению:

# man dpkg

Удачи.

Время на прочтение
3 мин

Количество просмотров 286K

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

Краткая справка Debian администратора

Основное и общеизвестное

Получение информации о новых/обновлённых пакетах

sudo aptitude update

Обновление

sudo aptitude safe-upgrade

Поиск пакета по именам пакетов

aptitude search key_word

Поиск пакета по точному названию

aptitude search "^name$"

Поиск по описанию

aptitude search "?description("key_word")"

Информация о пакете

aptitude show package_name

Установка

sudo aptitude install package_name

Удаление

sudo aptitude remove package_name

Полное удаление (вместе с конфигами)

sudo aptitude purge package_name

Очистить кэш загруженных пакетов (освободить место)

aptitude autoclean # удалятся только пакеты неактуальных версий
aptitude clean # очистится весь кэш

Установка отдельно скачанного/созданного пакета (для создания пакета из сторонних исходников нужно использовать утилиту checkinstall с флагом -D)

sudo dpkg -i /path/to/package.deb

Для получения доп информации

man aptitude
sudo aptitude install aptitude-doc-en

и смотрим документацию (/usr/share/doc/aptitude/html/en/index.html), кому быструю справку по поисковым шаблонам, тому сюда — /usr/share/doc/aptitude/html/en/ch02s04.html. Если лень ставить доку, то в сети она есть.
Вводная на Debian Wiki: wiki.debian.org/Aptitude

А теперь то что не очевидно или требует полного прочтения документации

1. Как после update посмотреть какие пакеты будут обновлены?

aptitude search ?upgradable

также можно юзать (если поставить)

sudo daptup

но после его установки точно также будет себя вести и обычный update

2. Как узнать что изменилось в пакетах которые будут обновлены?
Можно пробовать

sudo aptitude changelog package_name

для каждого пакета.
Но лучше поставить apt-listchanges, тогда перед любой установкой обновлений будет показан список изменений, по умолчанию настройки не очень удобные, поэтому лучше перенастроить под себя, например, выбрать формат вывода (пока использую текст, при больших обновлениях наверно pager лучше), не слать писем, спрашивать подтверждения, выводить всю информацию. Для этого нужно запустить

sudo dpkg-reconfigure apt-listchanges

3. Что делать если обновление что-то поломало и нужно откатиться?
Отката нет, можно попробовать найти предыдущую версию пакета

sudo aptitude version package_name

и установить её

sudo aptitude install package_name=version

4. Как найти все пакеты установленные вручную?
есть вариант команды (aptitude search ‘~i!~M’), но к сожалению он не даёт желаемого результата, так что вопрос остаётся открытым, есть куча способов основанных на анализе логов

/var/log/aptitude (+ ротированные куски)
/var/log/installer/initial-status.gz
/var/log/dpkg.log (+ ротированные куски)

но простого и готового решения нет, да информация теоретически может быть потеряна при ротациях, нужно конфигурить

5. Как посмотреть список файлов в пакете?
если пакет установлен

dpkg -L package_name

для любых пакетов поставить apt-file и

apt-file list package_name

6. Как посмотреть какому пакету принадлежит файл?

dpkg -S file_name

7. Как удалить все пакеты, где есть key в названии пакета?

sudo aptitude purge ~ikey

8. Как удалить оставшиеся конфиги от удалённых пакетов?

sudo aptitude purge ~c

9. Как найти пакет пакет, в котором содержится файл lib.so:

apt-file search lib.so

10. Как сконвертировать rpm пакет в deb?

alien --to-deb /path/to/file.rpm

11. Как найти список установленных ядер?

dpkg --list linux-* | grep ii

12. Как установить пакет из testing или experimental?
На эту тему нужно писать отдельно (например так), но если кратко, то команды для этого есть

sudo aptitude -t testing package_name

или

sudo aptitude package_name/testing

13. Как удалить метапакет, но оставить одну из зависимостей?
придётся почитать документацию про ключ unmarkauto или глянуть сюда.

14. Как узнать что попало в файловую систему мимо системы управления пакетами?
Есть утилита cruft, хотя вопрос интерпретации результатов (файла report) пока открыт

sudo cruft -d / -r report --ignore /home --ignore /var --ignore /tmp

15. Какие есть дополнительные репозитории?
Debian — wiki.debian.org/UnofficialRepositories
Ubuntu — множество всяких PPA

16. Что есть ещё?
apt-cdrom
apt-spy
auto-apt. заметка на хабре
apt-key
apt-add-repository
Некоторые вещи умеет только apt-get
Есть альтернативные утилиты для управления пакетами, например wajig, который пытается вобрать в себя функционал всех остальных утилит.

17. Как найти пакеты зависящие от данного

apt-cache rdepends package_name

также может пригодится

aptitude why package_name

Благодарю всех кто помог своими советами в рассылке, жж (JackYF) и хабре ( run4way, sledopit, nazarpc, AgaFonOff, amarao, traaance, adrianopol, Karamax). Замечания и дополнения приветствуются.

Introduction

dpkg in Linux is the primary package manager for Debian and Debian-based systems, such as Ubuntu. The tool installs, builds, removes, configures, and retrieves information for Debian packages. The command works with packages in .deb format.

This guide explores the dpkg command syntax and options through various examples.

dpkg Command in Linux With Examples

Prerequisites

  • A system with a Debian or a Debian-based OS.
  • Access to the command line/terminal as sudo.
  • A .deb file to work with the examples.

dpkg Command Syntax

The basic syntax for the dpkg command is:

dpkg [options] action

The command accepts one action and zero or more options.

The dpkg command acts as a front-end for the following two tools:

1. The dpkg-deb command, which shows information about .deb packages.

2. The dpkg-query command, which shows the information from the dpkg database.

The dpkg command runs actions from dpkg-query and dpkg-deb. Therefore, the following two commands show the same result:

dpkg -l
dpkg-query -l

The action -l is a dpkg-query action that lists all packages from the dpkg database. The dpkg command detects the foreign options and runs dpkg-query automatically.

dpkg Command Options

The table below provides brief descriptions of commonly used options and actions for the dpkg command.

Syntax Type Description
-i <package.deb>
--install <package.deb>
Action Installs the package.
--unpack <package.deb> Action Unpacks the package without configuration.
--configure <package> Action Configures an unpacked package.
-r <package>
--remove <package>
Action Removes an installed package. Does not remove configuration files and other data.
-P <package>
--purge <package>
Action Purges an installed or removed package. Deletes configuration files and other data.
--get-selections Action Fetches packages with current selections.
--set-selections Action Sets file selection states from a file read from standard input.
-b <directory>
--build <directory>
Action
(from dpkg-deb)
Builds a .deb package.
-c <package.deb>
--contents <package.deb>
Action
(from dpkg-deb)
Lists package contents.
-I <package.deb>
--info <package.deb>
Action
(from dpkg-deb)
Shows information about a package.
-l <pattern>
--list <pattern>
Action
(from dpkg-query)
Lists packages by matching the pattern.
-L <package>
--listfiles <package>
Action
(from dpkg-query)
List installed package’s file locations.
-s <package>
--status <package>
Action
(from dpkg-query)
Shows the status of an installed package.
-S <pattern>
--search <pattern>
Action
(from dpkg-query)
Search for a pattern in installed packages.
-R
--recursive
Option Handles action recursively in target directory and subdirectories.
--log=<file> Option Logs status change updates to a file.
--no-act
--dry-run
--simulate
Option Shows output without committing changes. Use before action.

Actions that change the system, such as package installation or removal, require sudo privileges. Information-based options do not require special user privileges.

Privileged access management helps secure the system by disallowing regular users to make system-wide changes.

If you have a .deb package, continue to the examples below. If not, download a simple .deb package for testing, such as the cowsay command-line gimmick.

To get the file, run the following:

wget http://archive.ubuntu.com/ubuntu/pool/universe/c/cowsay/cowsay_3.03+dfsg2-4_all.deb
wget cowsay terminal output

Confirm the .deb file downloaded by listing directory contents with the ls command:

ls -l *.deb
ls deb package terminal output

The output shows the .deb package.

Install Package

Install a Debian package with the dpkg command and the -i or --install tag:

sudo dpkg -i <package.deb>

For example:

sudo dpkg -i cowsay_3.03+dfsg2-4_all.deb
sudo dpkg -i terminal output

The command requires sudo to install a .deb package.

List Known Packages

To list all known packages, use the -l tag:

dpkg -l

dpkg -l terminal output

The command prints the packages in pager mode. Navigate using the arrow keys or use space to list by page. Press q to exit the list. The columns list each package’s name, version, architecture, and description.

Note: Pager modules, such as the less command, help display long outputs page by page.

The first three columns provide a complete overview of the package status:

1. Action selection:

  • u — Unknown
  • i — Install
  • h — Hold
  • r — Remove
  • p — Purge

2. Package status:

  • n — Not installed
  • c — Config files
  • H — Half installed
  • U — Unpacked
  • F — Half configured
  • W — Awaiting triggers
  • t — Pending triggers
  • i — Installed

3. Error flags:

  • R — Reinstallation required
  • <empty> — No errors

Therefore, a package status «ii » means dpkg successfully installed the package selected for installation without errors.

To fetch a specific instance from the list, use:

dpkg -l <package>

For example:

dpkg -l cowsay
dpkg -l specific package terminal output

To list multiple packages, separate each package name with a space.

Remove Package

To remove a Debian package, use the following command:

dpkg -r <package>

For example, to remove the cowsay package, use:

sudo dpkg -r cowsay
dpkg -r terminal output

The -r option does not remove the configuration files. Use this option when removing software for reinstallation.

Purge Package

To purge a package, use the -P option:

sudo dpkg -P <package>

For example:

sudo dpkg -P cowsay
sudo dpkg -P terminal output

The command removes a package along with any configuration files. Use purge to remove a program from the system altogether.

Show Package Contents

A .deb package contains several files and directories, indicating where the package resides after installation or unpacking.

To display the package contents, run:

dpkg -c <package.deb>

For example:

dpkg -c cowsay*
files and directories in the .deb package file

The output shows all the files and directories in the .deb package file. The example package resides in /usr/games/ and /usr/share/ after installation or unpacking.

Unpack Package

To unpack the package without configuration, use:

sudo dpkg --unpack <package.deb>

For example:

sudo dpkg --unpack cowsay*
sudo dpkg --unpack terminal output

The command unpacks all the files from the package.

Configure Package

To configure an unpacked .deb package or reconfigure an installed package, use:

dpkg --configure <package>

For example:

sudo dpkg --configure cowsay
sudo dpkg --configure terminal output

Unpacking and configuring a Debian package divides the installation process into two steps.

Check If the Package Installed

To check whether a package is installed, use the -s tag:

dpkg -s <package>

For example:

dpkg -s cowsay
dpkg -s terminal output

The Status line shows whether a package is installed.

Show Package Information

To show package information directly from the .deb file, use the following command:

dpkg -I <package.deb>

For example:

dpkg -I cowsay*
dpkg -I terminal output

The command shows package information, such as the size, dependencies, and documentation references. Use this method to check package information before installing a package.

Install All Packages from a Directory

Use the -R option before -i to install packages recursively:

dpkg -R -i <directory>

sudo dpkg -R -i terminal output

The command installs all packages located in the directory and any subdirectories. If multiple instances of the same package unpack, only one configuration occurs.

List Installed Package Files’ Locations

To list the package files and their location, use the -L tag:

dpkg -L <package>

For example:

dpkg -L cowsay
dpkg -l list files terminal output

The output lists all the file directories and file locations.

Get Package Selections

To fetch the package names by selection, use:

dpkg --get-selections
dpkg --get-selections terminal output

The list shows package names and the selection marking.

List Installed Packages

To fetch a list of installed packages, use the following command:

dpkg --get-selections | grep -v "deinstall" | awk '{ print $1 }'

dpkg get selectionsinstalled packages terminal output

The command does the following:

  • grep filters out packages marked "deinstall".
  • awk prints only the first column with the package names.

Use this method when you require a list of installed programs.

Set Package Selections

Set the package selection for a package in the following format:

echo <package> <state> | dpkg --set-selections

The command expects the package state as standard input. The possible conditions are:

  • install
  • hold
  • deinstall
  • purge
  • unknown

For example, to stop a package from updating, use:

echo cowsay hold | sudo dpkg --set-selections

The package is in a hold state, meaning the program receives no automatic updates.

Search Package Containing Files

To find a package containing a file, use the -S option:

dpkg -S <pattern>

For example, search for apt-get:

dpkg -S apt-get
dpkg -s apt-get terminal output

The output shows apt-get belongs to the apt package.

Alternatively, search for a specific file. For example:

dpgk -S gnu.cow
dpkg -s file terminal output

The output shows the file belongs to the cowsay package.

Compare Versions

The dpkg command offers a tool for comparing program version numbers. The syntax is:

dpkg --compare-versions <version number> <comparison operator> <version number>

The possible comparison operators are:

  • lt — Strictly less than
  • le — Less than or equal to
  • eq — Equal
  • ne — Not equal
  • ge — Greater than or equal to
  • gt — Strictly greater than

dpkg returns 0 (success) for a correct comparison and a non-zero value for failure.

For example, compare the following version numbers:

dpkg --compare-versions 1.2-3 gt 1.1-4
echo $?
dpkg --compare-versions terminal output

The command returns 0, indicating the first version number is greater than the second.

Multi-Architecture Support

All Debian packages contain supported architecture information. The restriction ensures the system does not end up with binaries for an incorrect architecture.

Some architectures support different architectures natively. For example, an amd64 (a 64-bit system) supports i386 (a 32-bit system) installations.

The dpkg command matches the host’s architecture. Fetch the information with:

dpkg --print-architecture
dpkg --print-architecture terminal output

To see the foreign architecture support, use:

dpkg --print-foreign-architectures
dpkg --print-foreign-architecture terminal output

To add or remove architecture support, use:

sudo dpkg --add-architecture <architecture name>
sudo dpkg --remove-architecture <architecture name>

In both cases, the foreign architectures list updates with the changes immediately.

Check dpkg Command Version

To check which dpkg version the system is running, use:

dpkg --version
dpkg --version terminal output

The output shows the dpkg version along with the architecture.

Print Help

To show a simple help menu, use the following command:

dpkg --help 
dpkg --help terminal output

Use the man command to find find the complete documentation.

Conclusion

After following the examples from this tutorial, you should master the basics of the dpkg command.

Next, try the more modern apt package manager, which searches through the official repositories for packages.

������������� ��������� ��� �� ������������ ��������� (no-force
—refuse �������� ���� � �� ��) �� ��� ���� ����. things — ��� ������
����� ������� ��������� ��������� �����). —force-help ������ ���������,
����������� ��. ��������, ������������ �ף������� (*), �������������
����������� �� ���������.

��������������: ��� ��������� ������������� ������ ��� �������������
����������. ������������� ��� ������� ��������� �� �������� ����� ��������
����������������� ���� �������.

all: Turns on (or off) all force options.

downgrade(*): ���������� �����, ���� ���� ��� ����������� ��� ����� �����
������.

��������������: �� ������ ������ dpkg �� ��������� �������� ������������
��� �������� �� ����� ������ ������ � ������� �� ����������� ���� ���
�������� ����������� � ���������� ��������. ��� ����� ����� ���أ����
�����������: ������ �� ����� ������ ������ ��������� ����������� ������
������������� ����� �������� � ������ �������������������
�������. ������������ ���������.

configure-any: ��������� ����� ��� �������������, �� �������������
������, �� ������� ������� ������� �����.

hold: ������������ ���� ������, ���������� ��� «���������������».

remove-reinstreq: ������� �����, ���� ���� �� ������ � ������� ���
��������� �������������. ��� �����, ��������, �������� � ����, ��� �����
������ ��������� � �������, � dpkg ��� ��� �������.

remove-essential: �������, ���� ���� ��� ����� ������ �������������
(����� ��������� «Essential»). ��� ������ � �������� �������� �������
������� Unix. �������� ������ ������ ����� �������� � ������
����������������� �������, ��� ��� ����������� ������ �������� ���������.

depends: ���������� �������� � ������������� � ��������������.

depends-version: �� �������� �������� �� ������ ��� ��������
������������.

conflicts: ����������, ���� ���� ����� ����������� � ������ �������. ���
������, ��� ��� ������ �������� � ���������� ��������� ������.

confmiss: ������ ������������� ����������� ���������������� ����. ���
������, ��� ��� �� ����� ��������� ��������� (��������) �����.

confnew: ���� ���������������� ���� ��� �����, �� ������ �������������
����� ������ ��� ������� �������������, ���� �� ����� ����� ��������
—force-confdef, ��� ������� ������������ �������� �������� �� ���������.

confold: ���� ���������������� ���� ��� �����, ������ ��������� ������
������ ��� ������� �������������, ���� �� ����� ����� ��������
—force-confdef, ��� ������� ������������ �������� �������� �� ���������.

confdef: ���� ���������������� ���� ��� �����, ������ �������� ��������
�� ���������. ���� �������� ���, �� �������� � ������������, ���� �� �����
�������� —force-confnew ��� —force-confold (� ���� ������
��������������� �������� ������������ ��� ���������, ��� ������ �����
������).

overwrite: ������������ ���� �� ������ ������ ������ �� ������� ������.

overwrite-dir: ������������ ������� �� ������ ������ ������ �� �������.

overwrite-diverted: ������������ ���� � ��������
�������������(diverted) ��� ���������� �������.

architecture: ������������ ���� ������ � ������������ ������������.

bad-path: � PATH ����������� ������ ���������, ������� �����
���������� ��������.

not-root: ���������� ���������� ��� ������� �����, ���� ���� �� ��� ����
�����������������.

bad-verify: ������������� �����, ���� ���� �� �� ���ۣ� ��������
�����������.

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

Работа с пакетами при помощи dpkg

Dpkg — основная программа управления пакетами в Debian linux и производных дистрибутивах. Он используется для установки, сборки, удаления и управления пакетами. Aptitude является основным интерфейсом для dpkg.

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

1. Dpkg, установка пакета

Для установки .deb пакета используется ключ -i (--install):

# dpkg -i flashpluginnonfree_2.8.2+squeeze1_i386.deb
Selecting previously unselected package flashplugin-nonfree.
(Reading database ... 465729 files and directories currently installed.)
Unpacking flashplugin-nonfree (from flashplugin-nonfree_3.2_i386.deb) ...
Setting up flashplugin-nonfree (1:3.2) ...
............................

2. Dpkg, список установленных пакетов

Чтобы посмотреть установленные пакеты, используется ключ -l (--list):

# dpkg -l
Desired=Unknown/Install/Rcodeove/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                Desc ...
+++-=============================================-==================== ...
ii  acpi               1.6-1               amd64  displays information ...
ii  acpi-support-base  0.140-5+deb7u3      all    scripts for handling ...
ii  acpid              1:2.0.16-1+deb7u1   amd64  Advanced Configurati ...

Чтобы узнать установлен-ли конкретный пакет, нужно указать его имя:

# dpkg -l nginx
Desired=Unknown/Install/Rcodeove/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                Desc ...
+++-=============================================-==================== ...
ii  nginx         1.8.0-1~wheezy          amd64       high performance ...

3. Dpkg, удалить пакет

Для удаления .deb пакета используется ключ -r (--remove) с указанием имени пакета, например flashpluginnonfree, полное название flashplugin-nonfree_3.2_i386.deb, указывать не обязательно.

# dpkg -r flashpluginnonfree
(Reading database ... 142891 files and directories currently installed.) 
Rcodeoving flashpluginnonfree ... 
Processing triggers for man-db ... 
Processing triggers for menu ... 
...........................

Ключ -r позволяет удалить только сам пакет, чтобы удалить пакет вместе с файлами конфигурации, вместо -r, используйте ключ -P (purge):

# dpkg -P flashpluginnonfree

4. Dpkg, просмотр содержимого пакета

Чтобы посмотреть содержимое пакета, используется ключ -c (--contents):

# dpkg -c flashplugin-nonfree_3.2_i386.deb
drwxr-xr-x root/root         0 2012-12-14 22:54 ./
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/bin/
drwxr-xr-x root/root         0 2012-12-14 22:54 ./usr/lib/
............................

5. Dpkg, проверить, установлен пакет или нет

Для этого используется ключ -s (--status)

# dpkg -s flashplugin-nonfree
Package: flashplugin-nonfree
Status: install ok installed
Priority: optional
.............................

6. Dpkg, куда установлены файлы пакета

Чтобы посмотреть расположение, установленных пакетом файлов, используйте ключ -L (--listfiles):

# dpkg -L mysql-common
/.
/usr
/usr/share
/usr/share/doc
............................

7. Dpkg, установить все пакеты из конкретной директории

Чтобы рекурсивно обойти указанную директорию и ее поддиректории, устанавливая все файлы *.deb, используйте ключи -R (--recursive) и -i (--install). Следующая команда установит все *.deb файлы из директории debpackages:

# dpkg -R --install debpackages/
(Reading database ... 465836 files and directories currently installed.)
Preparing to replace flashplugin-nonfree 1:3.2 (using .../flashplugin-nonfree_3.2_i386.deb) ...
Unpacking replaccodeent flashplugin-nonfree ...
Setting up flashplugin-nonfree (1:3.2) ...
............................

8. Dpkg, распаковать пакет, не конфигурируя его

Для распаковки пакета используется опция --unpack, при этом не будет выполняться конфигурирование или установка:

# dpkg --unpack flashplugin-nonfree_3.2_i386.deb

9. Dpkg, конфигурирование распакованного пакета

Опция --onfigure выполнит переконфигурацию уже распакованного пакета

# dpkg --configure flashplugin-nonfree
Setting up flashplugin-nonfree (1:3.2) ...

10. Dpkg, обновить информации о доступности пакета

Опция --update-avail обновляет устаревшую информацию о доступности пакета в файле пакетов:

# dpkg –-update-avail package_name

11. Dpkg, удаление информации о доступности пакетов

Опция --clear-avaial удалит текущую информацию о доступности пакетов

# dpkg –-clear-avail

12. Dpkg, забыть удаленные и неиспользуемые пакеты

Чтобы система «забыла» удаленные и неиспользуемые пакеты, служит опция --forget-old-unavail:

# dpkg --forget-old-unavail

13. Лицензия dpkg

# dpkg --licence

14. Версия dpkg

# dpkg --version
Debian `dpkg' package managcodeent program version 1.16.16 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

15. Получение краткой справки

# dpkg --help

Ну и как обычно, крайне желательно к прочтению:

# man dpkg


31 марта 2020, 00:23
  
Александр

Linux

0
  
1104





0



Рейтинг лучших ортопедических матрасов.

Из этой категории

    Double Commander не распаковывает RAR-архивы
    Кодировка в текстовом редакторе Xed
    Opera не русифицируется в Linux
    Как исправить ошибку запуска VirtualBox VM в Linux
    Не могу записать ничего на ext4
    Как установить или удалить ядро ​​Liquorix Linux Mint
    13 горячих клавиш в bash Linux
    Советы и приемы настройки командной строки в Bash Linux
    Как определить папки занимающие большое пространство на диске, в Linux
    Как скопировать файлы с помощью команды ср в Linux



Понравилась статья? Поделить с друзьями:
  • Как найти сиделку в нижнем тагиле
  • Как найти мой windows phone
  • Как найти фонарь в дарк соулс
  • Как составить алгоритм в графическом виде
  • Вальхейм яглут как найти