Управление программным обеспечением с помощью dpkg

Установка программного пакета

Команда dpkg работает только с пакетами, в то время как apt-get способы выполнять любые задачи, связанные с поиском в депозитарии, в котором хранится необходимый программный пакет, а также загрузкой пакета из этого депозитария. Чтобы вам было проще разобраться, в следующем примере мы используем команду apt-get для загрузки программного пакета, а затем dpkg для его установки, что позволит подчеркнуть отмеченную особенность команды dpkg.

Сначала с помощью apt-get загрузите файл DEB (параметр -d в команде необходим только для загрузки). 

Следующая команда загружает, но не устанавливает пакет minicom:

$ sudo apt-get -d install minicom

Fetched 168kB in Is (131kB/s)

Download complete and in download only mode

 

Таким образом, вы получили DEB-файл для установки (данная команда загружает программный пакет в папку /var/cache/apt/archives).

Затем, используя команду dpkg -i (для установки), установите загруженный DEB-файл:

$ sudo dpkg -i /var/cache/apt/archlves/m1n1com_2.2-4bu11dl_1386.deb

Selecting previously deselected package minicom, (Reading database ,,. 89127 files and directories currently installed.) Unpacking minicom (from .,./minicom_2.2-4buildl_i386.deb) 

… Setting up minicom (2.2-4bu1ldl) …

 

Удаление программного пакета

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

$ sudo dpkg -r minicom

(Reading database … 89182 files and directories currently installed.) Removing minicom …

Е

сли вы решите удалить и пакет, и его конфигурационные файлы или удалить конфигурационные файлы после удаления самого пакета, выполните следующую команду:

$ sudo dpkg -Р minicom

(Reading database … 89126 files and directories currently installed.) ‘ Removing minicom …

Purging configuration files for minicom …

 

Распаковка файлов из DEB-файла

Программные пакеты и Debian, и Ubuntu упаковываются в один DEB-архив. Каждый DEB-файл может содержать один и более файлов, из которых состоит соответствующий пакет. К этим файлам относятся предварительно подготовленная команда, файлы поддержки, документация и, возможно, исходный код. Таким образом, файл DEB, является архивом с файлами, которые устанавливаются на компьютер, а также некоторой важной и проверочной информацией, идентифицирующей 

программное обеспечение (описание, контрольные числа и т. д.). Используя команду dpkg, вы можете извлечь всю эту информацию в программный пакет.

В следующем примере извлекаются файлы из DEB-архива, находящегося в заданной папке, в пакет rsync в папку /tmp:

$ mkdir /tmp/rsynccontents

$ sudo dpkg -x rsync_2.6.9-3ubuntul.l_i386.deb /tmp/rsynccontents 

$ ls /tmp/rsynccontents/

etc usr

 

Сбор информации о программных пакетах DEB

Следующий пример показывает, как среди установленных программных пакетов найти пакет rsync и вывести на экран монитора информацию о версии 

$ dpkg -р rsync

Version: 2.6.9-3ubuntul.l

Для получения информации о DEB-архиве, находящемся в текущей папке воспользуйтесь параметром -I:

$ dpkg -I rsync_2.6.9-3ubuntul.l_i386.deb

new debian package, version 2.0.

 

Чтобы получить список всех программных пакетов, установленных в системе,выполните следующую команду:

$ dpkg -l | less

ii acpi 0.09-1 displays information on ACPI devices

 

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

$ dpkg -l rsync

ii rsync 2.6.9-3ubuntul fast remote file copy program (like rep)

Проверьте, относится ли заданный файл к программному пакету, и к какому:

$ dpkg -S /usr/bin/rsync

rsync: /usr/bin/rsync

 

В следующем примере показаны стандартные элемента установленного программного пакета:

$ dpkg -s rsync

Package: rsync

Status: install ok installed Priority: optional Section: net Installed-Size: 500

Ниже приведено содержимое DEB-архива, находящегося в локальной папке

$ dpkg -с rsync_2.6.9-3ubuntul.l_i386.deb

drwxr-xr-x root/root

0 2007-08-17 20:48  

vxr-xr-x

root/root

0 2007-08-17 20:~~

vxr-xr-x

root/root

0 2007-08-17 20:~~

vxr-xr-x

root/root

294864 2007-08-17 20:4

vxr-xr-x

root/root

0 2007-08-17 20-J

vxr-xr-x

root/root

0 2007-08-17 20:~~

 

,/usr/

./usr/bin/

./usr/bin/rsync

./usr/share/

./usr/share/doc/

 

 

В этом примере показан процесс извлечения контрольных документов из DEB-архива на локальный диск в указанную папку.

Будьте внимательны при распаковке, так как эта команда устанавливает права доступа к указанной папке посредством значения 0755 (цифра 55 указывает, что все 

пользователи, за исключением тех, у кого уже были ограничены права доступа к папке /tmp, а также большинство приложений получат неограниченные права доступа к папке /tmp). В следующем примере будет создана папка вида /tmp/my_$RANDOM для работы в ней:

$sudo dpkg -е rsync_2.6.9-3ubuntul.l_i386.deb /tmp/my_$RANDOM :

ls -Tart /tmp/my_25445/

 

total 28

-rwxr-xr-x 1

root

root

491

Aug 17 20

:rwxr-xr-x 1

root

root

110

Aug 17 20

-rwxr-xr-x 1

root

root

523

Aug 17 20

-‘.•;-r—r— 1

root

root

37

Aug 17 20

iw-r—r— 1

root

root

926

Aug 17 20

lrwxr-xr-x 2

root

root

4096

Aug 17 20

 

47 prerm 47 postrm

47

postinst

48

conffiles 48 control

 

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

sudo dpkg -х mini com_2.2 -4bui1dli 386.deb /tmp/dx_$RANDOM ls -lart /tmp/dx_4921/

ital 16

ifcr-xr-x 4  root root 4096

Mar

7

09:10 usr

«wxr-xr-x 3   root root 4096

Mar

7

09:10 etc

-.vxr-xr-x 4   root root 4096

Mar

7

09:10 .

-.vxrwxrwt 11 root root 4096

Sep

1

08:19. ..

 

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

s dpkg -L minicom

pftjsr/share S/usr/share/man /usr/share/man/manl /usr/share/man/manl/rrrinicom.l.gz 

fcusr/share/man/manl/xminicom.l.gz i/usr/share/man/manl/asci i -xf r. 1. gz

Если пакет не был полностью удален, вы увидите оставшиеся после негo конфигурационные файлы:

$ dpkg -L minicom

/etc

/etc/m1n1com

/etc/mlnicom/minicom.users

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *