Установка программного обеспечения в Windows производится при помощи мастера установки (setup.exe/install.exe). В Linux же используют два основных способа установки ПО:

  • при помощи пакетов;
  • при помощи исходных кодов.

Пакет содержит все необходимое (включая зависимости) для работы программы. Существует два основных типа пакетов:

Если найти программу в виде пакетов не получается, то стоит попробовать найти и установить программу из исходных кодов (желательно, в каталог /usr/src), для чего вначале необходимо распаковать архив в данных каталог, перейти в него и выполнить определенные команды.

./configure    # проверка необходимых библиотек (зависимостей), создаст файл Makefile
make    # скомпилирует программу на основании файла Makefile
make install    # установит программу и доп. файлы в дерево ФС (программы в каталог /usr/bin, документацию в /usr/share/doc, конфиги в /etc и т.д.)

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

Репозитории - хранилища пакетов ПО (могут быть как локальными, так и удаленными). Используют для централизованного управления обновлением пакетов. В Debian и основанных на ней дистрибутивах используются программы для управления dpkg (простой менеджер пакетов, работает в текстовом режиме и не умеет разрешать зависимости пакетов) и apt (мощный менеджер пакетов, работает в текстовом режиме, умеет разрешать зависимости и поддерживает репозитории).


dpkg [ключи] действие    # вызов программы dpkg (нужен root)
sudo dpkg -i /путь/package.deb    # установка пакета deb (обновление при наличии старой версии выполняется автоматически)
sudo dpkg -r package    # удаление пакета
    -l [образец]    # вывести все установленные пакеты, имена которых соответствуют образцу (маски * и ?), если образец не задан, выводятся все пакеты
    -L <имя_пакета>    # вывести имена файлов из указанного пакета
    -p <имя_пакета>    # вывести информацию об установленном пакете
    -s <имя_пакета>    # вывести информацию о статусе пакета
    --unpack <имя_пакета.deb>    # распаковать, но не устанавливать пакет

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

sudo apt-get install alien    # установка программы alien
sudo alien package_file.prm    # установка rpm-пакета
sudo apt-get remove alien    # удаление программы alien

apt-get - программа для управления пакетами, которая поддерживает источники пакетов и умеет разрешать зависимости. Просматривает файл с источниками (репозитариями) DEB-пакетов /etc/apt/sources.list. Программа находит указанный пакет (в Интернет или на диске), читает служебную информацию, разрешает зависимости (устанавливает необходимые другие пакеты) и затем устанавливает указанный пакет. Все загруженные пакеты записываются в каталог /etc/cache/apt/archives.

sudo nano /etc/apt/sources.list    # указание источников пакетов

Основные репозитории:

  • main - основные программы, распространяются свободно и регулярно поддерживаются (обновляются).
  • restricted - программы, которые распространяются по несвободным лицензиям, а также имеют ограниченную поддержку.
  • universe - программы с открытыми лицензиями, поддержка программ не гарантируется
  • multiverse - программы, которые распространяются несвободно и без всякой поддержки и гарантий.
  • security - исправления пакетов из репозиториев main и restricted.
  • backports - неофициальные пакеты свежих версий программ, собранные из исходных кодов энтузиастами (любителями).
apt-get [опции] команды [пакет]
    update    # синхронизация файлов описаний пакетов с источниками пакетов
    upgrade    # обновление пакетов из источников
    dist-upgrade    # обновление дистрибутива и всех пакетов в нем
    install    # установка пакетов
    remove    # удаление пакетов
    check    # поиск нарушенных зависимостей
    clean    # очистка локального хранилища пакетов
    autoclean    # очистка пакетов, которые не могут быть получены и использованы

# после каждого изменения файла sources.list необходимо обновлять описания пакетов
sudo apt-get update
# переустановка пакета в случае сбоя
sudo apt-get --reinstall install <пакет>
# зачистка пакета (удаление программы и конфиг-файлов)
sudo apt-get --purge remove <пакет>
# обновление пакета и дистрибутива
sudo apt-get upgrade <пакет>
sudo apt-get dist-upgrade
# очистка кэша пакетов (каталог /var/cache/apt/archives
sudp rm /var/cache/apt/archives/*.deb    # удаление пакетов из кэша
sudo apt-get clean    # удаление пакетов из кэша (включена в автозапуск)

    # каталоги кэша
    /var/cache/apt/archives/    # хранение полученных файлов
    /var/cache/apt/archives/partial/    # хранение получаемых файлов (пакетов)
    /var/state/apt/lists/    # информация о состоянии каждого ресурса пакетов 
    /var/state/apt/lists/partial/    # хранение информации в процессе скачивания   

    # опции (ключи) команды apt-get
    -d, --download-only    # скачать пакеты без установки
    -f, --fix-broken    # исправить систему с нарушенными зависимостями (если некоторые пакеты были удалены при помощи dpkg с нарушением зависимостей)
    -m, --ignore-missing, --fix-missing    # игнорировать отсутствующие пакеты
    -q, --quiet    # тихий режим (вывод минимума сообщений - для сценариев bash)
    -s, --simulate    # симулирует процесс установки (проверка возможности установки)
    -y, --yes    # автоматически отвечать "да"
    -b, --compile, --build    # скомпилировать пакеты исходного кода после получения
    --no-upgrade    # не производить обновление пакетов (используют вместе с install)
    --force-yes    # принудительное выполнение операции
    --purge    # полное удаление пакета (зачистка)    
    --reinstall    # переустановить пакет
# программа aptitude позволяет использовать псевдографический интерфейс для установки

results matching ""

    No results matching ""