понедельник, 21 мая 2007 г.

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

Недавно промелькнула новость о том что из грядущей 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 :).

Вот так в очередной раз забрел в СуСЕ :-)

3 комментария:

fixx комментирует...

а как же дебьян?=)

diesel комментирует...

debian - это само собой :) часто приходится иметь дело с SuSE, поэтому иногда в нее заглядываю. фактически на "десктопах" обычно установлены обе системы :)

phpism комментирует...

Ну вот.... обе системы :)
Дожили...
помнятся времена когда у пользователей было две системы - одна Линукс другая ХРюша.
А теперь то все иначе оказывается!
Ну... туда виндам и дорога!