Моя цель: немного рассказать о том, как в Linux устанавливаются программы (пакеты), какие бывают программы управления пакетами.
Что такое пакет
В Windows программное обеспечение устанавливается с помощью мастера установки — программы setup.exe или install.exe. Мастер установки свой для каждой программы, т. е. программа setup.exe, предназначенная для установки MS Office, не установит Photoshop.
В Linux все иначе. Здесь используются два основных способа установки программного обеспечения:
1. с помощью пакетов;
2. из исходных кодов.
Пакет содержит все необходимое для установки программы. Сущетвуют два основных типа пакетов:
RPM-пакеты — применяются во всех Red Hat-совместимых дистрибутивах (Red Hat, Fedora, CentOS, Mandrake, Mandriva, ALT Linux, ASPLinux и др.);
DEB-пакеты — применяются в дистрибутиве Debian и в дистрибутивах, основанных на Debian (Ubuntu, Kubuntu, Edubuntu, Denix и др.). А также в установленном у меня Linux Mint.
Если вы не можете найти пакет программы в Интернете, то можно компилировать программу самому (при условии, что вы нашли архив с исходным кодом программы). К сожалению, в Linux некоторые программы распространяются только в исходных кодах. Для установки такой программы нужно распаковать архив с исходными кодами (желательно, в каталог /usr/src), затем перейти в только что созданный каталог (содержащий исходные коды устанавливаемой программы) и выполнить следующие команды:
./configure
make
make install
Сценарий configure проверит, содержит ли ваша система необходимые библиотеки или программы, после чего, если все нормально, будет создан файл Makefile . Если вы увидели сообщение об ошибке, внимательно прочитайте его и попытайтесь устранить причину ошибки, например, установите недостающую библиотеку. Ясно, что в случае ошибки вводить последние две команды не нужно.
Вторая команда ( make ) на основании созданного файла Makefile компилирует программу. А последняя команда ( make install ) устанавливает программу и дополнительные файлы в дерево файловой системы (программы обычно в каталог /usr/bin, документацию — в /usr/share/doc, конфигурационные файлы — в /etc и т. д.).
Если в архиве присутствует файл README — обязательно прочитайте его: там инструкции по установке.
В современных дистрибутивах Linux все файлы, относящиеся к той или иной программе, помещаются в один файл — пакет. Пакет — это не просто архив, содержащий файлы программы. Там еще хранится служебная информация, описывающая процесс установки программы:
- пути — ведь один файл нужно скопировать, например, в каталог /usr/bin, а другой — в /usr/share/doc;
- дополнительные действия — например, создание каталога, установка тех или иных прав доступа к файлам и каталогам программы;
- зависимости — одна программа для своей работы может требовать какую-то библиотеку (без которой она не будет запускаться, поскольку использует функции этой библиотеки). Тогда в пакете указывается, что он зависит от другого пакета, содержащего библиотеку. При установке менеджер пакетов проверяет зависимости: если установлены не все пакеты, от которых зависит устанавливаемый пакет, установка будет прервана — пока вы не установите все необходимое. Вообще, можно установить программу без удовлетворения зависимостей (тогда информация о зависимостях будет просто проигнорирована), но в большинстве случаев установленная таким образом программа работать не будет;
- конфликты — одна программа может конфликтовать с другой программой.
В имени пакета зашифрована некоторая информация о программе, то есть версия и другая информацию о программе.
Репозитории пакетов
Репозиторий — это хранилище пакетов. Репозиторий может быть локальным, например, каталогом на жестком диске или на DVD, или же сетевым — сервером в Интернете или в локальной сети, содержащим пакеты. Репозитории создаются для централизованного управления обновлением пакетов. Представьте, что у нас нет репозиториев. Тогда, чтобы узнать, вышла ли новая версия нужной вам программы, вам пришлось бы посещать сайт ее разработчика или по крайней мере сайт разработчика дистрибутива Linux. А это не очень удобно.
С помощью репозиториев можно быстро и удобно отслеживать обновления пакетов. Причем это делает сам менеджер пакетов, а вы указываете, какие обновления нужно загружать, а какие — нет.
Практически все системы управления пакетами поддерживают хранилища пакетов.
В Linux Mint, например, есть программа Менеджер обновлений, которая постоянно следит за выходом обновлений ядра системы, программ, безопасности и др..
В меню программы Правка → Источники программ я настраиваю Источники приложений, в том числе — репозитории.
Программы для управления пакетами
Для управления пакетами в разных дистрибутивах используются разные программы. Например, в Linux Mint в текстовом режиме (в терминале) можно использовать программу dpkg : она идет с дистрибутивами, основанными на Debian. Но в терминале лучше использовать программы Apt и Aptitude.
В Linux Mint в графическом режиме можно двойным щелчком по файлу пакета запустить программу Gdeby, которая возьмет на себя все функции по установке пакета.
То есть для любителей работать в командном режиме с пакетами есть программы текстового режима, а для остальных пользователей такие программы, как Gdeby в Linux Mint :-) .
Друзья, иногда бывает необходимость программу удалить. Удаление программ также можно делать как в терминале, так и в графической программе, которая исполняет команды Linux с нужными опциями. Например, в Linux Mint для текстового режима есть программа Apt-get, которая вам даже подскажет дальнейшие действия и поможет в решении некоторых проблем. В руководстве по этой программе можно узнать о существующих опциях и их применении, вызывается так:
man apt-get
А, например, графическая программа — Sinaptic. Она переходит от дистрибутива к дистрибутиву версий Linux, созданных на основе Ubuntu.
В заключение:
Друзья, Linux постоянно развивается. На примере программ управления пакетами вы заметили, что разработчики оставляют (и дорабатывают) традиционные программы терминального режима. Без них — никуда! И Linux не был бы Linux-ом. В то же время дорабатываются программы графического режима, которые облегчают жизнь пользователей.
***
АНОНС! Дальше расскажу про настройку сетей! Не переключайтесь, оставайтесь с моим каналом!
***
Вам понравилось, оказалось полезным? Ставьте, пожалуйста, "лайк"!
Буду рад вашим подпискам.