SuSE 10.2: zypper - еще один способ установки пакетов

diesel

2008-01-16

Недавно промелькнула новость о том, что из грядущей SuSE 10.3 будет удален ZENworks Managment Daemon(zmd). zmd, для большей части обычных пользователей - это та штука, которая заставляет глубоко задуматься yast, когда вы открываете диалог установки программ. Для большей же части пользователей, наиболее традиционным способом установки программ является установка через соответствующий диалог yast'а. Диалог достаточно удобный и хорошо визуализирует то, что вы пытаетесь сделать. Вот только, если надо просто поставить xmms, или другую подобную мелочь, такой способ установки превращается в долгий и утомительный. Вот другой способ для "мелких" установок, с помощью консольной утилиты zypper. zypper -h выводит короткий хэлп по опциям:

Options:
     --help, -h              Help
     --version,-V            Output the version number
     --verbose,-v            Increase verbosity
     --terse,  -t            Terse output for machine consumption
     --table-style,-s        Table style (integer)
     --rug-compatible,-r     Turn on rug compatibility
Commands:
     help                    Help
     shell, sh               Accept multiple commands at once
     install, in             Install packages or resolvables
     remove, rm              Remove packages or resolvables
     search, se              Search for packages matching a pattern
     service-list, sl        List services aka installation sources
     service-add, sa         Add a new service
     service-delete, sd      Delete a service
     service-rename, sr      Rename a service
     refresh, ref            Refresh all installation sources
     patch-check, pchk       Check for patches
     patches, pch            List patches
     list-updates, lu        List updates
     update, up              Update packages
     info, if                Show full info for packages
     patch-info              Show full info for patches
 

На первый взгляд, не много, но давайте попробуем установить что-нибудь, например в свежеустановленной SuSE не хватает "нормальной" xine-lib, способной "играть" mp3, и "показывать" все видео. Традиционным решением проблемы является добавление репозиториев от packman и установка соответствующих пакетов из этих репозиториев. За добавление репозитория у zypper отвечает команда "sa". Смотрим хэлп для нее:

beezir:~ # zypper -h sa

service-add [options] URI [alias]

Add a service (installation source) to the system.

Command options: --repo,-r Read the URL and alias from a file (even remote) --type,-t Type of repository (YaST, YUM, or Plaindir) --disabled,-d Add the service as disabled --no-refresh,-n Do not automatically refresh the metadata

ОК. Типа репозитория я не знаю, остальные опции, вроде, еще более ненужные, поэтому делаем просто:

beezir:~ # zypper sa http://packman.mirrors.skynet.be/pub/packman/suse/10.2

Determining http://packman.mirrors.skynet.be/pub/packman/suse/10.2 source type... http://packman.mirrors.skynet.be/pub/packman/suse/10.2 is type YUM Do you want to trust key id 45A1D0671ABD1AFB PackMan Project (signing key) fingerprint:F8875B880D518B6B8C530D1345A1D0671ABD1AFB ? [y/n]: y Import key 45A1D0671ABD1AFB in trusted keyring? [y/n]: y Added Installation Sources: [x]* http://packman.mirrors.skynet.be/pub/packman/suse/10.2 (http://packman.mirrors.skynet.be/pub/packman/suse/10.2)

После выяснения типа репозитория, zypper задумывается на некоторое время (я так понимаю, скачивает список пакетов и прочую мета-информацию), после чего появляются вопросы касательно "доверия" этому источнику установки.

ОК. Репозиторий мы добавили. Теперь надо найти, как в нем называется эта самая libxine:

beezir:~ # zypper se xine

Restoring system sources... Parsing metadata for 20070520-174005... Parsing metadata for 20070520-174057... Parsing metadata for http://packman.mirrors.skynet.be/pub/packman/suse/10.2... Parsing metadata for 20070520-174026... S | Catalog | Type | Name | Version | Arch --+--------------------------------------------------------+---------+---------------------------+---------------+----- i | 20070520-174005 | package | amarok-xine | 1.4.4-28 | i586 i | 20070520-174057 | package | amarok-xine | 1.4.4-28 | i586 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | gxine | 0.5.11-0.pm.0 | i686 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | gxine | 0.5.11-0.pm.0 | i586 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | gxine-browser-plugin | 0.5.11-0.pm.0 | i586 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | gxine-browser-plugin | 0.5.11-0.pm.0 | i686 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | jftpgw-xinetd | 0.13.5-0.pm.1 | i586 | 20070520-174005 | package | kdemultimedia3-video-xine | 3.5.5-30 | i586 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | kdemultimedia3-video-xine | 3.5.5-31.pm.0 | i586 | 20070520-174057 | package | kdemultimedia3-video-xine | 3.5.5-30 | i586 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | libxine1 | 1.1.6-0.pm.0 | i686 | http://packman.mirrors.skynet.be/pub/packman/suse/10.2 | package | libxine1 | 1.1.6-0.pm.0 | i586 ....

Выбираем из таблички нужный нам libxine1, и xine-ui, и устанавливаем их.

beezir:~ # zypper in libxine1 xine-ui
Restoring system sources...
Parsing metadata for 20070520-174005...
Parsing metadata for 20070520-174057...
Parsing metadata for http://packman.mirrors.skynet.be/pub/packman/suse/10.2...
Parsing metadata for 20070520-174026...
Parsing RPM database...
Summary:
[S1:1][package]DirectFB-0.9.25-29.i586
[S3:0][package]libcaca-0.9_0.99.beta11-0.pm.0.i586
[S3:0][package]libxine1-1.1.6-0.pm.0.i686
[S3:0][package]xine-ui-0.99.5-0.pm.0.i686
[S0:0][package]xine-lib-1.1.2-39.i586
Continue? [y/n] y
Downloading: [S1:1][package]DirectFB-0.9.25-29.i586, 765.6 K(3.0 M unpacked)
Installing: [S1:1][package]DirectFB-0.9.25-29.i586
Downloading: [S3:0][package]libcaca-0.9_0.99.beta11-0.pm.0.i586, 302.5 K(1.1 M unpacked)
Installing: [S3:0][package]libcaca-0.9_0.99.beta11-0.pm.0.i586
Downloading: [S3:0][package]libxine1-1.1.6-0.pm.0.i686, 9.8 M(23.2 M unpacked)
Installing: [S3:0][package]libxine1-1.1.6-0.pm.0.i686
Downloading: [S3:0][package]xine-ui-0.99.5-0.pm.0.i686, 2.1 M(4.5 M unpacked)
Installing: [S3:0][package]xine-ui-0.99.5-0.pm.0.i686
  

Вот, примерно так, все достаточно просто. Не смотря на то, что все это выполняется с присущей SuSE-шному пакетному менеджменту медлительностью, но все-равно быстрее, чем, скажем, если это делать через yast.

Вот так, в очередной раз, забрел в СуСЕ.