Многие наслышаны о таком замурррчательном дистрибутиве как CRUX, но не все горят желанием познакомиться с CRUX поближе. Что ж, сделаю это за вас.
На скриншоте представлен дефолтный CRUX, с Firefox, Transmission, и всё это с использованием новомодного тулкита GTK3. Оконный менеджер Openbox. Половина системы, в т.ч. /home
, перенесена в tmpfs, чтобы экономить ресурс сами-знаете-чего. Немножко допилены /etc/rc
-скрипты, чтобы система восстанавливала содержимое /home
при загрузке. Только благодаря тому, что система остаётся очень простой — сделать с ней всё что угодно не составляет никакого труда, да.
CRUX не совсем для новичков, обязательным квестом в его установке является сборка ядра из исходного кода, и если вы сталкивались с этим ранее, то никаких проблем не возникнет.
Устанавливается CRUX в несколько простых шагов:
- Разметка диска и создание разделов,
fdisk /dev/sda && mke2fs -t ext4 /dev/sda1 && mount /dev/sda1 /mnt
.
- Запуск утилиты
setup
для распаковки архивов, затем setup-chroot
для входа в установленную систему. Полезно знать, что в процессе установки вам будет предложено выбрать какие пакеты ставить, а какие нет. Вы можете, буквально, отключить всё, и выбрать только несколько пакетов наиболее важных для вас, например openbox, xterm и firefox, а всё остальное подтянется по зависимостям.
- В
/usr/src/linux-*
лежит исходный код ядра, вам потребуется самостоятельно включить все необходимые опции и модули для вашего железа. make menuconfig && make -j5 all && make modules_install && mv arch/x86/boot/bzImage /boot
. Лично я делаю проще: ставлю последнее ванильное ядро с http://www.kernel.org со всеми настройками по-умолчанию.
- Прежде чем вы сможете загрузиться в свежую систему, остаётся только установить загрузчик. При использовании BIOS отредактируйте
/etc/lilo.conf
, указав путь до ядра /boot/bzImage
, корневой раздел /dev/sda1
и выполните lilo
. При использовании UEFI воспользуйтесь утилитой efibootmgr -c -l /bzImage -u "root=/dev/sda2"
, не забудьте включить опцию CONFIG_EFI_STUB
в ядре. Если вам важно вернуть старые имена интерфейсов, eth0 вместо enp0s0, укажите net.ifnames=0
в параметрах загрузки к ядру.
-
reboot
Viva la CRUX!
После загрузки вы, конечно, получите голую консоль самого что ни на есть настоящего source-based дистрибутива с ванильным программным обеспечением.
При первом входе в систему как root вам предложат сразу же установить пароль, так же не забудьте создать пользователя для себя. groupadd username && useradd -m -g username -G wheel username && passwd username && su - username
.
Для запуска графического окружения выполните startx
. Для запуска оконного менеджера openbox потребуется добавить строку exec openbox-session
в ваш ~/.xinitrc
.
Первым делом подключимся к интернетам. Для Wi-Fi сети нужно указать пароль wpa_passphrase "net" "password" >> /etc/wpa_supplicant.conf
и для подключения просто dhcpcd wlan0
, dhcpcd сам запускает wpa_supplicant.
Непосредственно переходим к CRUX, что это и с чем его едят. CRUX использует систему портов, обновляется посредством сборки из исходных кодов. В состав CRUX включено всего три утилиты: ports для синхронизации дерева портов, pkgutils для управления пакетами в системе и prt-get для автоматизации установки зависимостей и обновления системы.
Для загрузки дерева портов выполните ports -u
, для просмотра наличия обновлений ports -d
, либо же запустить обновление в тестовом режиме prt-get sysup --test
и при наличии обновлений оно покажет, что и в каком порядке будет собрано и установлено. Для, собственно, самого обновления, следует выполнить prt-get sysup
и откинуться на спинку табуретки. =)
Система портов настраивается в /etc/prt-get.conf
, и пожалуй единственное, что тут можно добавить, это makecommand fakeroot -- pkgmk
в конец файла, чтобы сборка производилась без привелегий root. В /etc/pkgmk.conf
не забудьте отредактировать строку # export MAKEFLAGS="-j2"
. Помимо этого, для ускорения сборки можно поместить порты в RAM mount -t tmpfs -o size=100% tmpfs /usr/ports
, дерево портов занимает всего ничего — около 30мб, но сюда же будут загружены исходные коды, и здесь же производится сборка пакетов. Так например, для сборки firefox в tmpfs у вас должно быть около 12гб памяти.
Пакетный менеджер тоже очень прост, база данных файлов и их принадлежности к пакетам находится в файле /var/lib/pkg/db
, но вам как пользователю об этом знать не обязательно. Пакет для CRUX представляет собой обычный .tar архив, и обычно именуется как name#version.pkg.tar.gz
, но вы редко когда будете самостоятельно управлять пакетами используя pkgadd
и pkgrm
, за вас всё сделает prt-get
. Так, чтобы установить mplayer со всеми зависимостями, вы просто выполняете prt-get depinst mplayer
.
Для полной пересборки «мира» CRUX, как в Gentoo, можно выполнить команду prt-get update -fr `prt-get listinst`
. Управляя опциями компиляции в /etc/pkgmk.conf
можно добиться абсолютно аналогичных результатов как у Gentoo.
Дабы убедиться в целостности системы, что файлопомойка не начинается с /, как у некоторых... Можно сравнить ФС и БД ПМа.
# for pkg in $(prt-get listinst); do pkginfo -l $pkg; done | sort -u > /tmp/db
# cd /
# find * \( -type d -printf '%p/\n' -o -print \) | \
egrep -v "^(lost\+found|proc|sys|dev|run|tmp|root|home|boot|lib/firmware|lib/modules|usr/ports|usr/src)" | \
sort > /tmp/fs
# comm -23 /tmp/fs /tmp/db
На выходе вы получите список так называемых orphaned-файлов, которые при детальном изучении можно невозбранно удалить. Ваша система всегда остаётся чистой!
CRUX легковесный, очень простой и прозрачный дистрибутив.
Рекомендую всем, от начинающих пользователей до опытных специалистов. =)
>>> Просмотр
(1366x768,
330 Kb)