Bsdadmin.ru

Записки администратора FreeBSD

Путь на сайте

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

Управление программным обеспечением с помощью 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

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