Правильный Linux. Пробуем NixOS, уникальный, странный и очень удобный дистрибутив - «Новости»
Конец эпохи: Microsoft «похоронила» синий экран смерти в Windows 11 - «Новости сети»
Конец эпохи: Microsoft «похоронила» синий экран смерти в Windows 11 - «Новости сети»
Российские геймеры не смогли зайти в Steam в разгар распродажи - «Новости сети»
Российские геймеры не смогли зайти в Steam в разгар распродажи - «Новости сети»
DeepSeek упёрся в санкции: разработка модели R2 забуксовала из-за нехватки чипов Nvidia - «Новости сети»
DeepSeek упёрся в санкции: разработка модели R2 забуксовала из-за нехватки чипов Nvidia - «Новости сети»
«Насмешка над конкуренцией»: Apple дала разработчикам выбор — 5 % комиссии или урезанные функции App Store - «Новости сети»
«Насмешка над конкуренцией»: Apple дала разработчикам выбор — 5 % комиссии или урезанные функции App Store - «Новости сети»
В США начали строить горизонтальный ветрогенератор будущего — дешевле и эффективнее классических ветряков - «Новости сети»
В США начали строить горизонтальный ветрогенератор будущего — дешевле и эффективнее классических ветряков - «Новости сети»
Яндекс представил новое поколение Карт с улучшенным визуалом и детальной разметкой - «Новости мира Интернет»
Яндекс представил новое поколение Карт с улучшенным визуалом и детальной разметкой - «Новости мира Интернет»
«Продолжаем держать курс на крутые обновления»: создатели «Мира танков» и «Мира кораблей» нацелены обжаловать решение суда - «Новости сети»
«Продолжаем держать курс на крутые обновления»: создатели «Мира танков» и «Мира кораблей» нацелены обжаловать решение суда - «Новости сети»
Apple исправила главную проблему Liquid Glass — вторая бета iOS 26 стала более читаемой - «Новости сети»
Apple исправила главную проблему Liquid Glass — вторая бета iOS 26 стала более читаемой - «Новости сети»
Twitch лишил пользователей из России трансляций в 1080p - «Новости сети»
Twitch лишил пользователей из России трансляций в 1080p - «Новости сети»
В MIT придумали бустер для CPU и GPU — крошечный дискретный GaN-транзистор «дайлет» - «Новости сети»
В MIT придумали бустер для CPU и GPU — крошечный дискретный GaN-транзистор «дайлет» - «Новости сети»
Новости мира Интернет » Новости » Правильный Linux. Пробуем NixOS, уникальный, странный и очень удобный дистрибутив - «Новости»

Содержание статьи

  • Устанавливаем
  • Выбираем загрузчик
  • Создаем пользователей
  • Ставим проприетарные пакеты
  • Другие настройки
  • Обновления
Сколько раз в жизни ты переустанавливал Linux? А сколько раз устанавливал одинаковый набор пакетов на несколько разных машин? И не приходилось ли тебе начинать все сначала из-за неудачного обновления системы или конфигов? Все это не только утомляет, но и грозит серьезными потерями, если речь идет о бизнесе. Избежать таких проблем поможет NixOS — дистрибутив, который можно в одну команду привести к нужному тебе состоянию.

Декларативный и функциональный


NixOS — это дистрибутив Linux, построенный вокруг двух ключевых идей:


  1. Декларативное описание конфигурации (или, лучше сказать, состояния) системы.

  2. Функциональный менеджер пакетов, допускающий откаты и параллельную установку приложений.

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


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


Другими словами, если тебе нужна система с установленным Apache, PHP, MySQL, SSH и с некоторыми дополнительными настройками, ты просто описываешь все это в одном конфиге, а затем отдаешь команду на развертывание системы. Независимо от того, свежеустановленная это ОС или уже используемая, ты получишь абсолютно идентичную систему с идентичным набором пакетов и конфигов.


Все это возможно благодаря пакетному менеджеру Nix. В классических дистрибутивах Linux пакетный менеджер при установке пакета «размазывает» его содержимое по всей системе: запускаемые файлы в /usr/bin, библиотеки в /usr/lib, остальные компоненты — в /usr/share. В результате ты получаешь проблемы с неудачным обновлением/удалением пакетов (когда могут остаться файлы-сироты), ад зависимостей (когда два приложения требуют разные версии /usr/lib/libjpeg.so, например) и легкий способ уничтожить всю систему, неудачно обновившись.


Пакетный менеджер Nix размещает все установленные пакеты в собственных подкаталогах внутри каталога /nix/store. К примеру, установленный пакет Git будет располагаться в каталоге /nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1, где набор цифр — это хеш, образованный от окружения сборки пакета: файлов исходников, дерева зависимостей, флагов компилятора и другого. Поэтому с помощью Nix можно установить одновременно не только две версии одного приложения, но и даже две разные сборки.


Благодаря возможности устанавливать разные версии и сборки пакетов и тому, что они располагаются отдельно от системных каталогов, NixOS решает почти все проблемы классических пакетных менеджеров — от неконсистентности системы после неудачного обновления до ада зависимостей. Этот же механизм позволяет откатить систему к предыдущему состоянию и создать сразу несколько разных профилей (слепков) системы, переключаться между которыми можно, не перезагружая машину. Хочешь превратить домашний комп в сервер одной командой? В NixOS с этим нет проблем. Ты даже можешь унести конфигурационный файл NixOS на другую машину и развернуть на ней точно такую же систему с абсолютно тем же набором пакетов.


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


Устанавливаем


В NixOS нет инсталлятора, но если ты когда-нибудь устанавливал Arch Linux, то у тебя не должно возникнуть проблем. Для начала скачиваем последнюю версию NixOS с официального сайта и записываем ее на флешку:


$ wget https://d3g5gsiof5omrk.cloudfront.net/nixos/18.03/nixos-18.03.133192.45f52f765cd/nixos-graphical-18.03.133192.45f52f765cd-x86_64-linux.iso
$ sudo dd if=nixos-graphical-18.03.133192.45f52f765cd-x86_64-linux.iso of=/dev/sdX

Затем перезагружаем машину и грузимся с флешки. NixOS встретит тебя приветствием командной строки.


Первое, что мы должны сделать, — подготовить диск для установки. Проще всего сделать это с помощью parted (в данном примере мы создаем один большой раздел ext3 на диске с разметкой в стиле DOS):


# parted /dev/sda
(parted) mklabel msdos
(parted) mkpart primary ext4 0% 100%
(parted) quit

Мы будем ставить систему на зашифрованный диск, поэтому для начала инициализируем шифрование:


# export NIXOS_NAME="name" # Придумай свое имя
# cryptsetup luksFormat /dev/sda1
# cryptsetup luksOpen /dev/sda1  ${NIXOS_NAME}

Затем примонтируем диск к каталогу /mnt:


# mkfs.ext4 -L ${NIXOS_NAME} /dev/mapper/${NIXOS_NAME}
# mount /dev/mapper/${NIXOS_NAME} /mnt

Теперь обновляем репозитории:


# nix-channel --update

И генерируем дефолтовые файлы конфигурации:


# nixos-generate-config --root /mnt

Команда сохранит на диск два файла: configuration.nix и hardware-configuration.nix. Первый — это и есть тот самый файл описания состояния системы, с которым мы будем работать в дальнейшем. Содержимое второго изменять не надо — оно создается автоматически на основании железа, на которое устанавливается NixOS.


Наконец, устанавливаем систему и перезагружаемся:


# nixos-install


Устанавливаем NixOS

Configuration.nix


Файл configuration.nix — основа дистрибутива. В нем пользователь указывает всю желаемую/необходимую конфигурацию (состояние) системы от пользователей и пакетов до шрифтов и в любой момент может ее изменять. Система будет выглядеть ровно так, как ее опишет пользователь в этом файле.


Источник новостиgoogle.com
Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.

Содержание статьи Устанавливаем Выбираем загрузчик Создаем пользователей Ставим проприетарные пакеты Другие настройки Обновления Сколько раз в жизни ты переустанавливал Linux? А сколько раз устанавливал одинаковый набор пакетов на несколько разных машин? И не приходилось ли тебе начинать все сначала из-за неудачного обновления системы или конфигов? Все это не только утомляет, но и грозит серьезными потерями, если речь идет о бизнесе. Избежать таких проблем поможет NixOS — дистрибутив, который можно в одну команду привести к нужному тебе состоянию. Декларативный и функциональный NixOS — это дистрибутив Linux, построенный вокруг двух ключевых идей: Декларативное описание конфигурации (или, лучше сказать, состояния) системы. Функциональный менеджер пакетов, допускающий откаты и параллельную установку приложений. В отличие от других дистрибутивов NixOS не требует от пользователя выполнять длинную цепочку действий, чтобы получить систему, которая ему нужна: устанавливать систему, загрузчик и пакеты, добавлять пользователей, править конфиги и так далее. Вместо этого NixOS предлагает описать необходимое состояние системы в специальном конфигурационном файле, где будет перечислено все, начиная от пакетов и заканчивая возможностью логина по SSH с помощью пароля. Далее достаточно выполнить одну команду, и, в каком бы состоянии система ни находилась в данный момент, пакетный менеджер приведет ее к требуемому. Другими словами, если тебе нужна система с установленным Apache, PHP, MySQL, SSH и с некоторыми дополнительными настройками, ты просто описываешь все это в одном конфиге, а затем отдаешь команду на развертывание системы. Независимо от того, свежеустановленная это ОС или уже используемая, ты получишь абсолютно идентичную систему с идентичным набором пакетов и конфигов. Все это возможно благодаря пакетному менеджеру Nix. В классических дистрибутивах Linux пакетный менеджер при установке пакета «размазывает» его содержимое по всей системе: запускаемые файлы в /usr/bin, библиотеки в /usr/lib, остальные компоненты — в /usr/share. В результате ты получаешь проблемы с неудачным обновлением/удалением пакетов (когда могут остаться файлы-сироты), ад зависимостей (когда два приложения требуют разные версии /usr/lib/libjpeg.so, например) и легкий способ уничтожить всю систему, неудачно обновившись. Пакетный менеджер Nix размещает все установленные пакеты в собственных подкаталогах внутри каталога /nix/store. К примеру, установленный пакет Git будет располагаться в каталоге /nix/store/nawl092prjblbhvv16kxxbk6j9gkgcqm-git-2.14.1, где набор цифр — это хеш, образованный от окружения сборки пакета: файлов исходников, дерева зависимостей, флагов компилятора и другого. Поэтому с помощью Nix можно установить одновременно не только две версии одного приложения, но и даже две разные сборки. Благодаря возможности устанавливать разные версии и сборки пакетов и тому, что они располагаются отдельно от системных каталогов, NixOS решает почти все проблемы классических пакетных менеджеров — от неконсистентности системы после неудачного обновления до ада зависимостей. Этот же механизм позволяет откатить систему к предыдущему состоянию и создать сразу несколько разных профилей (слепков) системы, переключаться между которыми можно, не перезагружая машину. Хочешь превратить домашний комп в сервер одной командой? В NixOS с этим нет проблем. Ты даже можешь унести конфигурационный файл NixOS на другую машину и развернуть на ней точно такую же систему с абсолютно тем же набором пакетов. NixOS позволяет устанавливать софт не только root, но и обычным пользователям (в этом случае пакет будет установлен в домашний каталог), а также имеет встроенный сборщик мусора, который автоматически удалит все пакеты-зависимости, если они больше никому не нужны. Устанавливаем В NixOS нет инсталлятора, но если ты когда-нибудь устанавливал Arch Linux, то у тебя не должно возникнуть проблем. Для начала скачиваем последнюю версию NixOS с официального сайта и записываем ее на флешку: Затем перезагружаем машину и грузимся с флешки. NixOS встретит тебя приветствием командной строки. Первое, что мы должны сделать, — подготовить диск для установки. Проще всего сделать это с помощью parted (в данном примере мы создаем один большой раздел ext3 на диске с разметкой в стиле DOS): Мы будем ставить систему на зашифрованный диск, поэтому для начала инициализируем шифрование: Затем примонтируем диск к каталогу /mnt: Теперь обновляем репозитории: И генерируем дефолтовые файлы конфигурации: Команда сохранит на диск два файла: configuration.nix и hardware-configuration.nix. Первый — это и есть тот самый файл описания состояния системы, с которым мы будем работать в дальнейшем. Содержимое второго изменять не надо — оно создается автоматически на основании железа, на которое устанавливается NixOS. Наконец, устанавливаем систему и перезагружаемся: Устанавливаем NixOS Configuration.nix Файл configuration.nix — основа дистрибутива. В нем пользователь указывает всю желаемую/необходимую конфигурацию (состояние) системы от пользователей и пакетов до шрифтов и в любой момент может ее изменять. Система будет выглядеть ровно так, как ее опишет пользователь в этом файле. Источник новости - google.com

Смотрите также

А что там на главной? )))



Комментарии )))