вторник, 3 января 2012 г.

Как быстро из консоли установить программу в openSUSE

Иногда так случается, что вы что-то делаете в консоли, и не установлена нужная вам программа. Скажем, по умолчанию при при установке openSUSE, Midnight Commander не ставится. Вот на его примере мы и посмотрим, как можно быстро, не покидая консоли установить программу.
Все действия производим под учётной записью суперпользователя (root).
Чтобы это сделать - надо знать название пакета. Если вы его точно не знаете можно использовать команду cnf и команда которой запускается программа.
В нашем случае это mc.
Вводим в командной строке cnf mc и получаем:

# cnf mc
Программу 'mc' можно найти в следующем пакете:

  * mc [ путь: /usr/bin/mc, репозиторий: zypp (openSUSE-12.1-12.1-1.4) ]
Try installing with:
    zypper install mc



как видим, в выводе есть не только название пакета, но и как этот пакет установить.

поэтому следуем инструкциям только что выполненной команды и вводим:
zypper install mc
после чего получаем:

# zypper install mc
 Загрузка данных о репозиториях...

Чтение установленных пакетов...
Разрешение зависимостей пакетов...
Будет установлен следующий НОВЫЙ пакет:
  mc
Следующий рекомендованный пакет не будет установлен:
  bundle-lang-common-ar
1 новый пакет для установки.
Полный размер загрузки: 575,0 KiB. После этой операции будет использовано дополнительно 1,9 MiB.
Продолжить? [y/n/?] (y): 
В этом месте система спрашивает у нас подтверждение выше предложенным операциям. Уже выбрано y поэтому просто жмём Enter:
Получение пакет mc-4.7.5.3-2.1.2.x86_64 (1/1), 575,0 KiB (1,9 MiB после распаковки)
Получение: mc-4.7.5.3-2.1.2.x86_64.rpm [готово (612,7 KiB/s)]
Установка: mc-4.7.5.3-2.1.2 [готово]
Дополнительный вывод rpm:
Starting SuSEconfig, the SuSE Configuration Tool...
Running module permissions only
Reading /etc/sysconfig and updating the system...
Executing /sbin/conf.d/SuSEconfig.permissions...
Checking permissions and ownerships - using the permissions files
        /etc/permissions
        /etc/permissions.easy
        /etc/permissions.d/mail-server
        /etc/permissions.d/postfix
        /etc/permissions.local
setting /usr/lib/mc/cons.saver to root:root 4755. (wrong permissions 0755)
Finished.
всё, программа установлена.
Для наглядности приведу пример, когда команда не соответствует названию пакета:
cnf locate           
Программу 'locate' можно найти в следующем пакете:
  * findutils-locate [ путь: /usr/bin/locate, репозиторий: zypp (openSUSE-12.1-12.1-1.4) ]
Try installing with:
    zypper install findutils-locate
думаю, что всё понятно без объяснений.

Второй способ поиска пакетов из коммандной строки - испольльзование непосредственно zypper.
Если мы введём эту команду без параметров, то получим длянный список всего, на что он способен.
нас интересует параметр se
вводим в строке zypper se locate и получаем



далее можем использовать уже известную нам схему:

zypper in название_пакета

Разница между cnf и zypper se в том, что первая ищет команду внутри пакетов, а второй ищет в названиях пакетов.

Вообще при помощи zypper только искать пакеты по имени и устанавливать их, но и удалять, добавлять и удалять репозитории и многое другое. Но об этом как-нибудь в другой раз.

1 комментарий:

  1. zypper install mc
    Loading repository data...
    Reading installed packages...
    Resolving package dependencies...

    The following NEW packages are going to be installed:
    mc mc-lang slang

    3 new packages to install.
    Overall download size: 1.9 MiB. After the operation, additional 6.4 MiB will be
    used.
    Continue? [y/n/?] (y): y
    Retrieving package slang-2.1.1-58.18.i586 (1/3), 377.0 KiB (1.2 MiB unpacked)
    Failed to mount cd:///?devices=/dev/disk/by-id/usb-TSSTcorp_CDDVDW_SE-S084B_SATASLIM000000b0a3d-0:0,/dev/sr0 on : Mounting media failed

    Please insert medium [SUSE-Linux-Enterprise-Server-11-SP2 11.2.2-1.234] #1 and type 'y' to continue or 'n' to cancel the operation. [yes/no] (no):


    и все на этом, я так понимаю он просит вставить CD, а разве с Инета он не подтягивает этот пакет?

    ОтветитьУдалить