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 saservice-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.2Determining 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 xineRestoring 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.
Вот так, в очередной раз, забрел в СуСЕ.