Обзор пакетных менеджеров Linux. Менеджеры пакетов в системах linux Какой менеджер пакетов лучше использовать

Эта статья незакончена. Вы можете помочь проекту дополнив статью.

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

Установка

Начиная с Ubuntu 11.10 Synaptic не распостраняется в комплекте стандартных программ. Установить его можно нажав на ссылку слева или введя в терминале команду:

sudo apt-get install synaptic

Запуск и внешний вид

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

Для запуска Synaptic откройте Главное меню и наберите в поиске synaptic . Также Synaptic можно запустить введя в терминале команду:

sudo synaptic

При запуске вы увидите главное окно программы: Главное меню вверху, панель с несколькими кнопками, роль которых станет ясна чуть позже.

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

Если вы выберите «Все», вы увидите полный список доступных и установленных пакетов. При нажатии «Установленные» будут показываться лишь установленные пакеты и так далее. Правая часть окна разделена на верхнюю и нижнюю части. В верхней части выводится список пакетов, и при выбора пакета из этого списка в нижней части отображаются сведения о нем и его описание.

Пакеты могут быть сгруппированы по функциональности (текстовые редакторы, документация, почтовые клиенты и т.д.). Для этого используется кнопка «Разделы». После нажатия на нее вы сможете выбирать пакеты из различных секций.

Для получения подробной информации о пакете, кликните по нему правой кнопкой мыши и в появившемся меню выберите Свойства .

Управление ПО

Установка

    Щелкните по кнопке Обновить

    Правый клик на нужном пакете и выберите в появившемся меню Отметить для установки , или нажмите Ctrl + I . Если пакет требует установки другого пакета, то появиться диалоговое окно с изменениями которые будут сделаны, если вы действительно хотите продолжить установку, то щелкните по клавише Применить или нажмите Ctrl + P .

    Для установки, нажмите кнопку Применить

Удаление

    Правый клик на нужном пакете и выберите в появившемся меню выберите Отметить для удаления .

    Появиться диалоговое окно с изменениями которые будут сделаны, если вы действительно хотите продолжить удаление, то щелкните по клавише «Применить» или нажмите Ctrl + P .

    Для удаления, нажмите кнопку «Применить» на главной панели Менеджера пакетов Synaptic.

Если вы отметите пакет маркером «Отметить для полного удаления» то удалится не только выбранный вами пакет, но и все зависимости.

Обновление

    Щелкните по кнопке Обновить или нажмите Ctrl + R для того чтобы скачать список самых последних версий ПО.

    Правий клик на нужном пакете и выберите в появившемся меню Отметить для обновления .

    Применить на главной панели Менеджера пакетов Synaptic.

Обновление всей системы

Synaptic предоставляет два варианта обновления системы

    Умное обновление попытается разрешить конфликты пакетов перед обновлением системы. Действие умного обновления аналогично действию команды apt-get dist-upgrade .

    Стандартное обновление

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

По умолчанию ynaptic использует умное обновление. Для того чтобы изменить метод обновления системы откройте Настройки→Параметры→Основные и выберите требуемый способ в Обновление системы .

    Щелкните по кнопке Обновить или нажмите Ctrl + R для того чтобы скачать список самых последних версий ПО.

    Нажмите на кнопку Отметить для обновления или нажмите Ctrl + G для того, чтобы Synaptic отметил для обновления все пакеты.

    Для обновления, нажмите кнопку Применить на главной панели Менеджера пакетов Synaptic.

Как исправить сломанные пакеты

«Сломанные пакеты» - это пакеты которые имеют неудовлетворённые зависимости. Если сломанные пакеты обнаружены, то Synaptic не позволит проводить ни каких изменений в системе с пакетами до тех пор пока все сломанные пакеты не будут исправлены.

Для исправления сломанных пакетов

    Выберите Правка→Исправить пакеты с ошибками в главном меню.

    Выберите Внести отмеченные изменения в меню Правка или нажмите Ctrl + P

    Подтвердите изменения, щелкнув по кнопке Применить .

Горячие клавиши в Synaptic

Команда Сочетание клавиш
Обновить список доступных пакетов Ctrl + R
Открыть диалоговое окно поиска Ctrl + F
Показать окно с свойствами выбранного пакета Ctrl + O
Отметить выбранный(е) пакет(ы) для установки Ctrl + I
Отметить выбранный(е) пакет(ы) для обновления Ctrl + U
Отметить выбранный(е) пакет(ы) для удаления Delete
Отметить выбранный(е) пакет(ы) для полного удаления Shift + Delete
Снять какие-либо изменения в пакетах Ctrl + N
Отметить все возможные обновления Ctrl + G
Быстрая установка специфической версии для пакета Ctrl + E
Отменить последнее изменение Ctrl + Z
Повторить последнее изменение Ctrl + Shift + Z
Применить все выбранные действия Ctrl + P
Выйти из Synaptic Ctrl + Q

Настройка кэширования пакетов

Настройки кэширования пакетов находятся в двух местах. Первое – в самом synaptic, окно с настройками кэширования вызывается через меню Настройки→Параметры→Файлы .

Кэш хранится в папке /var/cache/apt/archives/

    Хранить все загруженные файлы в кэше - система будет хранить все файлы скачанные из репозиториев в кэше, согласно правилам хранения(см. ниже).

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

    Удалять только те пакеты, которые более недоступны в репозитории - система будет хранить все пакеты скачанные из репозиториев, удаляя лишь те, которые будут удалены в репозитории согласно правилам(см. ниже).

    Очистить кэш - полностью очищает кэш.

В разделе Файлы истории устанавливаются настройки времени хранения истории установок, либо отключается удаление этой истории вообще.

Второе место в котором хранятся настройки кэширования устанавливает правила хранения пакетов в кэше. Для того чтобы получить доступ к этим настройкам необходимо в терминале выполнить следующую команду:

Sudo nano /etc/apt/apt.conf.d/20archive

Эти настройки имеют следующий вид:

APT::Archives::MaxAge "30"; APT::Archives::MinAge "2"; APT::Archives::MaxSize "500";

Здесь отображаются максимальный, минимальный срок хранения пакета в днях и максимальный размер кеша в мегабайтах. В данном случае все пакеты старше 30 дней будут удалены, даже если размер кэша менее 500 мб, и ни один пакет младше 2 дней удален не будет, даже если размер кэша превысит 500 мб.

Пакетные менеджеры упрощают использование чужого кода, предоставляя этот код в виде независимых модулей — пакетов. Эти пакеты подключаются к своему коду по принципу чёрных ящиков — это когда мы не знаем и нам не важно как всё устроено внутри этого ящика, но мы знаем, что он делает. Благодаря такой слабосвязанной архитектуре появляется возможность легко обновлять чужой код или заменять один пакет другим со схожей функциональностью.

Как работают менеджеры пакетов

У каждого пакетного менеджера есть файл с настройками, в котором нам нужно указать от каких пакетов зависит наш код, чтобы пакетный менеджер их скачал и установил к нам в систему. При этом каждый пакет может зависеть от других пакетов. Пакетный менеджер распутывает эту систему зависимостей и устанавливает всё что нужно, поэтому их ещё называют менеджерами зависимостей. Вот пример: для работы я использую фрэймоворк Twitter Bootstrap и для его работы нужен jQuery. Поэтому если я укажу своему менеджеру пакетов установить Twitter Bootstrap, то он автоматически установит и jQuery.

Какие пакетные менеджеры использовать

Я в своей работе использую три разных пакетных менеджера:

  • — пакетный менеджер для мира PHP. Использую для загрузки чужого PHP-кода;

М ы будем сравнивать различные менеджеры пакетов в Linux. Между всеми распределениями в Linux, одна из вещей, которые они разделяют, это необходимость иметь возможность установить новые пакеты программного обеспечения в систему. В зависимости от распределения, доступны различные менеджеры пакетов, что позволяет пользователю устанавливать, управлять и удалять пакеты легко и быстро. Менеджеры пакетов очень хороши в оптимизации установок, с общими местами установки и конфигурациями. В этой статье мы обсудим различные доступные менеджеры пакетов, на каких дистрибутивах они могут использоваться и что делает каждый из них уникальным. Мы расскажем, менеджеры пакетов основанные на , основные менеджеры пакетов RedHat Enterprise Linux (RHEL), и другие пользовательские менеджеры пакетов.

Debian – основанные менеджеры пакетов

Менеджер пакетов Dpkg

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

В Dpkg не хватает более расширенные возможности – функциональные возможности, такие как загрузка пакетов из Интернета, или установка зависимостей автоматически не возможно через DPKG. Будучи в состоянии сделать это из Интернета очень полезна, так как она позволяет пользователям добавлять репозитории пакетов, что значительно увеличивает выбор программного обеспечения, которое может быть легко установлено в системе. Оно также может значительно упростить процесс установки программного обеспечения, будучи в состоянии легко найти и установить пакет только с одной командой.

Pacman – это менеджер пакетов в Arch Linux. Pacman является единственным инструментом управления пакетами, найденным на Arch, что делает его не фронтендом. Arch Linux является релизом операционной системы, где обновления добавляются каждый день. Есть только несколько команд с pacman, предназначенных для поиска, установки и удаления пакетов. Этот менеджер пакетов может подключаться к Интернету и приобретать свои пакеты оттуда, что делает его более удобным для пользователя. Тем не менее, pacman предназначен для установки программного обеспечения из репозитория Arch, что делает его невозможным для установки из сторонних репозиториев.

ABS, сокращенно от Arch Build System, представляет собой систему инструментов, предназначенных для создания устанавливаемых программных пакетов для Arch Linux из исходного кода. Он состоит из нескольких инструментов, функционирующих вместе для создания пакетов – все эти инструменты являются независимыми программами, такими как makepkg, pacman, asp и так далее. Метод создания/установки пакета с использованием ABS отличается от обычного дистрибутива Linux. Вместо установки предварительно скомпилированных пакетов необходимо создать файл PKGBUILD из ветви Svn или Git с помощью пакета asp. Оттуда вы используете команду makepkg, которая использует файл PKGBUILD для загрузки и компиляции исходного кода для вашей системы. Это делает ABS немного менее интуитивным методом установки пакетов на Arch Linux. Он имеет несколько других применений, таких как настройка существующих пакетов, или сборка и установка собственного ядра.

Приветствую, дорогие друзья, знакомые и прочие личности.

Как Вы наверняка знаете и помните, я обещал потихоньку (по вашим просьбам) охватывать цикл Linux , знакомя Вас с разными основами и очень постепенно перетекая из теории в практику.

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

Вся эта огромная куча пакетов с их ворохом зависимостей друг от друга, управляемая пакетным менеджером, как раз и составляет Ваш дистрибутив Linux . Но это не просто куча мусора, а упорядоченная система, которая называется - та-дам! - репозитории пакетов программ. Круг замкнулся – мы вернулись к первому понятию – что такое репозиторий :)

Несколько слов о нюансах

Напоследок все-таки хочется сказать, что какой бы Linux не была устойчивой, стабильной и неубиваемой, всё же пользователь должен придерживаться определенной осторожности. Например:

  1. Не надо искушать судьбу и ставить программы в Linux в обход менеджера пакетов, простой компиляцией.Работать они будут, но пакетный менеджер ничего о них не будет знать, из-за чего при обновлении системы или программ Вы рискуете получить больше проблем на свою голову, чем представляете. Устанавливайте программы только в виде пакетов.
  2. Не надо подключать те репозитории, о которых имеете совсем смутное представление. Например, не надо подключать репозитории со словами testing , debug и тому подобными терминами, ибо эти репозитории в первую очередь предназначены для самих разработчиков дистрибутивов и далеко не всегда стабильны.
  3. Не подключайте подряд все доступные репозитории, это тоже может сыграть с Вами злую шутку. Подключайте только самые необходимые, не надо жадничать:)

Например, при установке операционной системы Fedora по умолчанию сразу подключены два репозитория:

  • Fedora (пакеты, которые подходят на любую комбинацию из компакт-дисков или DVD-дисков)
  • Updates (обновленные пакеты, новее, чем репозиторий (хранилище) Fedora)

Для нормальной работы нужно подключить дополнительный репозиторий rpmfusion (без него Вам действительно не обойтись), что даст доступ к программам, которые не могли быть включены в дистрибутив из-за лицензионных ограничений (приложения, которые требуются для , таких как mp3 , dvd и т.д.; – к ним относятся проприетарные драйвера для ATI и NVIDIA ; игры: Bub"s Brothers, Secret Maryo Chronicles, UFO: Alien Invasion, Wörms of Prey, xrick, GLtron и многие, многие другие; эмуляторы: эмулятор Commodore 64 , а также Commodore 8 bit , эмулятор Amiga, Nestopia, ZSNES и много других). Чтобы подключить этот репозиторий, достаточно в командной строке (терминале) от суперпользователя () ввести команды:
$ sudo rpm -ivh https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
$ sudo rpm -ivh https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

Обратите внимание, что репозиторий rpmfusion разделяется на две части: free и nonfree . Первый содержит чисто свободные программы в понимании FSF , распространяемые под GPL и совместимыми с ней лицензиями. Содержимое второго, вопреки названию, - также программы по преимуществу свободные, но попадающие под пресловутые патентные ограничения некоторых государств (например, аудио- и видеокодеки).

То же самое касается и менеджера пакетов в Fedora . Для нормальной и удобной работы менеджера пакетов (yum) в Fedora рекомендуется подключить дополнительный плагин fastestmirror . Этот плагин очень важен: он определяет не просто ближайшее зеркало, как это делают аналогичные утилиты из других систем управления пакетами, а устанавливает именно самое быстрое зеркало в данный момент – по времени отклика.
$ sudo yum install yum-plugin-fastestmirror
В двух словах как-то так:)

Послесловие

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

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

Как и всегда, если есть какие-то вопросы, дополнения и всё такое прочее, то буду рад видеть их в комментариях к этому материалу.

P.S. За существование данной статьи спасибо члену команды Pantera

Иногда может возникнуть вопрос: чьих этот файл, откуда вообще взялась эта библиотека ? Удобный менеджер пакетов решает очень многие проблемы ОС. Можно с уверенностью сказать, что если вы подружитесь с МП, то подружитесь и с дистрибутивом как таковым. Причем важно освоить именно набор основных команд, и знать где найти дополнительную информацию.


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

Debian и родственные

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


То, что в примерах aptitude не значит, что он правильнее, чем apt-get . Для меня это всего лишь дело привычки.


$ aptitude install package #установить пакет; $ aptitude safe-upgrade package #обновить пакет; $ aptitude update #проверить и установить обновления; $ aptitude remove package #удалить пакет; $ aptitude purge package #удалить пакета с концами, все данные и настройки; $ apt-get dist-upgrade #обновить ОС, killer-feature и оно работает! $ aptitude search package #искать пакет. $ apt-cache depends package #зависимости пакета; $ apt-cache rdepends package #обратные зависимости от пакета.

Некоторые функции доступны с дополнительным МП dpkg .


$ dpkg -l #список установленных программ; $ dpkg -L package #список файлов пакета
Интернет