Автоматическая установка пакетов linux

Автоматическая преднастроенная установка Ubuntu: isolinux и preseed

Как известно, Ubuntu Linux уже давным-давно содержит полный набор инструментов, необходимых для работы большинства офисных сотрудников. А то, что не содержит, можно доустановить, либо же запустить с сервера, например, с помощью FreeRDP и Remmina. В результате — экономия средств и сильное упрощение администрирования клиентов. Многие фирмы уже начали потихоньку заменять свой парк машин на тонкие клиенты и полноценные компьютеры с Linux. И если вы тоже хотите пересадить пару отделов на Ubuntu, то возможно я смогу помочь вам сэкономить немного времени.

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

Начнём с того, что данная статья содержит несколько специфичных для Ubuntu вещей, однако общие положения будут верны для любых дистрибутивов, способных использовать для установки Debain Installer. Кроме того, я не буду рассказывать, как настраивать загрузку компьютеров по сети (для этого вам понадобится TFTP сервер, развернуть который — обычно дело 2-х минут) и сосредоточу своё внимание на загрузке с диска. Однако в конце всё же расскажу, как все описанные приёмы применить для сетевого запуска компьютеров.

Итак, для начала необходимо раздобыть исходный образ системы с Debain Installer. Ubuntu Desktop LiveCD использует другой установщик, поэтому нам не подойдёт. Любой же не-LiveCD диск из семейства Ubuntu можно совершенно спокойно использовать. Вся дальнейшая инструкция написана для Ubuntu Alternate, хотя вряд ли она будет хоть чем-то отличаться для других вариантов системы.

Работа с iso

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

После его выполнения всё содержимое образа окажется в директории iso. Дальше можно будет внести необходимые изменения и запаковать образ обратно. Сразу приведу скрипт запаковки:

Пересчитывать MD5 суммы всех файлов необходимо, чтобы работала встроенная проверка целостности диска.

Автоматизация процесса установки

Теперь необходимо автоматизировать процесс установки. Для запуска установщика с диска используется загрузчик isolinux, и именно его настройке посвящён данный раздел. Про особенности загрузки по сети я расскажу в самом конце статьи.

А пока пойдём по порядку. Первым делом при запуске компьютера с CD диска Ubuntu вам предложит выбрать язык. Чтобы этот запрос не появлялся необходимо создать в папке isolinux/ файл с именем lang, всё содержимое которого будет представлять буквенный код нужного языка. У меня, например, в файле lang выбран русский язык:

Все доступные варианты языка можно посмотреть в файле isolinux/langlist.

Далее необходимо, чтобы загрузчик выбирал автоматически нужный пункт меню после некоторого ожидания. В нашем случае этим пунктом будет автоматическая установка. По умолчанию Ubuntu ждёт выбора пользователя и не выполняет никаких действий. Чтобы поменять такое поведение необходимо изменить значение параметра timeout в файле isolinux/isolinux.cfg на ненулевое значение. Время измеряется в десятых долях секунды, соответственно для выставления таймаута в две секунды в этом файле должна быть такая запись:

Осталось только выбрать, какой пункт меню будет запускаться по умолчанию. Все пункты меню задаются в файле isolinux/text.cfg, его и будем сейчас менять. Для нашей автоматической установки мы создадим свой собственный пункт меню с названием «OEM Install» для того, чтобы остались доступны обычные опции установки. Сразу надо сказать, что самим процессом установки управляют так называемые preseed файлы, которые лежат в соответствующей директории на диске. О них чуть позже, пока же можно скопировать описание любого стандартного пункта меню, поменять его имя и имя preseed файла для него, а так же сделать его запускаемым по умолчанию. Вот что в итоге получилось у меня:

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

Preseed

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

Если копнуть чуть глубже, то можно выяснить, что Debian Installer использует систему debconf для управления процессом установки, а технология preseed просто заранее добавляет нужные ответы в базу данных debconf. Таким образом с помощью preseed можно настроить не только установщик, но и другие приложения, использующие debconf, хотя эта особенность вам вряд ли пригодится.

Каждая инструкция preseed состоит обычно из четырёх частей: владельца, названия параметра, типа параметра и значения. Между частями обязательно должен быть ровно один пробел. Установщик носит имя d-i, и именно это значение будет стоять в первом поле в большинстве инструкций. Существует три способа задания инструкций preseed:

  1. Через параметры запуска ядра.
  2. Через указание загружаемого по сети файла с инструкциями.
  3. Через локальный файл с инструкциями.

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

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

Читайте также:  Windows 10 не открывает параметры системы

Необходимо немного поменять файл isolinux/text.cfg, добавив несколько опций загрузки к нашему OEM Install пункту. В итоге должно получиться примерно следующее:

Я думаю в целом понятно, что это за параметры, и что здесь можно поменять. Теперь всего лишь осталось создать основной файл с инструкциями для preseed, который, как вы уже наверно догадались, в моём случае называется preseed/oem.seed. Сразу хочу обратить внимание, что для передачи имени файла установщику служит параметр file. Этот параметр будет работать только при загрузке с диска с помощью isolinux, и в нём для ссылки на содержимое диска можно использовать путь /cdrom.

Вот комментированное содержимое моего preseed файла:

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

Во-первых имейте ввиду, что для того, чтобы писать сценарии автоматической установки, надо чётко себе представлять установку в ручном режиме, в частности, на какие вопросы, когда и в каких случаях приходится отвечать. С помощью preseed можно поставить систему ровно также, как и в ручном режиме. Единственное ограничение — в автоматическом режиме нельзя произвести установку на уже имеющиеся на компьютере разделы. В моём сценарии я использую самый простой подход к выделению места: очистку и автоматическую разметку под систему всего первого жёсткого диска.

Кроме того, при автоматической установке можно использовать многие возможности, недоступные в ручном режиме. Например, вы можете задать пароль для root и создать непривилегированного пользователя системы, как и сделано у меня, а можете использовать поведение по умолчанию и сделать первого пользователя администратором, предоставив ему доступ к настройкам системы через sudo. В первом случае необходимо присвоить параметру passwd/root-login значение true и указать пароль для root, во втором — просто не добавлять этот параметр в preseed файл. Кстати, пароль можно указывать как в явном виде (крайне не рекомендуется), так и в виде хеша, аналогичного хешу в файле /etc/shadow. Во втором случае можно задать нужный пароль какому-нибудь пользователю на работающей системе, а затем скопировать значение хеша пароля для него из файла /etc/shadow в свой preseed файл. Хеши, используемые в моём файле, соответствуют паролю Passw0rd.

Большинство полезных опций preseed можно найти в официальной документации Ubuntu. Кстати, обратите внимание: для того, чтобы указывать в сценариях preseed ответы на вопросы, в которых надо выбрать один из нескольких пунктов, достаточно всего лишь написать текст нужного пункта на английском языке (на самом деле можно только начало и можно даже не на английском, а на любом). Поэтому если вы знаете название нужной опции, то вы можете поставить систему в ручном режиме и записать текст нужного вам значения для этой опции, а потом добавить её автоматическую настройку в свой preseed файл. В моём сценарии подобным образом задано, например, значение для параметра netcfg/dhcp_options, отвечающего за действия в случае невозможности сконфигурировать сеть автоматически.

Если вы не нашли нужных вам опций в документации, то можете поставить систему вручную, а затем сразу после установки выполнить в новой системе две нижеприведённых команды:

В результате вы получите в файле seedlog.txt все значения из базы debconf, которые были использованы в процессе установки. Среди них вполне можно найти нужные вам параметры.

Как автоматизировать процесс установки вроде разобрались, теперь немного про то, как можно настроить саму устанавливаемую систему.

Настройка системы

Во-первых, обратите внимание, для указания инсталлятору набора пакетов для установки поверх базовой системы, используются задания tasksel. В приведённом выше сценарии я устанавливаю задание ubuntu-desktop, т.е. базовую систему Ubuntu для настольных компьютеров. Тому, как изменять списки устанавливаемых пакетов и управлять заданиями tasksel, будет посвящена следующая статья. Пока же будем считать, что нас вполне устраивает базовая Ubuntu и всё, что нам нужно — это настроить её для своих нужд. Кстати, Alternate диски различных вариаций Ubuntu содержат набор пакетов только под одно какое-то конкретное задание tasksel. То есть, например, на диске Xubuntu Alternate будут пакеты только для установки задания xubuntu-desktop, поэтому лучше скопировать название задания для своего preseed сценария из стандартного файла, находящегося в директории preseed/ вашего компакт-диска, и не пытаться его менять.

Но как же настроить устанавливаемую систему? Для этих целей в preseed предусмотрена возможность выполнения произвольной команды после завершения установки системы. Команда эта указывается в параметре preseed/late_command и может содержать вызов всех базовых утилит. При этом доступны две особенные директории — /cdrom, которая, как можно догадаться, ссылается на содержимое установочного диска, и /target, которая ссылается на корень уже установленной на жёсткий диск системы.

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

Мой сценарий содержит такую вот команду:

Как видно, я создаю в корне установленной системы директорию install/ и копирую в неё всё содержимое папки extra/ с моего диска, затем запускаю на выполнение скрипт postinstall.sh, предварительно войдя в новую систему с помощью chroot.

Скрипт postinstall.sh может содержать всё, что угодно, с ограничениями, описанными выше. Например:

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

Установка по сети с использованием pxelinux

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

  1. В дополнение к параметрам языка и клавиатуры preseed опции настройки сети также придётся передавать как явные параметры ядра.
  2. Нельзя использовать параметр file в опциях ядра для загрузки preseed файла, вместо него нужно использовать параметр url. Кроме того можно получать имя файла по DHCP, подробней об этом в официальной документации.
  3. Нельзя использовать директорию /cdrom ни в каких preseed параметрах, в частности, в preseed/late_command. Соответственно загружать скрипт настройки и все необходимые данные для него придётся также по сети.
Читайте также:  Отдельный пользователь для windows

В остальном всё будет ровно так же, как описано выше. Благо pxelinux является братом isolinux, предназначенным для загрузки по сети, а не с диска.

Источник

Популярные пакетные менеджеры Linux

Содержание:

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

Чтобы сделать систему дружелюбней к пользователю, были разработаны пакетные менеджеры, которые полностью автоматизировали установку программ. Инсталляция приложений в них производится из пакетов – архивов с файлами скомпилированной программы. Исключение — система Gentoo, где менеджер компилирует программы по подготовленным скриптам.

Большинство популярных дистрибутивов на базе Unix/Linux уже оснащены пакетными менеджерами, способными устанавливать любое программное обеспечение. Будь то внешнее приложение или компоненты ОС. В этом заключается основное различие между пакетным менеджером и инсталлятором. Последний нужен для установки только одной специфической программы, тогда как система управления пакетами — универсальный установщик ПО.

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

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

Теоретические основы

Категории пакетных менеджеров

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

Распространенные форматы пакетов

  • DEB (.deb). Самый популярный формат пакетов дистрибутива Debian и его ближайших родственников — Ubuntu, MX Linux, Pop!_OS, elementary OS и других.
  • RPM (.rpm). Разработан компанией Red Hat и внедрен в дистрибутив RHEL. Также применяется в таких системах как Fedora и CentOS.
  • TAR.XZ. Стандартный тип пакетов для дистрибутива ArchLinux и его производных — Manjaro, ARCOLINUX и других.
  • Ebuild (.ebuild). Скрипт bash-сценария для компиляции программ в дистрибутивах Gentoo и Calculate Linux.

Разрешение зависимостей

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

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

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

Популярные пакетные менеджеры

DPKG (Debian Package) – система управления пакетами в Debian и дистрибутивах на его основе, например Ubuntu.

Утилита DPKG появилась в дистрибутиве Debian в 1995 году. Низкоуровневый пакетный менеджер создан только для работы с локальными DEB пакетами и не может самостоятельно разрешать зависимости, а также скачивать пакеты из репозиториев.

Особенности

  • Поддерживает добавление архитектур из других дистрибутивов Linux.
  • DPKG выполняет работу только с локальными пакетами.
  • Под архитектуру DEB выпущено более 55000 пакетов.

Пакеты DEB – это архивы с набором установочных файлов. Для установки в систему необходимой программы из репозиториев создан высокоуровневый пакетный менеджер APT, который параллельно работает с DPKG.

APT (Advanced Packaging Tool) – консольная утилита, выполняющая роль «поисковика» и загрузчика пакетов из репозиториев. Установка скачанных пакетов производится утилитой DPKG. Благодаря эффективному разрешению зависимостей, пакетный менеджер APT используется по умолчанию в дистрибутивах с архитектурой Debian и поддерживает систему в актуальном состоянии.

Список репозиториев хранится в файле «/etc/apt/sources.list» и может быть изменён пользователем в любой момент для установки или обновления программы, не входящей в базу дистрибутива. Установка скачанных пакетов производится утилитой DPKG.

Изначально APT разрабатывался только для работы с пакетами DEB, использующихся в Debian и родственных ОС (Ubuntu, Linux Mint). Позже в него была добавлена поддержка rpm-файлов. Благодаря этому, установить софт привычным образом можно даже в дистрибутивах RED HAT и его производных (Fedora, CentOS и др.).

Оболочки APT

Для упрощения работы с APT можно использовать консольные оболочки APTITUDE или Synaptic.

APTITUDE

APTITUDE — это утилита, выполняющая роль «надстройки» для APT. Разработчики программы добавили полезные функции, оптимизирующие систему поиска пакетов, а также исправили ошибки, касающиеся разрешения зависимостей.

APTITUDE доступен в нескольких вариантах интерфейса:

  • Графический интерфейс (GUI) на базе фреймворка GTK. Привычный для пользователя оконный интерфейс с возможностью управления мышью.
  • Текстовый пользовательский интерфейс. Оболочка, открывающаяся в консоли. Интерфейс снабжается минимальным количеством графических элементов и может запускаться через протокол SSH. Управление осуществляется с помощью одиночных или групповых нажатий клавиш клавиатуры. Например, для переключения строк чаще всего используются клавиши со стрелками.
  • Интерфейс командной строки. Подразумевает управление программой с помощью команд. Вариант позволяет полноценно пользоваться функционалом утилиты и подходит для продвинутых пользователей.

Если в дистрибутиве APTITUDE отсутствует по умолчанию, то выполнить установку можно следующими командами:

Synaptic

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

Установить Synaptic можно следующими командами:

Открыть программу можно, найдя ярлык в меню рабочего окружения, или введя « sudo synaptic » в терминале.

RPM (Red Hat Package Manager) – формат пакетов и низкоуровневый пакетный менеджер систем RED HAT (RHEL, CentOS, Fedora и др.) Как и DPKG, способен работать только с локальными файлами.

Читайте также:  Можно ли восстановить windows с установочного диска

Пакетный менеджер выпущен в 1997 году. Он работает с пакетами RPM. В отличие от DEB, пакеты RPM архивируются утилитой cpio, сжимающий пакет алгоритмом gzip.

Особенности

  • Обновление программ производится в ускоренном режиме, благодаря замене только отредактированных разработчиком элементов пакета.
  • Для скачивания, обновления пакетов, а также разрешения зависимостей придётся использовать пакетные менеджеры более высокого уровня (YUM, DNF).
  • Начиная с 2010 года, пакеты подписываются с хешем MD5. Это исключает вероятность изменения файла RPM злоумышленником для внедрения вирусного кода.

YUM (Yellowdog Updater, Modified) – высокоуровневый пакетный менеджер, написанный на языке Python для систем RED HAT (RHEL, CentOS, Fedora). Программа представляет собой своеобразную оболочку для утилиты RPM.

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

DNF (Dandified YUM) – модифицированная версия пакетного менеджера YUM на языке на Python. Разработка утилиты начата в 2011 году. В 2015 году DNF стал основным менеджером пакетов для системы Fedora 22. В DNF были исправлены такие недостатки YUM, как некорректная установка зависимостей, низкая скорость работы, большое потребление оперативной памяти.

Yum Extender

Yum Extender – лёгкая графическая оболочка для менеджеров пакетов YUM и DNF.

Yum Extender устанавливается следующей командой:

Pacman

Pacman – высокоуровневый пакетный менеджер системы Arch Linux и его родственных дистрибутивов (Manjaro, EndeavourOS и др.). Программа написана на языке C# и совмещает высокую функциональность, легкость и производительность. В качестве пакетов используются архивы pkg.tar.xz.

Особенности

  • В Pacman совмещены функции работы с репозиториями и установка пакетов в систему, в отличие от систем Debian или Red Hat.
  • В систему устанавливается новейшее ПО, благодаря модели обновлений «плавающий релиз» (rolling-release).
  • В репозиториях Pacman располагаются заранее собранные пакеты, что значительно ускоряет процесс инсталляции программ.
  • Поддержка работы с репозиторием AUR.

Компиляция программы производится только в том случае, если пакет взят из репозитория AUR (Arch User Repository). Он содержит более 54000 пакетов и активно поддерживается обычными пользователями и администраторами ArchLinux.

Перед тем, как попасть в официальный репозиторий дистрибутива, пакеты проходят тщательный отбор в репозиториях AUR. Репозиторий AUR, в отличие от официального репозитория, содержит скрипты PKGBUILD для самостоятельной сборки пакета в системе пользователя. Для компиляции используется скрипт MakePKG.

Оболочки Pacman

MakePKG

Скрипт, объединяющий работу компилятора, линкера и других вспомогательных приложений для сборки пакета из PKGBUILD. MakePKG установлен по умолчанию в системе с пакетным менеджером Pacman. Компонент входит в пакет base-devel и ABS (Система автоматической сборки пакетов).

Установка или обновление всех компонентов производиться командами:

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

Важно. Запуск скрипта с помощью MakePKG должен проводится без предоставления прав администратора. Это делается для защиты системы от выполнения вредоносных команд, находящихся в файле «pkgbuild».

Программа написана на языке GO и используется для поиска и установки пакета из репозитория AUR. Управления Yay производится посредством командной строки.

Для установки утилиты в дистрибутив с Pacman нужно задать следующие команды:

Утилита Yay упрощает весь алгоритм установки до ввода одной простой команды в консоль. Например, запрос к терминалу для инсталляции пакета из AUR строится следующим образом:

Примечание. Для установки пакетов через Yay не требуется предоставлять административный доступ утилите (добавлять «sudo» перед командой).

Pamac

Графический менеджер пакетов Pamac разработан специально для Manjaro, но может быть установлен в любой дистрибутив на основе Arch Linux. Программа сочетает лёгкость с большим функционалом. В качестве источников используются официальные репозитории дистрибутивов AUR и Snappy.

Установка программы Pamac выполняется командой:

Portage

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

Особенности

  • Программы собираются под пользовательскую систему и железо, что обеспечивает стабильную работу ОС.
  • По сравнению с распаковкой программ у других пакетных менеджеров, компиляция в Portage занимает много времени. Например, полный пакет LibreOffice компилируется от 4 часов и более.
  • Пользователь может гибко настроить параметры компиляции и полностью управлять процессом сборки. Например, поставить операцию на паузу и продолжить позже.
  • Для обновления установленного ПО используется система rolling-release, благодаря которой в репозитории дистрибутива поставляются пакеты последней версии, опубликованные разработчиком в течение 1-2 дней.

Установка программ из репозиториев чаще всего производится с помощью интерфейса Emerge. Для добавления дружелюбности системе, также можно использовать графическую оболочку Kuroo.

Интерфейсы Portage

Emerge

Консольный интерфейс Emerge предназначен для сборки и обновления программ и их зависимостей. Инструмент доступен «из коробки» и используется для работы с системой Portage по умолчанию.

Для компиляции программ используются ebuild-скрипты. Они содержатся в локальных репозиториях Gentoo (overlay), а сам исходный код программ скачивается с GitHub. Настроить список репозиториев можно самостоятельно, в файле «/etc/portage/repos.conf».

Kuroo

Графический интерфейс Kuroo по принципу работы почти не отличается от Emerge. Утилита написана на языке C++ с использованием фреймворка Qt.

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

Заключение

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

  • DPKG и RPM больше подойдут пользователям, ожидающим от системы лёгкой настройки и стабильной работы.
  • Pacman оперативно обеспечивает систему новейшим ПО, благодаря системе rolling-release.
  • Portage совмещает преимущества предыдущих пакетных менеджеров, но требует от пользователя внимательности и желания глубоко осваивать систему.

Чтобы даже самый требовательный дистрибутив Linux работал как швейцарские часы — выбирайте VDS от Eternalhost с оперативной техподдержкой 24/7 и бесплатной защитой от DDoS.

Источник

Оцените статью