Видео ролики бесплатно онлайн

Смотреть супер видео

Официальный сайт 24/7/365

Смотреть видео бесплатно

24.01.11 00:44 dementiy

НовичкуСистема управления RPM-пакетами YUM

YUM (Yellowdog Updater Modified) — система управления пакетами (реализована на Python), предоставляющая возможность установки, удаления и обновления пакетов или групп пакетов. Yum изначально разработан для управления системой Red Hat Linux и в настоящее время используется в RPM-based (Red Hat Package Managment) дистрибутивах, таких как Fedora, CentOS, SUSE, Yellow Dog Linux и т.д.

Изначально разработанный Terra Soft «yup» (Yellow Dog Updater) был улучшен и теперь разрабатывается и поддерживается Linux@Duke team, получив название «yum».

1. Обновление пакетов

Чтобы проверить наличие обновлений в системе, следует использовать команду yum check-update:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$ yum check-update
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list

имя пакета.архитектура                 версия пакета                    репозиторий
dracut.noarch                          006-6.fc14                        updates
elfutils.i686                          0.151-1.fc14                      updates
elfutils-libelf.i686                   0.151-1.fc14                      updates
elfutils-libs.i686                     0.151-1.fc14                      updates
libuser.i686                           0.56.18-3.fc14                    updates
libuser-python.i686                    0.56.18-3.fc14                    updates
procps.i686                            3.2.8-15.fc14                     updates
sssd.i686                              1.5.0-2.fc14                      updates
sssd-client.i686                       1.5.0-2.fc14                      updates
stunnel.i686                           4.34-1.fc14                       updates

Обратите внимание на строку «Loaded plugins: langpacks, presto, refresh-packagekit» - yum всегда предоставляет информацию о том, какие плагины установлены и включены. В данном выводе yum использует три плагина:
  • langpacks — позволяет автоматически установить langpacks (языковые пакеты) программы для вашего родного языка (настроить требуемый язык можно в файле /etc/yum/pluginconf.d/langpacks.conf);

  • presto — данный плагин реализует поддержку DeltaRPM (DeltaRPM это разница между двумя rpm пакетами одной программы, т.о., позволяет экономить трафик, не скачивая весь пакет, а только разницу версий);

  • refresh-packagekit — предназначен для взаимодействия с PackageKit (например, если вы обновили пакеты с помощью yum, то PackageKit будет знать об этом).

Для того, чтобы обновить необходимые пакеты нужно использовать команду yum update pkg_name :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# yum update elfutils
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
...
================================================================================
 Package                Arch        Version                Repository      Size
================================================================================
Updating:
 elfutils               i686        0.151-1.fc14           updates        215 k
Updating for dependencies:
 elfutils-libelf        i686        0.151-1.fc14           updates        173 k
 elfutils-libs          i686        0.151-1.fc14           updates        198 k

Transaction Summary
================================================================================
Upgrade       3 Package(s)

Total download size: 586 k
Is this ok [y/N]:

Вы можете заметить, что некоторые пакеты тоже будут обновлены по зависимостям, т.к. yum автоматически разрешает зависимости. Если требуется обновить все возможные пакеты, то можно использовать команду yum update без аргументов:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# yum update
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
...
================================================================================
 Package               Arch         Version                 Repository     Size
================================================================================
Updating:
 dracut                noarch       006-6.fc14              updates        87 k
 elfutils              i686         0.151-1.fc14            updates       215 k
 elfutils-libelf       i686         0.151-1.fc14            updates       173 k
 elfutils-libs         i686         0.151-1.fc14            updates       198 k
 libuser               i686         0.56.18-3.fc14          updates       370 k
 libuser-python        i686         0.56.18-3.fc14          updates        50 k
 procps                i686         3.2.8-15.fc14           updates       197 k
 sssd                  i686         1.5.0-2.fc14            updates       815 k
 sssd-client           i686         1.5.0-2.fc14            updates        49 k
 stunnel               i686         4.34-1.fc14             updates       124 k

Transaction Summary
================================================================================
Upgrade      10 Package(s)

Total download size: 2.2 M
Is this ok [y/N]:

Для автоматического ответа на вопрос «Is this ok [y/N]» можно воспользоваться параметром -y (например: yum update -y ), который дает согласие на все вопросы.
При необходимости выполнять обновления автоматически можно воспользоваться утилитами yum-cron (для периодического обновления пакетов) и yum-updateonboot (для обновлений во время загрузки системы), чтобы их установить:

# yum install yum-cron yum-updateonboot

2. Установка/удаление пакетов

Пакет вместе со всеми зависимостями можно установить командой yum install pkg_name :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# yum install pitivi
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
...
================================================================================
 Package                    Arch        Version              Repository    Size
================================================================================
Installing:
 pitivi                     noarch      0.13.5-4.fc14        updates      790 k
Installing for dependencies:
 gnonlin                    i686        0.10.16-1.fc14       updates       65 k
 goocanvas                  i686        0.15-1.fc14          fedora       134 k
 pygoocanvas                i686        0.14.1-3.fc14        fedora        51 k
 python-zope-interface      i686        3.6.1-7.fc14         fedora       118 k

Transaction Summary
================================================================================
Install       5 Package(s)

Total download size: 1.1 M
Installed size: 5.1 M
Is this ok [y/N]:

Если вы не знаете имя пакета, но знаете имя бинарного файла, который хотите установить, то можно воспользоваться путем к бинарному файлу для установки:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# yum install /usr/bin/pitivi
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
...
================================================================================
 Package                    Arch        Version              Repository    Size
================================================================================
Installing:
 pitivi                     noarch      0.13.5-4.fc14        updates      790 k
...
================================================================================
Install       5 Package(s)

Total download size: 1.1 M
Installed size: 5.1 M
Is this ok [y/N]:

В случае, если вы не знаете полный путь к бинарному файлу, то можно воспользоваться командой yum provides совместно с glob-выражением, чтобы его узнать:

1
2
3
4
5
6
7
8
9
10
11
12
13
$ yum provides "*bin/pitivi"
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
...
pitivi-0.13.4-3.fc14.noarch : Non-linear video editor
Repo        : fedora
Matched from:
Filename    : /usr/bin/pitivi

pitivi-0.13.5-4.fc14.noarch : Non-linear video edito
Repo        : updates
Matched from:
Filename    : /usr/bin/pitivi

Чтобы удалить ранее установленный пакет можно воспользоваться следующей командой yum remove pkg_name :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# yum remove wicd
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
...
================================================================================
 Package        Arch           Version                 Repository          Size
================================================================================
Removing:
 wicd           i686           1.7.0-4.fc14            @updates           183 k

Transaction Summary
================================================================================
Remove        1 Package(s)

Installed size: 183 k
Is this ok [y/N]:

Вся информация о установке/удалении/обновлении пакетов фиксируется в файле /var/log/yum.log (для его просмотра необходимы права пользователя root).

3. Получение сведений о пакетах

Для поиска имен пакетов и их краткого описания можно использовать команду yum search pkg_name :

1
2
3
4
5
6
7
8
$ yum search wicd
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
============================= Matched: wicd ==============================
wicd-common.noarch : Wicd common files
wicd-curses.noarch : Curses client for wicd
wicd-gtk.noarch : GTK+ client for wicd
wicd.i686 : Wireless and wired network connection manager


Для получения более подробной информации о пакетах следует использовать команду yum info pkg_name :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$ yum info wicd
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Installed Packages
Name        : wicd
Arch        : i686
Version     : 1.7.0
Release     : 4.fc14
Size        : 183 k
Repo        : installed
From repo   : updates
Summary     : Wireless and wired network connection manager
URL         : http://wicd.sourceforge.net/
License     : GPLv2+
Description : Wicd is designed to give the user as much control over behavior of
            : network connections as possible.  Every network, both wired and
            : wireless, has its own profile with its own configuration options
            : and connection behavior. Wicd will try to automatically connect
            : only to networks the user specifies it should try, with a
            : preference first to a wired network, then to wireless.
            :
            : This package provides the architecture-dependent components of
            : wicd.

Использование yum search аналогично использованию команды rpm -q -i pkg_name:

1
2
3
4
5
$ rpm -q -i wicd
Name    : wicd                       elocations: (not relocatable)
Version : 1.7.0                          Vendor: Fedora Project
Release : 4.fc14                     Build Date: Sat 23 Oct 2010 12:47:23 AM MSD
...

Чтобы получить еще больше информации о пакете, например контрольную сумму, то следует использовать yumdb info pkg_name :

1
2
3
4
5
6
7
8
9
10
11
12
$ yumdb info wicd
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
wicd-1.7.0-4.fc14.i686
     checksum_data = e675dfa382c45c23902cdb421bbccf1a398fc92b7124482db15e652a98127bc1
     checksum_type = sha256
     from_repo = updates
     from_repo_revision = 1294690430
     from_repo_timestamp = 1294694157
     installed_by = 4294967295
     reason = user
     releasever = 14

Еще одной командой для получения информации о пакетах является yum list:

1
2
3
4
5
6
7
8
9
$ yum list wicd-\*
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
Installed Packages
wicd.i686                      1.7.0-4.fc14                     @updates
wicd-common.noarch             1.7.0-4.fc14                     @updates
wicd-gtk.noarch                1.7.0-4.fc14                     @updates
Available Packages
wicd-curses.noarch             1.7.0-4.fc14                     updates

Ниже приведен список некоторых команд yum list, а также команды для вывода информации о группах пакетов и репозиториях:
  • yum list all — вывести список всех доступных и установленных пакетов;

  • yum list installed — вывести список только установленных пакетов;

  • yum list available — вывести список только доступных пакетов;

  • yum grouplist — вывести список всех групп пакетов (например, «Administration Tools», «GNOME Desktop Environment» и так далее);

  • yum groupinfo group_name — вывести список пакетов группы group_name, например

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    $ yum groupinfo KDE
    Loaded plugins: langpacks, presto, refresh-packagekit
    Adding en_US to language list
    ...
    Group: KDE Software Compilation
    Description: The KDE SC includes the KDE Plasma Desktop, a highly-configurable graphical user interface which includes a panel, desktop, system icons and desktop widgets, and many powerful KDE applications.
     Mandatory Packages:
       kdebase-runtime
       kdebase-workspace
       kdelibs
     Default Packages:
       amarok
       cups-pk-helper
       dejavu-sans-fonts
    ...

    Имеется возможность не только просматривать группы пакетов, но также устанавливать, удалять и обновлять их, используя команды yum groupinstall/groupremove/groupupdate, соответственно.

  • yum repolist — вывести список id репозиториев (repo id) и количество пакетов, предоставляемых каждым из них.

И последняя команда yum history (от root) которая показывает время выполненных транзакицй (установка/удаление/обновление пакетов) и какой пользователь их выполнял. Вся история транзакций храниться в /var/lib/yum/history/.

4. Добавление новых репозиториев

Добавить новый репозиторий можно путем установки rpm-пакета или используя файл *.repo (находятся в /etc/yum.repos.d/). Приведем пример добавления репозиториев RPMFusion и Adobe:

su -c 'yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm'

Для того, чтобы подключить репозиторий Adobe необходимо скачать пакет adobe-release-i386-1.0-1.noarch.rpm с сайта http://get.adobe.com/flashplayer/ (выбрав YUM for Linux) и затем установить его:

# rpm -ivh adobe-release-i386-1.0-1.noarch.rpm

Будет скопирован adobe General Public Key в /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux, но не импортирован, поэтому импортируем ключ:

# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-adobe-linux

5. yum-utils

yum-utils это набор утилит и плагинов, которые расширяют возможности yum, например могут показаться довольно полезными следующие утилиты:

yumdownloader — предоставляет возможность скачать пакет из репозитория:

1
2
3
4
$ yumdownloader wicd
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
wicd-1.7.0-4.fc14.i686.rpm                               |  42 kB     00:00

package-cleanup — позволяет выявлять неиспользуемые пакеты (--leaves), неполадки (--problems) и удалять старые версии ядер (--oldkernels). Например, чтобы узнать какие пакеты не используются, следует воспользоваться следующей командой:

1
2
3
4
5
6
7
$ package-cleanup --leaves
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
libcanberra-gtk3-0.25-4.fc14.i686
libertas-usb8388-firmware-5.110.22.p23-4.fc13.noarch
libmpdclient-devel-2.1-3.fc13.i686
libotf-0.9.11-1.fc14.i686


Для администраторов может оказаться полезным плагин yum-plugin-security, который предоставляет доступ к списку и обновлениям только тех пакетов, которые связаны с безопасностью системы. Например, доступны следующие пакеты для обновления (можно воспользоваться yum info-security, чтобы получить более подробную информацию по каждому пакету):

1
2
3
4
5
6
7
8
$ yum list-security
Loaded plugins: langpacks, presto, refresh-packagekit, security
Adding en_US to language list
FEDORA-2011-0485 enhancement gdb-7.2-36.fc14.i686
FEDORA-2011-0543 enhancement microcode_ctl-1:1.17-7.fc14.i686
FEDORA-2011-0530 bugfix      pciutils-3.1.7-3.fc14.i686
FEDORA-2011-0530 bugfix      pciutils-libs-3.1.7-3.fc14.i686
FEDORA-2011-0478 bugfix      system-setup-keyboard-0.8.6-3.fc14.i686

Используя опцию --security мы узнаем, что есть 5 пакетов для обновления, но ни один из них не связан с безопасностью:

1
2
3
4
5
$ yum --security check-update
Loaded plugins: langpacks, presto, refresh-packagekit, security
Adding en_US to language list
Limiting package lists to security relevant ones
No packages needed for security; 5 packages available

Если требуется обновлять багфиксы, то можно воспользоваться опцией --bugfixes:

1
2
3
4
5
6
7
8
9
$ yum --security --bugfixes check-update
Loaded plugins: langpacks, presto, refresh-packagekit, security
Adding en_US to language list
Limiting package lists to security relevant ones
3 package(s) needed for security, out of 5 available

pciutils.i686                              3.1.7-3.fc14                  updates
pciutils-libs.i686                         3.1.7-3.fc14                  updates
system-setup-keyboard.i686                 0.8.6-3.fc14                  updates

Дополнительную информацию о плагине можно получить на странице справочного руководства man (man yum-security), а также тут.

Также интерес представляет плагин yum-plugin-versionlock, который позволяет удерживать версию необходимого пакета, т.е. не дает его обновлять.

6. GUI для yum

Для yum существует несколько графических фронтендов, одним из них является PackageKit — «набор открытого и свободного программного обеспечения, предназначенного для обеспечения последовательного и высокоуровневого фронт-энда для некоторого числа различных систем управления пакетами». Для PackageKit есть несколько фронт-эндов:

  • gnome-packagekit (GNOME, см. рис. 1);

  • kpackagekit (KDE);

  • yumex;

  • pkcon (консольная утилита).

Рис.1. gnome-packagekit

Выбор фронт-энда зависит от используемого DE, например, если вы пользователь GNOME, то по умолчанию у вас будет установлен gnome-packagekit.

7. Ссылки

  • Официальная старница YUM;

  • Fedora 14 — Software Management Guide;

  • Learn Linux, 101: RPM and YUM package management;

  • Система управления пакетами Yum.
P.S. Надеюсь, что для начинающего пользователя этой информации будет достаточно. На вопрос - "А зачем мне уметь работать с yum?" - есть простой ответ: во-первых, зачастую это быстрее, во-вторых, не всегда есть возможность работать с "иксами".
Если встретите очепятки, то пишите в ЛС, если ошибки, то в комментарии. Если есть желание что-то дополнить, также пишите в комментарии. Может показаться, что большинство выводов избыточно, мне кажется, что так воспринимать информацию (работу команды) несколько проще, но при необходимости могу сократить. Может быть у кого-то возникнет желаение рассказать про работу с rpm и самого PackageKit, буду рад.
Ну и как всегда pdf'ка (scribd.com опять надругался над документом).


Теги:

cyrus 24.01.11 01:22 # +0
Отлично!
ps единственное что добавил бы, что скрипт написан на Python
cooler 24.01.11 01:54 # +0
yumex еще добавьте в GUI.
Мне больше всех понравился.
dementiy 24.01.11 02:53 # +0
Добавил все что просили =)
demon1981 25.01.11 10:48 # +1
исправьте
то можно воспользоваться командой yum provedes совместно
напишите про плагин security. Он нужный в продакшене. Тогда статья будет полнее. Вот тут очень хорошо написано и вот тут
Еще про использование в скриптах yum check-update. Например как тут
dementiy 25.01.11 16:15 # +0
"provedes" исправил. Про плагин security добавил, наверное не так подробно как вы хотели, а в общих чертах (проверяйте). Про использование в скриптах - мне кажется лишнее, поэтому не стал добавлять.

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 154)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 3112 из 230 городов)
            Топ пользователей Топ блогов
            welinux.ru

            Смотреть видео онлайн

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн