IT News: Digital Camera, OS, Laptop, Smartphone, Smart TV, Sound...

The Author's Project by Valeri N.Kravchuk
Сайт проверен Dr.Web
Меню сайта
  • Главная страница
  • Информация о сайте
  • Дневник
  • Каталог файлов
  • Обратная связь
  • Каталог сайтов
  • FAQ
  • Доска объявлений
  • Форум
  • Фотоальбом
  • Категории раздела
    Автомобильные гаджеты, ремонт... [220]
    Безопасность IT [484]
    Блоки питания, Power Banks, зарядки... [489]
    Видеорегистраторы [220]
    Гаджеты для спорта и здоровья... [189]
    Гаджеты, аксессуары... [625]
    Измерительная техника, инструменты [444]
    Накопители данных [226]
    Нетбуки, Ноутбуки, Ультрабуки [679]
    Мультиварки, блендеры и не только... [158]
    Планшеты [758]
    Радар-детекторы [26]
    Роботы-пылесосы [37]
    Своими руками [353]
    Сети, сетевые технологии, оборудование... [267]
    Смартфоны [4963]
    Фотокамеры, объективы, искусство фотографии.. [542]
    Умный дом [47]
    Электронные книги [95]
    CB, LPD, PMR- связь... [169]
    DECT, IP-телефоны [18]
    Drones, boats, cars... [108]
    electric cars [35]
    GPS-навигаторы, трекеры... [51]
    Linux и не только [4380]
    mini computers и не только... [409]
    News IT, Это интересно, ликбез... [1112]
    Smart TV, UltraHD, приставки, проекторы... [414]
    Smart Watch [263]
    Sound: наушники, плееры, усилители... [613]
    Windows 10... [298]
    Windows 11 [28]
    Погода

  • Метеорадар БРЕСТ
  • Погода в Бресте от www.yr.no

    Яндекс.Погода БРЕСТ

  • Интересные ссылки

    COMPIZOMANIA

    Наш опрос
    Оцените мой сайт
    Всего ответов: 1338
    Статистика
    Анализ веб сайтов

    Яндекс.Метрика

    Рейтинг@Mail.ru Яндекс цитирования

    Russian America Top. Рейтинг ресурсов Русской Америки.

    eXTReMe Tracker

    Правильный CSS!


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Locations of visitors to this page
    Форма входа
    Главная » 2015 » Май » 9 » Администрирование систем Linux. Управление пакетами программного обеспечения
    14:11
    Администрирование систем Linux. Управление пакетами программного обеспечения

    Администрирование систем Linux. Управление пакетами программного обеспечения

    Оригинал: Package management
    Автор: Paul Cobbaut
    Дата публикации: 12 марта 2015 г.
    Перевод: A. Панин
    Дата перевода: 31 марта 2015 г.

    Глава 20. Управление пакетами программного обеспечения

    В большинстве дистрибутивов Linux используются системы управления пакетами программного обеспечения, позволяющие взаимодействовать с сетевыми репозиториями программного обеспечения, содержащими тысячи пакетов. Эти системы позволяют без лишних сложностей устанавливать и удалять приложения, компоненты операционной системы, документацию, а также другие программные компоненты.

    В первую очередь в главе будут рассматриваться пакеты программного обеспечения дистрибутива Debian с расширением .deb, а также инструменты, предназначенные для работы с этими пакетами, а именно dpkg, apt-get и aptitude. Пакеты программного обеспечения упомянутого формата и соответствующие инструменты используются в дистрибутивах Debian, Ubuntu, Mint, а также во всех производных дистрибутивах.

    После этого будут рассматриваться пакеты программного обеспечения дистрибутива Red Hat с расширением .rpm, а также инструменты, предназначенные для работы с этими пакетами, а именно rpm и yum. Пакеты программного обеспечения упомянутого формата и соответствующие инструменты используются в дистрибутивах Red Hat, Fedora, CentOS, а также во всех производных дистрибутивах.

    20.1. Терминология

    20.1.1. Репозиторий

    Программное обеспечение и документация для вашего дистрибутива Linux могут быть получены в формате пакетов из одного или нескольких идентичных распределенных репозиториев. Пакеты из репозитория протестированы на работоспособность и могут достаточно просто устанавливаться в систему и удаляться из нее с помощью программы установки пакетов программного обеспечения с графическим интерфейсом или интерфейсом командной строки.

    20.1.2. Пакеты программного обеспечения с расширением .deb

    В дистрибутивах Debian, Ubuntu, Mint и во всех производных от Debian и Ubuntu дистрибутивах используются пакеты программного обеспечения с расширением .deb. Для управления программным обеспечением в данных дистрибутивах могут использоваться инструменты aptitude и apt-get, которые, в свою очередь, используют низкоуровневую утилиту dpkg.

    20.1.3. Пакеты программного обеспечения с расширением .rpm

    В дистрибутивах Red Hat, Fedora, CentOS, OpenSUSE, Mandriva, Red Flag, а также других дистрибутивах используются пакеты программного обеспечения с расширением .rpm. Инструментами для управления программным обеспечением в этих дистрибутивах являются yum и rpm.

    20.1.4. Зависимости

    Некоторым пакетам программного обеспечения для корректного функционирования требуются другие пакеты программного обеспечения. Такие инструменты, как apt-get, aptitude и yum позволяют устанавливать все необходимые зависимости в процессе установки пакетов программного обеспечения. В случае использования утилит dpkg и rpm или сборки программного обеспечения из исходных кодов вам придется установить все зависимости самостоятельно.

    20.1.5. Программное обеспечение с открытым исходным кодом

    Репозитории содержат широкий спектр программного обеспечения с открытым исходным кодом. Нередко в исходный код программного обеспечения вносятся изменения, направленные на лучшую интеграцию данного программного обеспечения с вашим дистрибутивом. В большинстве дистрибутивов также осуществляется распространение результирующего модифицированного исходного кода программного обеспечения в форме пакетов из репозиториев исходного кода.

    При этом у вас также остается возможность посещения вебсайта интересующего вас проекта (samba.org, apache.org, github.com, ) и скачивания ванильного исходного кода (т.е., исходного кода без изменений, внесенных разработчиками дистрибутива).

    20.1.6. Управление программным обеспечением с помощью приложения с графическим интерфейсом

    Для удобства конечных пользователей существует несколько приложений с графическим интерфейсом, предназначенных для управления программным обеспечением в процессе использования окружения рабочего стола (вам следует искать пункт меню "Установка / удаление программного обеспечения" или что-то похожее).

    Ниже приведен снимок окна Центра приложений Ubuntu из состава дистрибутива Ubuntu 12.04. Приложения с графическим интерфейсом не будут обсуждаться в рамках данной книги.

    Центр приложений Ubuntu

    20.2. Управление пакетами программного обеспечения формата deb

    20.2.1. О пакетах программного обеспечения формата deb

    Большинство пользователей применяет утилиту aptitude или apt-get для управления программным обеспечением своих дистрибутивов Linux семейства Debian/Ubuntu. Обе упомянутые утилиты используют низкоуровневую утилиту dpkg, а сами являются основой для приложения synaptic и других приложений с графическим интерфейсом.

    20.2.2. Команда dpkg -l

    Утилита dpkg является низкоуровневым инструментом, предназначенным для работы с пакетами программного обеспечения формата deb. Ниже приведена команда для получения списка всех установленных пакетов программного обеспечения, которая вначале выполняется на сервере, работающем под управлением дистрибутива Debian.

     

    root@debian6:~# dpkg -l | wc -l
    265
    

     

    Сравните этот вывод с выводом этой же команды, выполненной на настольном компьютере, который работает под управлением дистрибутива Ubuntu.

     

    root@ubu1204~# dpkg -l | wc -l
    2527
    

     

    20.2.3. Команда dpkg -l $имя_пакета

    Ниже приведен пример команды для получения информации об отдельном пакете программного обеспечения. Символы ii в начале строки говорят о том, что пакет программного обеспечения установлен.

     

    root@debian6:~# dpkg -l rsync | tail -1 | tr -s ' ' 
    ii rsync 3.0.7-2 fast remote file copy program (like rcp)
    

     

    20.2.4. Команда dpkg -S

    Вы можете найти пакет программного обеспечения, из которого был извлечен определенный файл, находящийся в файловой системе вашего компьютера, с помощью команды dpkg -S. В данном примере показана методика поиска пакета программного обеспечения, из которого были извлечены три файла, которые можно обнаружить на среднестатистическом работающем под управлением дистрибутива Debain сервере.

     

    root@debian6:~# dpkg -S /usr/share/doc/tmux/ /etc/ssh/ssh_config /sbin/ifconfig 
    tmux: /usr/share/doc/tmux/
    openssh-client: /etc/ssh/ssh_config
    net-tools: /sbin/ifconfig
    

     

    20.2.5. Команда dpkg -L

    Также вы можете получить список всех файлов, которые устанавливаются в процессе установки определенной программы. Ниже приведен список файлов, устанавливаемых в процессе установки пакета программного обеспечения tmux.

     

    root@debian6:~# dpkg -L tmux
    /.
    /etc
    /etc/init.d
    /etc/init.d/tmux-cleanup
    /usr
    /usr/share
    /usr/share/lintian
    /usr/share/lintian/overrides
    /usr/share/lintian/overrides/tmux
    /usr/share/doc
    /usr/share/doc/tmux
    /usr/share/doc/tmux/TODO.gz
    /usr/share/doc/tmux/FAQ.gz
    /usr/share/doc/tmux/changelog.Debian.gz
    /usr/share/doc/tmux/NEWS.Debian.gz
    /usr/share/doc/tmux/changelog.gz
    /usr/share/doc/tmux/copyright
    /usr/share/doc/tmux/examples
    /usr/share/doc/tmux/examples/tmux.vim.gz
    /usr/share/doc/tmux/examples/h-boetes.conf
    /usr/share/doc/tmux/examples/n-marriott.conf
    /usr/share/doc/tmux/examples/screen-keys.conf
    /usr/share/doc/tmux/examples/t-williams.conf
    /usr/share/doc/tmux/examples/vim-keys.conf
    /usr/share/doc/tmux/NOTES
    /usr/share/man
    /usr/share/man/man1
    /usr/share/man/man1/tmux.1.gz
    /usr/bin
    /usr/bin/tmux
    

     

    10.2.6. Основные функции утилиты dpkg

    Вы можете использовать команду dpkg -i для установки пакета программного обеспечения и команду dpkg -r для удаления пакета программного обеспечения, но в этом случае вам придется вручную разрешить все зависимости. Гораздо проще пользоваться такими инструментами, как apt-get и aptitude.

    20.3. Утилита apt-get

    Утилита apt-get используется для управления пакетами программного обеспечения в дистрибутиве Debian с 1998 года. На сегодняшний день в рамках дистрибутива Debian, а также множества основанных на Debain дистрибутивов осуществляется активная поддержка утилиты apt-get, хотя некоторые эксперты и заявляют, что утилита aptitude обрабатывает зависимости гораздо лучше, чем apt-get.

    Обе упомянутые утилиты используют одни и те же конфигурационные файлы и могут заменять друг друга; если вы обнаружите упоминание об утилите apt-get в какой-либо документации, можете смело заменять apt-get на aptitude.

    Сначала рассмотрим утилиту apt-get, после чего перейдем к обсуждению утилиты aptitude в следующем разделе.

    20.3.1. Команда apt-get update

    При исполнении команды apt-get update осуществляется автоматическая загрузка файлов со списками имен, версий и краткими описаниями всех пакетов программного обеспечения, доступных из всех репозиториев, которые активированы в вашей системе.

    В выводе из примера ниже можно обнаружить несколько репозиториев с строками URL, начинающимися с be.archive.ubuntu.com из-за того, что данный компьютер установлен в Бельгии. В вашем случае строки URL могут отличаться.

     

    root@ubu1204~# apt-get update
    Игн http://be.archive.ubuntu.com precise InRelease
    Игн http://extras.ubuntu.com precise InRelease
    Игн http://security.ubuntu.com precise-security InRelease 
    Игн http://archive.canonical.com precise InRelease 
    Игн http://be.archive.ubuntu.com precise-updates InRelease 
    ...
    В кэше http://be.archive.ubuntu.com precise-backports/main Translation-en 
    В кэше http://be.archive.ubuntu.com precise-backports/multiverse Translation-en 
    В кэше http://be.archive.ubuntu.com precise-backports/restricted Translation-en 
    В кэше http://be.archive.ubuntu.com precise-backports/universe Translation-en 
    Получено 13.7 МБ за 8с (1682 kБ/c) 
    Чтение списков пакетов Готово
    root@ubu1204~#
    

     

    Выполняйте команду apt-get update каждый раз перед выполнением других операций с пакетами программного обеспечения.

    20.3.2. Команда apt-get upgrade

    Одна из наиболее полезных возможностей утилиты apt-get заключается в безопасном обновлении всего установленного на данный момент на вашем компьютере программного обеспечения с помощью единственной команды.

     

    root@debian6:~# apt-get upgrade
    Чтение списков пакетов Готово 
    Построение дерева зависимостей 
    Чтение информации о состоянии Готово
    обновлено 0, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
    root@debian6:~# 
    

     

    В примере выше показана ситуация, в которой все программное обеспечение уже обновлено до последних версий, доступных в моей версии дистрибутива.

    20.3.3. Команда apt-get clean

    Утилита apt-get хранит копии загруженных пакетов программного обеспечения в директории /var/cache/apt/archives, что хорошо видно в примере ниже.

     

    root@ubu1204~# ls /var/cache/apt/archives/ | head
    accountsservice_0.6.15-2ubuntu9.4_i386.deb
    apport_2.0.1-0ubuntu14_all.deb
    apport-gtk_2.0.1-0ubuntu14_all.deb
    apt_0.8.16~exp12ubuntu10.3_i386.deb
    apt-transport-https_0.8.16~exp12ubuntu10.3_i386.deb
    apt-utils_0.8.16~exp12ubuntu10.3_i386.deb
    bind9-host_1%3a9.8.1.dfsg.P1-4ubuntu0.4_i386.deb
    chromium-browser_20.0.1132.47~r144678-0ubuntu0.12.04.1_i386.deb
    chromium-browser-l10n_20.0.1132.47~r144678-0ubuntu0.12.04.1_all.deb
    chromium-codecs-ffmpeg_20.0.1132.47~r144678-0ubuntu0.12.04.1_i386.deb
    

     

    Команда apt-get clean позволяет удалить все файлы из этой директории.

     

    root@ubu1204~# apt-get clean
    root@ubu1204~# ls /var/cache/apt/archives/*.deb
    ls: невозможно получить доступ к /var/cache/apt/archives/*.deb: Нет такого файла или каталога
    

     

    20.3.4. Команда apt-cache search

    Используйте команду apt-cache search для проверки доступности пакета программного обеспечения. В данном примере мы ищем пакет с именем rsync.

     

    root@ubu1204~# apt-cache search rsync | grep ^rsync
    rsync - fast, versatile, remote (and local) file-copying tool
    rsyncrypto - rsync friendly encryption
    

     

    20.3.5. Команда apt-get install

    Вы можете установить одно или несколько приложений, разместив имена в строке команды после apt-get install. В примере ниже показан процесс установки пакета программного обеспечения с именем rsync.

     

    root@ubu1204~# apt-get install rsync
    Чтение списков пакетов Готово 
    Построение дерева зависимостей 
    Чтение информации о состоянии Готово
    НОВЫЕ пакеты, которые будут установлены:
     rsync
    обновлено 0, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 8 пакетов не обновлено.
    Необходимо скачать 299 kБ архивов.
    После данной операции, объём занятого дискового пространства возрастёт на 634 kB.
    Получено:1 http://be.archive.ubuntu.com/ubuntu/ precise/main rsync i386 3.0.9-1ubuntu1 [299 kB]
    Получено 299 kБ за 0с (740 kБ/c)
    Выбор ранее не выбранного пакета rsync.
    (Чтение базы данных ... на данный момент установлено 323649 файлов и каталогов.)
    Распаковывается пакет rsync (из файла .../rsync_3.0.9-1ubuntu1_i386.deb) ...
    Обрабатываются триггеры для man-db ... 
    Обрабатываются триггеры для ureadahead ...
    Настраивается пакет (3.0.9-1ubuntu1) ...
     Removing any system startup links for /etc/init.d/rsync ...
    root@ubu1204~#
    

     

    20.3.6. Команда apt-get remove

    Вы можете удалить одно или несколько приложений, разместив их имена в строке команды после apt-get remove. В примере ниже показан процесс удаления пакета программного обеспечения с именем rsync.

     

    root@ubu1204~# apt-get remove rsync
    Чтение списков пакетов Готово 
    Построение дерева зависимостей 
    Чтение информации о состоянии Готово 
    Пакеты, которые будут УДАЛЕНЫ:
     rsync ubuntu-standard
    обновлено 0, установлено 0 новых пакетов, для удаления отмечено 2 пакетов, и 8 пакетов не обновлено.
    После данной операции, объём занятого дискового пространства уменьшится на 692 kB.
    Хотите продолжить [Д/н]? y 
    (Чтение базы данных ... на данный момент установлено 323681 файлов и каталогов.)
    Удаляется пакет ubuntu-standard ...
    Удаляется пакет rsync ...
     * Stopping rsync daemon rsync [ OK ] 
    Обрабатываются триггеры для ureadahead ... 
    Обрабатываются триггеры для man-db ...
    root@ubu1204~#
    

     

    Обратите внимание на то, что при удалении пакета с помощью рассматриваемой команды некоторые конфигурационные денные не удаляются.

     

    root@ubu1204~# dpkg -l rsync | tail -1 | tr -s ' ' 
    rc rsync 3.0.9-1ubuntu1 fast, versatile, remote (and local) file-copying tool
    

     

    20.3.7. Команда apt-get purge

    Вы можете удалить полностью одно или несколько приложений, разместив их имена в строке команды после apt-get purge. В ходе полного удаления приложения будут также удаляться все существующие файлы конфигурации, имеющие отношение к данному приложению. В примере ниже показан процесс полного удаления пакета программного обеспечения с именем rsync.

     

    root@ubu1204~# apt-get purge rsync
    Чтение списков пакетов Готово 
    Построение дерева зависимостей 
    Чтение информации о состоянии Готово 
    Пакеты, которые будут УДАЛЕНЫ:
     rsync*
    обновлено 0, установлено 0 новых пакетов, для удаления отмечено 1 пакетов, и 8 пакетов не обновлено.
    После данной операции, объём занятого дискового пространства уменьшится на 0 kB.
    Хотите продолжить [Д/н]? y 
    (Чтение базы данных ... на данный момент установлено 323651 файлов и каталогов.) 
    Удаляется пакет rsync ...
    Вычищаются файлы настройки пакета rsync ...
    Обрабатываются триггеры для ureadahead ...
    root@ubu1204~#
    

     

    Обратите внимание на то, что утилита dpkg не обладает информацией о полностью удаленном пакете помимо той, что пакет был удален и в системе не осталось файлов конфигурации.

     

    root@ubu1204~# dpkg -l rsync | tail -1 | tr -s ' ' 
    un rsync <нет> (описание недоступно)
    

     

    20.4. Утилита aptitude

    Большинство пользователей применяет утилиту aptitude для управления пакетами программного обеспечения в дистрибутивах Debain, Mint и Ubuntu.

    Команда для синхронизации списков программного обеспечения с репозиториями:

     

    aptitude update
    

     

    Команда для обновления всех программных компонентов до последних версий в дистрибутиве Debian.

     

    aptitude upgrade
    

     

    Команда для обновления всех программных компонентов до последних версий в дистрибутивах Ubuntu и Mint.

     

    aptitude safe-upgrade
    

     

    Команда для установки приложения со всеми зависимостями:

     

    aptitude install $имя_пакета
    

     

    Команда для поиска в репозиториях приложений, имена или описания которых содержат указанную строку:

     

    aptitude search $строка
    

     

    Команда для удаления приложения:

     

    aptitude remove $имя_пакета
    

     

    Команда для удаления приложения вместе со всеми его файлами конфигурации:

     

    aptitude purge $имя_пакета
    

     

    20.5. Директория apt

    И утилита apt-get, и утилита aptitude используют одни и те же файлы конфигурации, расположенные в директории /etc/apt. Следовательно, в случае добавления репозитория для установки программного обеспечения с помощью одной из упомянутых утилит, вы сможете устанавливать программное обеспечение из добавленного репозитория и с помощью другой утилиты.

    20.5.1. Файл конфигурации /etc/apt/sources.list

    Список ресурсов, используемый утилитами apt-get и aptitude, расположен в файле /etc/apt/sources.list. Данный файл содержит строки URL для доступа по протоколам http и ftp к ресурсами, с которых могут быть получены пакеты для используемого дистрибутива.

    На моем сервере, работающем под управлением дистрибутива Debian, данный файл выглядит следующим образом:

     

    root@debian6:~# cat /etc/apt/sources.list
    deb http://ftp.be.debian.org/debian/ squeeze main
    deb-src http://ftp.be.debian.org/debian/ squeeze main
    
    deb http://security.debian.org/ squeeze/updates main
    deb-src http://security.debian.org/ squeeze/updates main
    
    # squeeze-updates, previously known as 'volatile'
    deb http://ftp.be.debian.org/debian/ squeeze-updates main
    deb-src http://ftp.be.debian.org/debian/ squeeze-updates main
    

     

    На моем настольном компьютере, работающем под управлением дистрибутива Ubuntu, используется в четыре раза больше сетевых репозиториев.

     

    root@ubu1204~# wc -l /etc/apt/sources.list
    63 /etc/apt/sources.list
    

     

    Ввиду того, что в рамках данной книги не рассматриваются некоторые аспекты работы со списками репозиториев apt, вам следует разобраться с ними самостоятельно, обратив особое внимание на такие команды, как add-apt-repository, apt-key и aprops apt.

    20.6. Управление пакетами программного обеспечения формата rpm

    20.6.1. О пакетах программного обеспечения формата rpm

    Менеджер пакетов программного обеспечения Red Hat (Red Hat package manager) может использоваться посредством утилиты rpm с интерфейсом командной строки в терминале или посредством приложения с графическим интерфейсом, вызываемого с помощью пункта меню "Приложения - Системные настройки - Установка/Удаление приложений". Выполните команду rpm --help для ознакомления с некоторыми параметрами утилиты.

    При формировании имен файлов пакетов программного обеспечения формата rpm используется следующий формат: название_программного_компонента-версия.платформа.rpm.

    20.6.2. Команда rpm -qa

    Для получения списка установленных пакетов программного обеспечения следует использовать команду rpm -qa.

     

    [root@RHEL52 ~]# rpm -qa | grep samba
    system-config-samba-1.2.39-1.el5
    samba-3.0.28-1.el5_2.1
    samba-client-3.0.28-1.el5_2.1
    samba-common-3.0.28-1.el5_2.1
    

     

    20.6.3. Команда rpm -q

    Чтобы убедиться в том, что определенный пакет программного обеспечения был установлен, вы можете использовать команду rpm -q.

     

    root@RHELv4u4:~# rpm -q gcc
    gcc-3.4.6-3
    root@RHELv4u4:~# rpm -q laika
    пакет laika не установлен
    

     

    20.6.4. Команда rpm -Uhv

    Для установки или обновления пакета программного обеспечения следует использовать параметры -Uvh рассматриваемой утилиты. Параметр -U аналогичен параметру -i, предназначенному для установки пакета программного обеспечения, но в случае его использования более старые версии пакетов программного обеспечения будут удаляться. Параметры -vh предназначены для активации режима вывода, более удобного для чтения.

     

    root@RHELv4u4:~# rpm -Uvh gcc-3.4.6-3
    

     

    20.6.5. Команда rpm -e

    Для удаления пакета программного обеспечения следует использовать параметр -e рассматриваемой утилиты.

     

    root@RHELv4u4:~# rpm -e gcc-3.4.6-3
    

     

    В случае использования команды rpm -e утилита rpm будет осуществлять проверку зависимостей, предотвращая тем самым возможность случайного удаления пакетов программного обеспечения, которые требуются для корректной работы программных компонентов из других пакетов программного обеспечения.

     

    [root@RHEL52 ~]# rpm -e gcc-4.1.2-42.el5
    ошибка: Неудовлетворенные зависимости:
    gcc = 4.1.2-42.el5 нужен для (установлен)gcc-c++-4.1.2-42.el5.i386
    gcc = 4.1.2-42.el5 нужен для (установлен)gcc-gfortran-4.1.2-42.el5.i386
    gcc нужен для (установлен)systemtap-0.6.2-1.el5_2.2.i386
    

     

    20.6.6. Директория /var/lib/rpm

    База данных менеджера пакетов программного обеспечения Red Hat расположена в директории /var/lib/rpm. Эта база данных содержит все метаданные, относящиеся к пакетам программного обеспечения, которые были установлены (с помощью утилиты rpm). В ней хранится информация обо всех файлах из пакетов программного обеспечения, благодаря наличию которой имеется возможность полного удаления программного обеспечения.

    20.6.7. Утилита rpm2cpio

    Мы можем использовать утилиту rpm2cpio для преобразования пакета программного обеспечения формата rpm в архив формата cpio.

     

    [root@RHEL53 ~]# file kernel.src.rpm 
    kernel.src.rpm: RPM v3 src PowerPC kernel-2.6.18-92.1.13.el5
    [root@RHEL53 ~]# rpm2cpio kernel.src.rpm > kernel.cpio
    [root@RHEL53 ~]# file kernel.cpio 
    kernel.cpio: ASCII cpio archive (SVR4 with no CRC)
    

     

    Но для чего это может понадобиться?

    Возможно, просто для того, чтобы ознакомиться со списком имен файлов, хранящихся в пакете программного обеспечения формата rpm.

     

    [root@RHEL53 ~]# rpm2cpio kernel.src.rpm | cpio -t | head -5
    COPYING.modules
    Config.mk
    Module.kabi_i686
    Module.kabi_i686PAE
    Module.kabi_i686xen
    

     

    Или для извлечения какого-либо файла из пакета программного обеспечения формата rpm.

     

    [root@RHEL53 ~]# rpm2cpio kernel.src.rpm | cpio -iv Config.mk
    Config.mk
    246098 блоков
    

     

    20.7. Утилита yum

    20.7.1. Информация об утилите yum

    Модифицированный инструмент для обновления дистрибутива Yellowdog Linux (Yellowdog Updater, Modified - yum) является утилитой с интерфейсом командной строки, предназначенной для упрощения работы с пакетами программного обеспечения формата rpm. Данная утилита устанавливается по умолчанию в процессе установки таких дистрибутивов, как Fedora и Red Hat Enterprise Linux начиная с версии 5.2.

    20.7.2. Команда yum list

    Выполните команду yum list available для получения списка доступных для установки пакетов программного обеспечения. Параметр available является необязательным.

     

    root@rhel65:/etc# yum list | wc -l
    This system is receiving updates from Red Hat Subscription Management.
    3935
    root@rhel65:/etc#
    

     

    Выполните команду yum list $имя_пакета для получения списка всех доступных версий указанного пакета программного обеспечения (из различных репозториев).

     

    [root@rhel55 ~]# yum list samba
    Loaded plugins: rhnplugin, security
    Установленные пакеты
    samba.i386 3.0.33-3.28.el5 installed 
    Доступные пакеты
    samba.i386 3.0.33-3.29.el5_5 rhel-i386-server-5
    

     

    20.7.3. Команда yum search

    Для осуществления поиска пакета, имя или описание которого содержит заданную строку, следует использовать команду yum search $строка.

     

    [root@rhel55 ~]# yum search gcc44
    Loaded plugins: rhnplugin, security
    ========================== N/S matched: gcc44 ===========================
    gcc44.i386 : Preview of GCC version 4.4
    gcc44-c++.i386 : C++ support for GCC version 4.4
    gcc44-gfortran.i386 : Fortran support for GCC 4.4 previe
    

     

    20.7.4. Команда yum provides

    Для поиска пакета программного обеспечения, содержащего файл с определенным именем (что может понадобиться в процессе компиляции программного обеспечения из исходных кодов), следует использовать команду yum provides $имя_файла.

     

    root@rhel65:/etc# yum provides /usr/share/man/man5/passwd.5.gz
    Loaded plugins: product-id, subscription-manager
    This system is receiving updates from Red Hat Subscription Management.
    rhel-6-server-cf-tools-1-rpms | 2.8 kB 00:00
    rhel-6-server-rpms | 3.7 kB 00:00
    man-pages-3.22-12.el6.noarch : Man (manual) pages from the Linux Documenta...
    Источник : rhel-6-server-rpms
    Совпадения с:
    Имя файла : /usr/share/man/man5/passwd.5.gz
    
    
    
    man-pages-3.22-20.el6.noarch : Man (manual) pages from the Linux Documenta...
    Источник : rhel-6-server-rpms
    Совпадения с:
    Имя файла : /usr/share/man/man5/passwd.5.gz
    
    
    
    man-pages-3.22-17.el6.noarch : Man (manual) pages from the Linux Documenta...
    Источник : rhel-6-server-rpms
    Совпадения с:
    Имя файла : /usr/share/man/man5/passwd.5.gz
    
    
    
    man-pages-3.22-20.el6.noarch : Man (manual) pages from the Linux Documenta...
    Источник : installed
    Совпадения с:
    Имя файла : Provides-match: /usr/share/man/man5/passwd.5.gz
    
    
    
    root@rhel65:/etc#
    

     

    20.7.5. Команда yum install

    Для установки приложения следует использовать команду yum install $имя_пакета. Утилита yum позаботится об установке всех необходимых зависимостей.

    В рамках данной команды вы можете использовать более одного параметра.

     

    yum install $имя_пакета1 $имя_пакета2 $имя_пакета3
    

     

    20.7.6. Команда yum update

    Для обновления всех приложений путем загрузки и установки новых пакетов программного обеспечения, следует использовать команду yum update. Все программное обеспечение, которое было установлено в помощью утилиты yum, будет обновлено до последних версий, доступных в репозитории.

     

    yum update
    

     

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

     

    [root@rhel55 ~]# yum update sudo
    Loaded plugins: rhnplugin, security
    Skipping security plugin, no data
    Setting up Update Process
    Разрешение зависимостей
    Skipping security plugin, no data
    --> Проверка сценария
    ---> Пакет sudo.i386 0:1.7.2p1-7.el5_5 помечен как обновление
    --> Проверка зависимостей окончена
    
    Dependencies Resolved
    
    ================================================================================
     Package Архитектура
     Версия Репозиторий Размер
    ================================================================================
    Обновление:
     sudo i386 1.7.2p1-7.el5_5 rhel-i386-server-5 230 k
    
    Итого за операцию
    ================================================================================
    Обновить 1 пакет
    
    Объем загрузки: 230 k
    Is this ok [y/N]: y
    Downloading Packages:
    sudo-1.7.2p1-7.el5_5.i386.rpm | 230 kB 00:00 
    Running rpm_check_debug
    Running Transaction Test
    Finished Transaction Test
    Transaction Test Succeeded
    Running Transaction
     Обновление : sudo 1/2
     Очистка : sudo 2/2
    
    Обновлено:
     sudo.i386 0:1.7.2p1-7.el5_5
    
    Выполнено!
    

     

    20.7.7. Группы программного обеспечения yum

    Выполните команду yum grouplist для ознакомления со списком всех доступных групп программного обеспечения.

     

    [root@rhel55 ~]# yum grouplist
    Loaded plugins: rhnplugin, security
    Setting up Group Process
    Installed Groups:
     Administration Tools
     Authoring and Publishing
     DNS Name Server
     Development Libraries
     Development Tools
     Editors
     GNOME Desktop Environment
     GNOME Software Development
     Graphical Internet
     Graphics
     Legacy Network Server
     Legacy Software Development
     Legacy Software Support
     Mail Server
     Network Servers
     Office/Productivity
     Printing Support
     Server Configuration Tools
     System Tools
     Text-based Internet
     Web Server
     Windows File Server
     X Software Development
     X Window System
    Available Groups:
     Engineering and Scientific
     FTP Server
     Games and Entertainment
     Java Development
     KDE (K Desktop Environment)
     KDE Software Development
     MySQL Database
     News Server
     OpenFabrics Enterprise Distribution
     PostgreSQL Database
     Sound and Video
    Done
    

     

    Для установки приложений, объединенных в рамках группы, следует использовать команду yum groupinstall $имя_группы.

     

    [root@rhel55 ~]# yum groupinstall 'Sound and video'
    Loaded plugins: rhnplugin, security
    Setting up Group Process
    Пакет alsa-utils-1.0.17-1.el5.i386 уже установлен и это последняя версия
    Пакет sox-12.18.1-1.i386 уже установлен и это последняя версия
    Пакет 9:mkisofs-2.01-10.7.el5.i386 уже установлен и это последняя версия
    Пакет 9:cdrecord-2.01-10.7.el5.i386 уже установлен и это последняя версия
    Пакет cdrdao-1.2.1-2.i386 уже установлен и это последняя версия
    Разрешение зависимостей
    --> Проверка сценария
    ---> Пакет cdda2wav.i386 9:2.01-10.7.el5 помечен для установки
    ---> Пакет cdparanoia.i386 0:alpha9.8-27.2 помечен для установки
    ---> Пакет sound-juicer.i386 0:2.16.0-3.el5 помечен для установки
    --> Обработка зависимостей: libmusicbrainz >= 2.1.0 пакета: sound-juicer
    --> Обработка зависимостей: libmusicbrainz.so.4 пакета: sound-juicer
    ---> Пакет vorbis-tools.i386 1:1.1.1-3.el5 помечен для установки
    --> Обработка зависимостей: libao >= 0.8.4 пакета: vorbis-tools
    --> Обработка зависимостей: libao.so.2 пакета: vorbis-tools
    --> Проверка сценария
    ---> Пакет libao.i386 0:0.8.6-7 помечен для установки
    ---> Пакет libmusicbrainz.i386 0:2.1.1-4.1 помечен для установки
    --> Проверка зависимостей окончена
    ...
    

     

    Обратитесь к странице руководства утилиты yum для получения дополнительной информации об управлении группами программного обеспечения средствами yum.

    20.7.8. Файл конфигурации /etc/yum.conf и репозитории

    Данные для доступа к репозиториям, которые используются утилитой yum, приводится в рамках файла конфигурации /etc/yum/yum.conf и файлов описания репозиториев из директории /etc/yum/repos.d/.

    Конфигурация утилиты yum осуществляется в рамках файла конфигурации /etc/yum.conf. Данный файл должен содержать путь к файлу журнала и директории для кэширования данных, загружаемых утилитой yum, а также может содержать данные для доступа к репозиториям.

    Не так давно утилита yum получила возможность обработки множества файлов описания репозиториев с расширением .repo, каждый из которых может содержать данные для доступа к репозиториям. Эти файлы с расширением .repo должны быть помещены в директорию /etc/yum.repos.d/.

    Одним из наиболее важных флагов утилиты yum является флаг enablerepo. Используйте следующую команду, если вы желаете использовать репозиторий, который не активирован по умолчанию.

     

    yum $операция $имя_пакета --enablerepo=$имя_репозитория
    

     

    В примере приведено необходимое содержимое файла описания репозитория с расширением .repo: MyRepo.repo

     

    [$имя_репозитория]
    name=Мой репозиторий
    baseurl=http://путь/к/репозиторию
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MyRep
    

     

    20.8. Утилита alien

    Утилита alien является экспериментальным инструментом, который предназначен для преобразования форматов пакетов rpm и deb (и других).

    Ниже приведен пример использования утилиты alien для преобразования пакета программного обеспечения формата rpm в пакет программного обеспечения формата deb.

     

    paul@barry:~$ ls -l netcat*
    -rw-r--r-- 1 paul paul 123912 2009-06-04 14:58 netcat-0.7.1-1.i386.rpm
    paul@barry:~$ alien --to-deb netcat-0.7.1-1.i386.rpm 
    netcat_0.7.1-2_i386.deb generated
    paul@barry:~$ ls -l netcat*
    -rw-r--r-- 1 paul paul 123912 2009-06-04 14:58 netcat-0.7.1-1.i386.rpm
    -rw-r--r-- 1 root root 125236 2009-06-04 14:59 netcat_0.7.1-2_i386.deb
    

     

    В реальной жизни следует использовать пакет с утилитой netcat из репозитория вашего дистрибутива или пакет программного обеспечения формата deb с вебсайта проекта.

    20.9. Загрузка программного обеспечения в обход репозитория дистрибутива

    При загрузке любого программного обеспечения в обход репозитория дистрибутива первым и наиболее важным шагом является чтение поставляемого в комплекте файла README!

    Обычно в файле README даются пояснения относительно ваших действий после загрузки пакета программного обеспечения. С большой вероятностью для загрузки вам будет предложен файл архива с расширением .tar.gz или .tgz. Прочитайте документацию, после чего переместите загруженный файл архива в отдельную директорию. Вы можете использовать следующую команду, чтобы выяснить, в какую директорию по умолчанию будет распакован архив.

     

    tar tvzpf $загруженный_файл.tgz
    

     

    Если вы распакуете данный архивный файл с помощью команды tar xzf, будет создана директория с именем $имя_приложения-версия.

     

    tar xzf $applicationName.tgz
    

     

    Замените параметр z на j в том случае, если файл архива имеет расширение .tar.bz2. Приемы работы с утилитами tar, gzip и bzip2 подробно описаны в книге "Фундаментальные основы Linux".

    Если вы загрузили файл с расширением .deb, для установки программного обеспечения придется использовать утилиту dpkg, а в случае загрузки файла с расширением .rpm установка программного обеспечения может осуществляться с помощью утилиты rpm.

    20.10. Компиляция программного обеспечения из исходного кода

    При загрузке исходного кода любого программного компонента с целью последующей компиляции и установки первым и наиболее важным шагом является чтение поставляемого в комплекте файла README!

    Чаще всего процесс сборки программного обеспечения из исходного кода может быть разделен на три шага: запуск сценария конфигурации ./configure с последующим запуском процесса сборки make (которая по сути и является компиляцией) и выполнением команды установки make install для копирования результирующих файлов в необходимые директории файловой системы.

     

    ./configure
    make
    make install
    

     

    20.11. Практическое задание: управление пакетами программного обеспечения

     

    1. Проверьте, установлены ли пакеты программного обеспечения с именами gcc, sudo и wesnoth в вашей системе.

     

    2. Используйте утилиту yum или aptitude для поиска и установки пакетов программного обеспечения с именами scp, tmux и man-pages. Удалось ли найти в репозитории вашего дистрибутива все перечисленные пакеты.

     

    3. Найдите в сети Интернет информацию о программном обеспечении 'webmin' и выясните способ установки этого программного обеспечения в систему.

     

    4. Если есть время, найдите пакеты программного обеспечения samba, а также пакеты с документацией проекта samba в формате pdf (тысячи страниц документации в рамках двух файлов pdf).

     

     

    20.12. Корректная процедура выполнения практического задания: управление пакетами программного обеспечения

     

    1. Проверьте, установлены ли пакеты программного обеспечения с именами gcc, sudo и wesnoth в вашей системе.

    В дистрибутиве RedHat/CentOS:

     

    rpm -qa | grep gcc
    rpm -qa | grep sudo
    rpm -qa | grep wesnoth

     

    В дистрибутиве Debian/Ubuntu:

     

    dpkg -l | grep gcc
    dpkg -l | grep sudo
    dpkg -l | grep wesnoth

     

    2. Используйте утилиту yum или aptitude для поиска и установки пакетов программного обеспечения с именами scp, tmux и man-pages. Удалось ли найти в репозитории вашего дистрибутива все перечисленные пакеты.

    В дистрибутиве RedHat/CentOS:

     

    yum search scp
    yum search tmux
    yum search man-pages

     

    В дистрибутиве Debian/Ubuntu:

     

    aptitude search scp
    aptitude search tmux
    aptitude search man-pages

     

    3. Найдите в сети Интернет информацию о программном обеспечении 'webmin' и выясните способ установки этого программного обеспечения в систему.

    Поисковая система Google приведет вас на вебсайт webmin.com.

    С данного вебсайта могут быть загружены пакеты программного обеспечения различных форматов, поэтому в зависимости от дистрибутива следует выбрать файл с расширением .rpm, .deb или .tgz.

    4. Если есть время, найдите пакеты программного обеспечения samba, а также пакеты с документацией проекта samba в формате pdf (тысячи страниц документации в рамках двух файлов формата pdf).

     

    http://rus-linux.net/MyLDP/BOOKS/LSA/ch20.html

    Категория: Linux и не только | Просмотров: 799 | Добавил: laptop | Рейтинг: 0.0/0
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк слабее льва и тигра, но в цирке волк не выступает!
    Волк - единственный из зверей, который может пойти в бой на более сильного противника.
    Если же он проиграл бой, то до последнего вздоха смотрит в глаза противника. После этого умирает...

    Праздники сегодня

    Поиск
    Календарь
    Архив записей
    Друзья сайта
  • Официальный блог
  • JEEP - the best! Mercedes - the best! Автомобильный портал города Бреста: технические характеристики с фото, авторынок, автоспорт...
    Наша кнопка
    IT новости с моего лаптопа...

    Внимание!
    Администратор сайта laptop.ucoz.ru не несет ответственности за содержание рекламных объявлений. Все используемые на сайте зарегистрированные товарные знаки принадлежат своим законным владельцам! Используемая со сторонних источников информация публикуется с обязательными ссылками на эти источники.
    Copyright Valeri N.Kravchuk © 2007-2024