Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Установка новых программных пакетов

Простое управление пакетами с помощью Synaptic

Оригинал: Simple package management with Synaptic
Автор: Marco Marongiu
Дата: 3 мая 2006
Перевод А.Тарасова, дата перевода: 9 июля 2007

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

Леди и джентльмены: Synaptic!

Synaptic - это графическая оболочка (GUI) для управления программными пакетами в дистрибутивах, основанных на Debian. Если у вас установлен Debian или Ubuntu, вы легко найдете Synaptic в меню «Инструменты» («System Tools») или меню «Администрация» («Administration»). Synaptic использует графическую библиотеку GTK (относящуюся ко GNOME). Поэтому, если ваш Debian-дистрибутив оснащен оконным менеджером GNOME, то наверняка у вас Synaptic уже будет установлен.


Рисунок 1: В зависимости от версии GNOME, вы найдете Synaptic
в меню Администрация либо в меню Инструменты

Чтобы устанавливать и удалять пакеты, вам нужны привилегии администратора; поэтому вам нужно либо быть пользователем root, либо аутентифицироваться как root при запуске программы. Во втором случае вы увидите окно, показанное на рисунке 2. В нем вам нужно ввести пароль root.


Рисунок 2: Для запуска Synaptic нужны права администратора

Изучаем Synaptic

При запуске Synaptic вы увидите интерфейс как на рисунке 3.


Рисунок 3: Вы увидите это при запуске Synaptic

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

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

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


Рисунок 4: Пакеты могут быть отбираться по функциональности с помощью кнопки «Секции»

За работу!

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

Держим систему в порядке

По этой причине первое, что нужно сделать после запуска Synaptic - это обновить информацию о пакетах из ваших репозиториев и посмотреть, какие пакеты нуждаются в установке обновлений безопасности. В командной строке это означало бы ввести кучу команд; для Synaptic это дело нескольких щелчков мыши. Сначала, нажмите кнопку «Обновить» («Reload»), при этом произойдет обновление информации о доступных пакетах. Затем нажмите «Отметить все обновления» («Mark All Upgrades») для автоматического выбора всех пакетов, которые нужно обновить. Наконец, нажмите «Применить» («Apply») и подтвердите, что вы действительно хотите обновить выбранные пакеты. Спустя некоторое время вы увидите, что обновление безопасности завершено и теперь вы можете ничего не опасаясь совершать другие операции с пакетами.


Рисунок 5: Загрузка обновлений

Обычное обновление или smart-обновление?

В зависимости от устанавливаемого обновления может появиться окно как на рисунке 6.


Рисунок 6: Обычное обновление или smart-обновление?

Если у вас установлена чистая, vanilla-система (т.е. вы не устанавливали никаких пакетов, не относящихся к репозиторию вашего дистрибутива, т.е. не родных), то, пожалуй, ваш выбор - обычное обновление. Возможно, вам потребуется «умное» smart-обновление, когда вы переходите на новую версию дистрибутива (к примеру, вы меняете старый Debian «Woody» на более новый релиз «Sarge»). В других случаях обычного обновления бывает достаточно.

Установка новых программ

Теперь я покажу, как устанавливать программы с помощью Synaptic, на практическом примере. У меня в машине стоит MP3-стереосистема, я часто копирую музыку с компакт-дисков и могу слушать ее, когда вожу машину. Таким образом, мне удается брать всего лишь несколько дисков вместо того, чтобы забить ими всю машину. Занимаясь этим, я заинтересовался MP3-вещанием а-ля-Shoutcast. Поэтому я решил установить программу Icecast (свободный аналог Shoutcast) и попробовать ее. Если вы хотите узнать больше о пакете Icecast, вы можете найти его с помощью кнопки «Поиск» («Search»), после этого выберите его и нажмите кнопку «Свойства» («Properties»), чтобы детальнее изучить этот пакет.


Рисунок 7: Выбираем Icecast для установки

Установка Icecast с помощью Synaptic проста: ищете программу в списке пакетов (вручную либо с помощью функции поиска). Нажмите правой кнопкой мышки на соответствующей строчке и выберите «Отметить для установки» («Mark for installation»).


Рисунок 8: Установка Icecast в три шага

Вам будет показан список пакетов, в случае если Icecast нуждается в других пакетах, которые еще не установлены в системе. Эта ситуация называется «зависимостью» (более подробно об этом в следующих абзацах под названием «Зависимости и конфликты»). Вас попросят отметить другие пакеты, которые нужно установить, либо отменить процесс установки (шаг 1 на рисунке 8). В моем случае, мне нужен был лишь один пакет: libcurl3-gnutls. Я принял его, применил изменения, после чего меня попросили подтвердить еще раз список устанавливаемых пакетов (шаг 2). После этого вам останется лишь смотреть на текстовое окно (шаг 3), где будет отображаться информация о ходе установки. После завершения установки закройте окно.

Зависимости и конфликты

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

Подойдем с другой стороны. Что случится, если у вас установлены пакет А и его зависимость 1, а вы удаляете зависимость 1? Так как пакету A необходима зависимость 1, весьма вероятно, что после этого действия пакет A не будет работать. Такая ситуация называется «неудовлетворенной зависимостью». Synaptic поможет вам обойти такие неприятные ситуации, предупреждая вас о них. В этих случаях он спросит у вас, удалять ли пакет A вместе с зависимостью 1.

В противоположность понятию зависимости есть понятие «конфликта» - отношение, которое означает, что один пакет не может работать, когда установлен какой-то другой пакет. Другими словами, если пакет A не работает при установленном пакете B, говорят, что пакеты A и B «конфликтуют». К примеру, в моем дистрибутиве пакет gaim (клиент мгновенных сообщений, который поддерживает протоколы AIM, ICQ, MSN и еще полдюжины других протоколов) конфликтует с другими двумя пакетами (gaim-gnome и gaim-common). Это означает, что если вы попытаетесь установить gaim, хотя один из двух конфликтных пакетов (gaim-gnome или gaim-common) уже установлен, Synaptic попросит вас разрешения удалить их.

Конечно, после этого у вас дома не появится ваша собственная интернет-радиостанция, это тема другой статьи. Поэтому, я оставлю вас на этом (попробуйте установить какой-нибудь другой пакет, который более полезен для вас).

Удаление установленных программ

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

Synaptic и здесь приходит на помощь. Так случилось, что мне стало необходимым удалить пакет Skype из дистрибутива, и сейчас я покажу, как заставить Synaptic удалить пакет.

Сначала мне нравилось, что разработчики Skype предлагают репозиторий пакетов для своего ПО, и я мог обновлять эту программу. Deb-пакет для Skype был явно сделан для дистрибутива Debian «Sarge», и сначала все установилось хорошо на мой дистрибутив. К сожалению, вскоре появились проблемы из-за конфликтов. Мне пришлось удалить пакет Skype и установить его используя другой способ.

Как и в прошлый раз, выберите пакет Skype в списке пакетов; затем, нажмите правой кнопкой мыши на нем и выберите «Отметить для удаления» («Mark for Removal»), если вы хотите просто удалить программу, либо «Отметить для полного удаления» («Mark for Complete Removal») если вы хотите удалить как программу, так и ее конфигурационные файлы.

Конфигурационные файлы

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

Такая информация хранится и берется из «конфигурационных файлов» (файлы, которые прочитываются программой до ее запуска и которые определяют ее поведение в различных ситуациях). Системные конфигурационные файлы почти всегда находятся в каталоге /etc либо его подкаталогах. Например, конфигурация сетевых карт вашего компьютера хранится в файле /etc/network/interfaces.


Рисунок 9: Выбираем Skype для удаления

Затем, как обычно, нажимаете кнопку «Применить» («Apply») и подтвердите, что вы действительно хотите модифицировать систему, так как указали, и снова наблюдайте о ходе процесса в текстовом окне. Skype будет удален, и это потребовало всего нескольких щелчков мыши!

Как сломать систему

В этом отдельном случае я был достаточно удачлив, удалить Skype - это все, что нужно было сделать. Но если вы приметесь удалять пакет, который нужен другим пакетам?

Представьте, что вы решили почистить свою систему, удалив массу ненужных пакетов, которые вы установили давно и больше в них не нуждаетесь. К несчастью, вы уже забыли, что делает каждый пакет, и зачем вы его устанавливали. Таким образом, вы решаете пересмотреть каждый установленный пакет с помощью Synaptic. Вы прочитываете описание каждого пакета, один за одним, и натыкаетесь на пакет «mypackage», описание которого весьма смутно для вас: нахмурив брови, вы решаете удалить пакет, и отмечаете его для удаления.


Рисунок 10: Вы уверены, что хотите удалить этот пакет со всеми зависимостями?

Synaptic зависает на несколько секунд, в течение которых процессор работает на полную мощность, и затем показывает окно как на рисунке 10. Так что же произошло?

Так как удаление «mypackage» сделает неработоспособными все пакеты, которые зависимы от него, Synaptic спрашивает у вас подтверждения на удаление также и этих пакетов. Не паникуйте! Еще ничего не произошло. Сейчас вам нужно просмотреть список удаляемых пакетов и решить, действительно нужно ли вам нужно продолжать или нет. В случае, если вы случайно нажали «Отметить» («Mark»), не расстраивайтесь: ничего не произойдет, пока вы не нажмете кнопку «Применить» («Apply»). Поэтому если вы сделали что-то неправильно, просто закройте программу, отменив все изменения и начните заново.

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

Что такое пакет?

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

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

  • название пакета;
  • множество файлов, представляющих собой программное обеспечение;
  • множество скриптов, которые указывают системе, как устанавливать, конфигурировать и удалять программное обеспечение;
  • информация о зависимостях пакета (например, информация о зависимостях пакета xchat-common указывает на то, что если вы установите этот пакет, вам также придется установить xchat, иначе файлы пакета xchat-common будут бесполезны).
На данный момент популярны два формата пакетов: RPM и DEB. RPM означает Redhat Package Manager, и был создан разработчиками Red Hat. DEB был разработан людьми из Debian Project. Я не собираюсь разбираться в нюансах преимуществ того или другого формата, либо устраивать религиозную войну на этой почве. Достаточно сказать, что в дополнение к пунктуальности разработчиков Debian Project, формат DEB - это фундамент надежности дистрибутива Debian и солидная основа для всех дистрибутивах, основанных на Debian, например Ubuntu.

Управление пакетами в старые дни

Несколько лет назад управление пакетами в дистрибутиве Debian было делом двух программ: dpkg (низкоуровневый инструмент командной строки) и dselect (имеющая консольно-оконный интерфейс). Я использовал dpkg время от времени, но никогда не любил dselect. Но у меня не было выбора...

Затем пришел APT (Advanced Package Tool - Улучшенное средство управления пакетами) и apt-get (утилита командной строки более высокого уровня). При использовании dpkg мне приходилось задумываться над зависимостями пакетов, а apt-get все делает сам. Другими словами, когда вы собираетесь установить какой-нибудь пакет, он спросит разрешения также установить зависимости; если вы удаляете что-то, он уведомит, что некоторые другие пакеты перестанут работать и спросит разрешения удалить их тоже. Установка последних обновлений безопасности - дело нескольких команд; то же самое относится к задаче обновления всего дистрибутива в целом.

Плохие времена прошли: наконец-то я могу отказаться от dselect и положиться на apt-get. Но если вы не любитель командной строки, вы, наверное, откажетесь и от apt-get. Вот почему существует Synaptic!

Заключение

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

Лицензия

© Marco Marongiu 2007

Эта статья опубликована под лицензией «Attribution-NonCommercial» Creative Commons License 2.5, доступной по адресу http://creativecommons.org/licenses/by-nc/2.5/