NixOS: революционный дистрибутив, который изменит ваше представление о Linux

- Опубликовано в Дистрибутивы

История создания: как функциональное программирование захватило Linux


2003 год: рождение Nix

Голландский учёный Элко Долстра (Eelco Dolstra) начинает разработку Nix — системы управления пакетами, вдохновлённой функциональными языками (Haskell).
Идея: Каждый пакет хранится в изолированном каталоге с хешем всех зависимостей, что исключает конфликты версий.

2004–2010: от пакетного менеджера к ОС

  • Nix эволюционирует в полноценный дистрибутив — NixOS.
  • Первый стабильный релиз выходит в 2015 году.

2020-е: рост популярности

  • NixOS используют в Google, Shopify, NASA для воспроизводимых сборок.
  • Сообщество активно развивает инфраструктуру: 30 000+ пакетов в репозитории.

Философия:

«Конфигурация как код, атомарные обновления и полная воспроизводимость».


Плюсы NixOS: почему это будущее?

1. Декларативная конфигурация

Вся система (от ядра до программ) описывается в одном файле /etc/nixos/configuration.nix:

{ config, pkgs, ... }:  
{
  environment.systemPackages = [ pkgs.firefox pkgs.git ];  
  services.openssh.enable = true;  
}  

Что даёт:
- Версионность конфигов (как Git для системы).
- Возможность отката к любой прошлой версии.

2. Воспроизводимость

  • Одинаковая конфигурация = идентичная система на любом железе.
  • Можно клонировать среду разработки командой:
    nix-shell -p python3.11 git gcc

3. Надёжность

  • Обновления не ломают систему: новые пакеты не перезаписывают старые.
  • Откат одной командой:
    bash sudo nixos-rebuild switch --rollback

4. Изоляция пакетов

  • Каждый пакет живёт в своём /nix/store/xxxx-path, что исключает DLL Hell.
  • Можно одновременно иметь несколько версий одной программы.

5. Поддержка множества платформ

  • x86_64, ARM, Darwin (macOS) — один конфиг для всех.
  • Даже Docker-образы собираются через Nix.

Минусы NixOS: цена уникальности

1. Крутая кривая обучения

  • Синтаксис Nix (функциональный DSL) пугает новичков.
  • Привычные apt/dnf не работают — только nix-env и nix-shell.

2. Несовместимость с традиционными пакетами

  • .deb/.rpm нельзя установить «как есть».
  • Некоторые проприетарные программы требуют костылей (например, Steam).

3. Ограниченная документация

  • Мануалы часто предполагают знание Nix.
  • Сообщество меньше, чем у Ubuntu или Arch.

4. Долгая сборка

  • Первая установка пакетов может занимать часы (если нет бинарных кэшей).

Кому подойдёт NixOS?

DevOps-инженеры (воспроизводимость > скорость).
Разработчики (изолированные среды для каждого проекта).
Параноики безопасности (никаких скрытых зависимостей).
Энтузиасты (если хочется «Linux нового уровня»).

Кому не подойдёт:
✖ Новички (пока не освоили базовый Linux).
✖ Геймеры (проблемы с драйверами и Proton).
✖ Те, кто любит «классические» дистрибутивы.


Интересные факты

  • Nixpkgs — самый большой в мире источник пакетов (больше, чем AUR!).
  • В NixOS нет /usr/bin — все программы лежат в /nix/store.
  • Конфиг можно разместить на GitHub и разворачивать систему в 1 команду.

Что в итоге?

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

# Ваша первая команда в NixOS:
nix-shell -p hello --run "hello"

Debian: «Мать всех дистрибутивов» — плюсы, минусы и немного истории

- Опубликовано в Дистрибутивы

Краткая история: от идеалиста до гиганта

  • 1993 год: Немецкий программист Ян Мердок (Ian Murdock) создаёт Debian, сочетая имя своей девушки (Deborah) и своё (Ian).
  • 1996 год: Появляется первый стабильный релиз (1.1 «Buzz»), названный в честь персонажа «Истории игрушек». С тех пор версии именуются по героям Toy Story (Buster, Bullseye, Bookworm).
  • 2000-е: Debian становится основой для Ubuntu, Mint, Kali и десятков других дистрибутивов.
  • Сегодня: Один из самых стабильных и уважаемых дистрибутивов, используемый на серверах, в IoT и даже на МКС.

Философия: 100% свободное ПО (если не считать non-free репозиториев) и демократичная модель разработки (проект управляется сообществом, а не корпорацией).

10 команд терминала, которые сделают вас чуть менее "noob"

- Опубликовано в Основы Linux

Введение

Вы только что открыли терминал и видите перед собой чёрное окно с мигающим курсором? Не паникуйте! Терминал — это не страшно, а даже удобно. Вот 10 базовых команд, с которых стоит начать, чтобы не тыкать в GUI как потерянный пингвин.

(P.S. Все команды проверены — ваш компьютер не взорвётся. Но sudo всё равно используйте осторожно.)


1. pwd — «Где я?»

Что делает: Показывает текущую директорию (Print Working Directory).
Зачем: Чтобы не заблудиться в своих же файлах.

pwd 
Вывод: /home/ваш_пользователь

2. ls — «Что тут лежит?»

Что делает: Выводит список файлов и папок в текущей директории.
Лайфхак:
- ls -l — подробный список (права, владелец, размер).
- ls -a — показать скрытые файлы (те, что начинаются с точки).

ls
Вывод: Документы Загрузки Картинки  

3. cd — «Перейди туда»

Что делает: Меняет текущую директорию (Change Directory).
Примеры:

cd ~/Загрузки  Перейти в папку "Загрузки"  
cd ..          На уровень выше  
cd /           В корень системы (осторожно!)  

4. mkdir — «Создай папку»

Что делает: Создаёт новую директорию.
Фишка: Можно создать несколько вложенных папок сразу:

mkdir -p проект/{документы,скрипты,бэкапы}  

5. touch — «Создай файл»

Что делает: Создаёт пустой файл (или обновляет дату изменения существующего).

touch readme.txt  

6. cp — «Скопируй это»

Что делает: Копирует файлы и папки.
Важно: Для папок нужен флаг -r (рекурсивно).

cp файл.txt копия_файла.txt  
cp -r папка/ новая_папка/  

7. mv — «Перемести или переименуй»

Что делает: Перемещает файлы/папки или переименовывает их.

mv старый.txt новый.txt      Переименование  
mv файл.txt ~/Документы/    Перемещение  

8. rm — «Удали это (навсегда!)»

Что делает: Удаляет файлы и папки. Без корзины!
Осторожно:
- rm -r папка — удалить папку и всё внутри.
- rm -f — принудительно (без подтверждения).

(Запомните: sudo rm -rf / — это смерть. Не делайте так!)

9. cat — «Покажи содержимое»

Что делает: Выводит содержимое файла в терминал.

cat файл.txt  

Альтернативы:
- less файл.txt — для больших файлов (листать клавишами ↑↓).
- head -n 5 файл.txt — показать первые 5 строк.

10. man — «Справка»

Что делает: Показывает официальную документацию по команде.

man ls  Справка по команде ls  

Если man пугает:
- команда --help — краткая справка.


Бонус для смелых
Попробуйте ввести это:

neofetch  

…и ваш терминал покажет красивую информацию о системе. Если команды нет — установите её например на debian схожие дистрибутивы (sudo apt install neofetch).

#Hello world

- Опубликовано в Без купюр

🐧✨ Ваш первый шаг в мир Linux

Приветствуем в нашем блоге «Пингвиньи BASHни» — месте, где код встречается с юмором, а root-доступ — с здравым смыслом!

Если вы здесь, значит, вас хоть раз посещали вопросы вроде:

  • «Почему sudo rm -rf / — плохая идея?»
  • «Как заставить этот скрипт работать, а не жевать процессор?»
  • «Что скрывает Tux под маской спокойствия?»

В этом блоге мы будем: 🔧 Разбирать Linux «на шестерёнки» — от базовых команд до тонкостей ядра. 💡 Делиться лайфхаками, которые сэкономят вам часы гугления. ⚠️ Развенчивать мифы (нет, Arch установить за 5 минут не получится). 🐛 Исповедоваться в своих fail’ах — потому что segfault бывает у всех.

Что впереди? Уже пишется:

  • «Как пережить первый apt-get upgrade без паники»

  • «BASH-джедайство: скрипты, которые вас полюбят»

  • «systemd: друг, враг или злой гений?»

P.S. Если ваш девиз — «sudo спасает», подписывайтесь. Здесь будет жарко (как сервер без cooling’а).

$ echo "Hello, читатель!" 🐧💻