LINUX.ORG.RU

CRUX 3.2

 


5

3

Многие наслышаны о таком замурррчательном дистрибутиве как 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)

★★★★★

Проверено: JB ()
Последнее исправление: Spoofing (всего исправлений: 1)

Молодца! Не перестаешь нас радовать Спуф.

Когда-то сам юзал еще 2.6 версию.

dober
()
Ответ на: комментарий от dadd

В CRUX более низкий порог вхождения, он ближе к LFS, к тому самому, настоящему линуксу, вам не нужно знать какие-то особенности самого дистрибутива, чтобы работать с ним. Если вы знаете CRUX — вы знаете Линукс.

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от kernelgood

мое впечатление, crux похож на слаку и радует что есть еще дистрибуитивы нацеленные на простоту.

BillDver ★★★
()
Ответ на: комментарий от Rinaldus

в портах crux иногда встречаются ошибки (похоже некоторые генерятся автоматом), но их легко поправить. кстати да интересно сравнение crux и gentoo.

BillDver ★★★
()
Ответ на: комментарий от BillDver

в Круксе некоторый софт настолько протухший, что он уже разложился

Deleted
()

Спасибо, супер!

Тоже долго и с удовольствием ковырялся в этом замечательном дистрибутиве, пока не перешел на использование менее объемных SSD дисков, где такие объемы уже не всегда помещаются.

Так например, для сборки firefox в tmpfs у вас должно быть около 12гб памяти.

У CRUX, кстати, есть порт под ARM системы

poshat ★★★
()
Ответ на: Спасибо, супер! от poshat

Как, кстати, и у Slackware ;) И да, они преследуют одну цель, но разными средствами: бинарные пакеты+слакбилды (а теперь и сторонние репозитории) vs порты. И там, и там - ванильный софт. И там, и там нет systemd :)

yars068 ★★★★
()

кстати Deluge поинтересней Transmission мне показался

Frost ★★★
()
Ответ на: комментарий от Spoofing

В CRUX более низкий порог вхождения

Так ты не тушуйся, расскажи как мне по-быстрому CRUX на LVM воткнуть на чистой машине. Ты давно уже на нем сидишь, наверняка знаешь способы. У меня серьезно не получилось, но наверное я что-то не так делал, задача-то типовая.

alex_the_v ★★★
()

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

У него только один недостаток - отсутсвие зеркал с исходиками для портов. Бывало такое, что ссылки на тарболы возвращали 404.

DeaDDooMER
()
Ответ на: комментарий от Unununij

Да xvideos скатился в последнее время. Porntube гораздо лучше. ТС-у дизреспект.

gill_beits ★★★★
()
Ответ на: комментарий от Deleted

Нифига Ctrl-Shift не кошерный. Ломает сочетания в DEшных терминалах, эклипсе и прочих приложениях. Действительно хорош - CapsLock

Deleted
()
Ответ на: комментарий от yars068

И там, и там нет systemd :)

Да, этого монстра даже в портах нет. Но, наверное, скоро появится для самостоятельной установки. Куда без него теперь, когда столько дистрибутивов перешли.

poshat ★★★
()
Ответ на: комментарий от aegi

Откуда вы такие повылазили только? Ш не Г. Просто нефиг терминус за пределы терминала пускать.

skiminok1986 ★★★★★
()

без обид, но коли есть слака - крукс не нужен

ionanahin ★★★
()

И зачем ты сделал настолько неудобные шрифты, да ещё и специально?

Открыта вкладка с порно?

Значит, он открыл вкладку с порно. Достаточно взрослый вывод?
У меня другое замечание: на xvideos до сих пор от флеша отказаться не смогли. Не стыдно на сайт с флешем ходить?

Tactile ★★
()
Последнее исправление: Tactile (всего исправлений: 1)
Ответ на: комментарий от Tactile

изкоробочные шрифты bitstream-vera убоги тем, что не имеют поддержки юникода, от слова «совсем». отображают только латиницу. я решил, благоразумнее их удалить. а удалив единственный шрифт из системы получаем то что получили: Fixed, поставляемый вместе с Xorg.

не скажу, что это было сделано намеренно, плюс к тому, я реально использую этот шрифт как основной. честно, от всякого мыла у меня слезятся глаза и дело отнюдь не в матрице монитора. концентрируясь на информации на экране лично мне удобно видеть чёткое начертание шрифтов, без всякого сглаживания, и как показала практика всякие fixedsys, terminus, fixed под это дело идеально заточены.

http://i.imgur.com/FiX6Kfp.png

Spoofing ★★★★★
() автор топика
Ответ на: комментарий от Spoofing

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

Tactile ★★
()
Ответ на: комментарий от Deleted

Действительно хорош - CapsLock

а вот и нет. Правый Super (если его нет, то Menu). Самое удобное из того, что я пробовал.

gribf
()
Ответ на: комментарий от Deleted

а еще по правому суперу переключаюсь между En-Ru. Если нажать l_Super + r_Super, по правому суперу En-Ua. очень удобно, только глючит немного когда дофига всего открыто.

gribf
()
8 февраля 2016 г.
Ответ на: комментарий от alex_the_v

Крутяк. А теперь попробуй это поставить на LVM root.

А я вроде ставил crux на lvm, или то был какой-то другой дистрибутив...

Ничего сложного, разве что initrd нужен будет и отдельный раздел для /boot (если UEFI то хватит ESP)

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

В CRUX проблемы начинаются на стадии «нужен initrd», т.к. сборщика initramfs на инсталляционном диске нет (в круксе его вообще нет, и надо юзать какой-нибудь dracut или mkinitcpio), опакеченного dracut/mkinitcpio для CRUX тоже нет, и собрать его из инсталляционной среды не выходит потому что там, блин, нет тулчейна.

То есть, надо либо ставить CRUX из-под чужого livecd, где есть дракут или можно его получить, либо предварительно собрать пакет с дракутом, либо собрать initramfs рядом на федоре/генту/арче, либо сначала ставить как ставится, потом шаманить с дисками чтобы перекинуть созданный во время инсталляции root на LVM.

Можно еще слепить initramfs руками без всяких помощников, но проще арч (если очень хочется крукса, ну, или что там подходит по потребностям) поставить. Корона у меня не слетит от того, что я его сляпаю при помощи cpio и такой-то матери, но я манал убивать полдня на тривиально автоматизируемую операцию.

Короче, CRUX с каким-то гемором непонятным приходит, я не могу понять зачем все это надо.

Мой печальный опыт был приобретен пару лет назад, может быть сейчас ситуация поменялась, а я просто не в курсе. Ну и рут на LVM - это мои личные комплексы, не всем это надо. Я unix-like без менеджера томов принципиально не юзаю, если нет каких-то спецовых требований.

alex_the_v ★★★
()
Последнее исправление: alex_the_v (всего исправлений: 2)
Ответ на: комментарий от alex_the_v

Можно еще слепить initramfs руками без всяких помощников

Там же есть на инсталляционном диске intrd, берёшь, распаковывываешь, добавляешь нужные шелл-команды для монтирования lvm, запаковываешь. Разве так уж сложно/долго? По-моему initrd не обязан быть в cpio кстати.

А вот зачем нужен lvm мне не понятно. Ресайзить разделы можно без него и даже проще, так как основная сложность в ресайзе именно файловой системы. Единственное, если он поверх LUKS, чтобы держать и рут и корень в одном томе. Можно ли разбить зашифрованный том с помощью разметки gpt или другой (например disklabel) не знаю, но если можно, так было бы проще.

У MBR/DOS разметки из недостатков разве что то, что она хранит ненужный CHS, ограничена двумя терабайтами (если секторы по 512 байт) и размазывается по диску, если больше 4 раздела.

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Там же есть на инсталляционном диске intrd

Раньше не было. А может я просто не нашёл, я не очень помню уже. Так-то, да, если какой-то есть, то все немного упрощается. cpio или не cpio - без разницы, там главное - это все положить и ничего не забыть.

LVM избавляет от невероятного количества головной боли. Сейчас он немного устаревает с появлением btrfs и zfs, но юзать zfs на линуксе в продакшене (да и дома тоже) могут только совсем отбитые, а btrfs еще сыроват. Ну, может уже и не сыроват, но до повсеместного использования ещё не дорос.

Проблемы в резайзе ФС никакой нет, главное чтобы ФС это поддерживала. Если поддерживает - резайзь на здоровье, если нет, то опаньки. ext4 поддерживает увеличение в онлайне и шринк в оффлайне, XFS и то и другое умеет онлайн. Известна ли тебе техника редактирования таблицы разделов MSDOS в онлайне без отмонтирования томов? Мне - нет, хотя я мог что-нибудь упустить.

Основная задача LVM - это абстрагировать тебя от физических носителей чтобы ты мог формовать логические тома без оглядки на то, что у тебя внизу. Плюс даёт пару удобных плюшек типа снапшотов на уровне блокдевайса. Безусловно мастхэв.

alex_the_v ★★★
()
Ответ на: комментарий от alex_the_v

Раньше не было. А может я просто не нашёл, я не очень помню уже.

Если бы не было, как бы он загружался? Сейчас там вместо squashfs просто initrd, который ищет носитель с круксом и берёт с него rootfs.tar.xz, который распаковывает в раму (не знаю, зачем так, видимо какие-то ограничения на размер initrd или предполагается, что intrd грузит медленный загрузчик, а основные данные уже быстрый.

Сейчас он немного устаревает с появлением btrfs и zfs,

Но это же не очень-то юниксвейно, хотя снапшоты скорее относятся к уровню файловой системы — не удалять старые айноды например...

XFS и то и другое умеет онлайн.

Разве? А как его ужать? Я-то почему-то думал, что сжимать xfs вообще нельзя...

Известна ли тебе техника редактирования таблицы разделов MSDOS в онлайне без отмонтирования томов?

Зачем такие извращения на десктопе? Это же не сервер высокой доступности, так что лучше перезагрузиться в single user и делать. Подозреваю, что оффлайновый ресайз всё-таки надёжнее (меньше вероятность потери данных). Но вполне может быть, что можно с помощью kpartx, partprobe и тд.

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

Но ведь при этом усложняется вычисление нужных смещений и восстановление данных при повреждении носителя — в этом плане идеальны файловые системы, где файлы не фрагментированы.

пару удобных плюшек типа снапшотов на уровне блокдевайса.

Ну это может и полезно при снятии резервных копий...

Xenius ★★★★★
()
Ответ на: комментарий от Xenius

Если бы не было, как бы он загружался?

Хм, точняк. Да, видимо это я лоханулся. Но все равно, такой способ работы с initramfs - взять готовый и погнуть - трудно назвать прямым. Уже спёрли бы mkinitcpio из Арча, или сами скрипт написали мало-мальский. При ручной инсталляции и так надо много всего не забыть, а тут еще грабли с этим initramfs.

Сейчас там вместо squashfs просто initrd, который ищет носитель с круксом и берёт с него rootfs.tar.xz, который распаковывает в раму

Извращенцы проклятые =)

Но это же не очень-то юниксвейно

Юниксвей - очень гибкое понятие. И снапшоты разные бывают, можно снапшотить ФС, а можно блокдевайс.

XFS

Блин, перепутал. Райзер сжимается в онлайне, XFS и JFS - нет.

Зачем такие извращения на десктопе?

Удобно, почему бы и нет.

оффлайновый ресайз всё-таки надёжнее

Ни капельки.

Но вполне может быть, что можно с помощью kpartx, partprobe

Все равно не выйдет, тома придётся отмонтировать.

Но ведь при этом усложняется вычисление нужных смещений

Ну да, картина там немного усложняется, но в целом все возможности остаются. Даже если ты потеряешь PV целиком, то группу томов можно запустить и данные на оставшихся носителях останутся доступны. Зато, если у тебя один винт начинает подыхать, можно торкнуть в VG новый, сделать на старый pvmove, потом vgreduce и выдернуть его прямо на лету (не отрывая от ботвы =)

в этом плане идеальны файловые системы, где файлы не фрагментированы

Ага, я помню файловую систему RT-11. Там даже была тулза squeeze чтобы трамбовать файлики. Не, спасибо.

Я ж говорил что LVM везде - это мои личные комплексы. Если тебе без него хорошо живётся, то это круто. Мне он систематически экономит очень много нервов и при этом совершенно не просит жрать и ведёт себя прилично.

alex_the_v ★★★
()
Последнее исправление: alex_the_v (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.