LINUX.ORG.RU

Благоустройство десктопа на CRUX 3.2

 , , ,


1

5

Установил я CRUX 3.2, что оказалось сравнительно несложно — просто монтируешь пустой раздел в /mnt, запускаешь setup и там можно просто выбрать все имеющиеся пакеты, чтобы не заморачиваться — удалить ненужное ведь всегда можно и позже. Ядра, правда, в комплекте почему-то не было, только исходники, но я не растерялся, и скачал ядро от slackware64-current, а затем распаковал пакет и вручную положил vmlinux в /boot, а модули в /lib/modules. Загрузчик уже был установлен, поэтому оставалось только прописать в него ещё одну секцию.

Но только вот дефолтный desktop experience оставляет всё-таки желать лучшего — изкоробки нету похоже ни одного DE, только оконный менеджер Openbox... в котором, кажется, своей панели нет, или её надо где-то включать, во всяком случае, после создания .xinitrc с одной строкой exec openbox-session и запуска никакой панели не появилось. Ни одного чат-клиента (IRC, Jabber и тд) в комплекте я тоже не увидел, но вот firefox почему-то был, причём даже довольно новый. Почему они не включили в комплект (в смсле в то что есть на CD) вместо него нормальный браузер без DRM и огораживания расширений (GNU IceCat или Debian IceWeasel?) или наоборот простенький браузер типа dillo — не понятно. Эмулятор терминала похоже только xterm, чтож, лучше чем совсем никакого.

После запуска Firefox видны ШГ — в поле ввода почему-то английские буквы намного крупнее и темнее чем русские.

При подключении к Wi-Fi были проблемы, которые решились правкой wpa_supplicant.conf, но почему-то в man 5 wpa_supplicant.conf были только примеры, а нормального описания опций, как должно быть не было. Странно, но wpa_supplicant запускается при загрузке, хотя в /etc/rc.conf нету wlan.

Что почитать кроме Handbook? Что надо установить, чтобы привести систему в юзабельный вид (как минимум нужна какая-нибудь панель со списком окон и кнопкой меню и устранение ШГ)? А может нафиг CRUX, поставить OpenBSD? А может дождаться Slackware 14.2? Или не дожидаться, а ставить уже вышедшую бету?

Кстати, если взять pidgin, то его в поиске аж целых четыре. Какой лучше ставить? И как там с бинарными пакетами?
Репозиториев с ними за рамками того что на диске нет, только из портов собирать? А как в CRUX принято настраивать firewall? Просто дописать строчку в /etc/rc.d/net ?

cast Spoofing

★★★★★

Теперь хоть Spoofing порадуется, что на ЛОРе кроме него ещё кто-то CRUX поставил. На радостях, думаю, он тебе всё по полочкам разложит, лишь бы ты с CRUX'a никуда не сбежал.

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

А что в FreeBSD хорошего

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

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

дрова нвидии.

Проприетарные драйвера не нужны, как и железки, которые без них {плохо ,не}работают. А свободные драйвера должны быть и в других BSD.

Большее комьюнити и вменяемые доки

А что, в OpenBSD с этим хуже? Доки вроде тоже есть. И настройка wi-fi прямо через ifconfig, без всяких там суппликантов.

лучшая техническая развитость по сравнению с другими BSD

А конкретнее? Может мне то что там лучше развито и не нужно? Ну вот скажем, в FreeBSD есть драйвера для ext4, xfs, reiserfs?

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

Проприетарные драйвера не нужны, как и железки, которые без них {плохо ,не}работают. А свободные драйвера должны быть и в других BSD.

Это благие посылы, а я под вайном гоняю игрушки.

А что, в OpenBSD с этим хуже?

Я бы не назвал Тео вменяемым. Форумов опять же русскоязычных нет. Железок меньше поддерживает Open.

А конкретнее? Может мне то что там лучше развито и не нужно?

smp, дисковая подсистема. Стрес-тесты в сети были, когда то.

Ну вот скажем, в FreeBSD есть драйвера для ext4, xfs, reiserfs?

Оно вроде как в юзерспейсе было.

Ygor ★★★★★ ()

Поздровляю. :)

CRUX предоставляет минимальное окружение, чтобы только суметь выйти в интернет, а дальше сами, да... Ядро отже предлагается собирать самостоятельно, потому что всем не угодишь. CRUX ближе к LFS, то есть если вы знаете CRUX — вы знаете Linux (где-то это уже было). К вопросу о настройке Wi-Fi, две команды: wpa_passphrase "wifi_home" "password" >> /etc/wpa_supplicant.conf && dhcpcd -t 3 wlan0 — так заведено не CRUX'ом, а самой софтиной. CRUX даёт вам полный контроль над собой, по сути, всё, чем является CRUX — это три пакета: prt-get pkgutils и ports, без них это обыкновенный LFS.

После установки и подключения к сети можно выполнить ports -u && prt-get sysup --test, чтобы узнать, какие новые обновления прилетели и обновиться, убрав флажок --test.

На счёт ШГ: pkgrm xorg-font-bitstream-vera && prt-get depinst ttf-dejavu

Из коробки openbox, firefox, xterm, как вы верно заметили, ещё куча всякого вроде mutt, fetchmail и т.п. Никаких панелек. Если что-то нужно, то попробуйте найти в портах prt-get search pidgin, и установить prt-get depinst pidgin. Ставится со всеми зависимостями. Загляните в /etc/pkgmk.conf, чтобы установить MAKEFLAGS="-j3" хотя бы. В /etc/prt-get.conf можно добавить makecommand fakeroot -- pkgmk, чтобы софт собирался не из под рута. Ну это базовая настройка.

Пересобрать весь мир, если хотите, можно командой prt-get update -fr `prt-get listinst`, но в CRUX отсутствуют USE-флаги, все опции уже перечислены в ./configure в каждом Pkgfile и управлять ими можно только ручками. Зависимости там же.

CRUX имеет три группы пакетов (помимо них есть пользовательские репы https://crux.nu/portdb/), как вы заметили в процессе установки: core, opt и xorg. Нужен только core, и там вы ещё можете до кучи отключить пару-тройку лишних пакетов, в итоге размер системы составляет 450мбайт в 90 пакетах.

Когда вам захочется удалить половину например оставить только core, и удалить все пакеты из opt и xorg, то тут вам в помощь bash: for p in `prt-get listinst`; do cd /usr/ports/opt/$p && pkgrm $p; done, т.е. проверяем установенный пакет на наличие в opt и удаляем, тоже самое с xorg.

И наоборот, вот у вас есть core, теперь хотите накатить десктоп с иксами:

mount crux-3.2.iso /mnt
ls /mnt/crux/xorg | cut -d \# -f 1 > /tmp/xorg-list

Из списка пакетов можно выкинуть не нужные драйвера видеокарт, которых нет, а затем поставить собираться иксы

prt-get depinst --install-scripts $(< /tmp/xorg-list)

И всё, далее уже по мелочам prt-get depinst firefox rxvt-unicode xchat.

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

Если хотите чтобы было совсем хорошо, контролировать буквально каждый файлик в системе, чтобы небыло мусора, то опять же bash в помощь

# cd /
# for pkg in `prt-get listinst`; do pkginfo -l $pkg; done | sort -u > /tmp/db
# 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)" | \
  sort > /tmp/fs
# comm -23 /tmp/fs /tmp/db
Spoofing ★★★★★ ()

Что почитать кроме Handbook

ничего. информации о дистрибутиве практически нет, коммьюнити никакое. :)

если взять pidgin, то его в поиске аж целых четыре

официальные репы core, opt и xorg, всё остальное — пользовательские. ставьте любой, какой вам понравится, но в идеале вам лучше иметь своё :)

И как там с бинарными пакетами?

бинарных пакетов нет, всё собирается из исходных кодов. вы конечно можете начать собирать пакеты и делиться ими, но — никому они не нужны, пользователи CRUX предпочитают собирать всё сами. :)

А как в CRUX принято настраивать firewall?

конкретно для iptables нету скрипта в /etc/rc.d, то свои команды можно писать в /etc/rc.local. у меня там всё.

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

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

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

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

А что мешает иметь таки пакет с каким-нибудь уже собранным и рабочим ядром для лентяев? Ну как в слаке, например.

CRUX ближе к LFS, то есть если вы знаете CRUX — вы знаете Linux

Это было про slackware же.

К вопросу о настройке Wi-Fi, две команды

1) А зачем тогда /etc/rc.d/wlan? 2) Почему он сам по себе запускается, хотя в rc.conf вроде не прописан? 3) Ты таки забыл про опцию scan_ssid, которую wpa_passphrase не генерит

бинарных пакетов нет, всё собирается из исходных кодов.

Проблема в том, что у меня процессор не шестнадцатиядерный последнего поколения, а вовсе даже скромный Core 2 Duo... Ладно, собрать один-два пакета мне не трудно, а вот не работать на компе целую неделю из-за того, что там что-то собирается...

конкретно для iptables нету скрипта в /etc/rc.d, то свои команды можно писать в /etc/rc.local. у меня там всё.

А почему не создать /etc/rc.d/firewall и не прописать там нужные команды например? Или в /etc/rc.d/net это запихать (если конфигурация файервола простая)?

В /etc/prt-get.conf можно добавить makecommand fakeroot — pkgmk, чтобы софт собирался не из под рута.

А из-под чего он будет собираться? Надо тогда уж отдельного пользователя для этой задачи завести, у которого прав никуда нет, кроме директории сборки.

Пересобрать весь мир, если хотите

А смысл? Разве что -march=native какой-нибудь...

Если хотите чтобы было совсем хорошо, контролировать буквально каждый файлик в системе, чтобы небыло мусора, то опять же bash в помощь

Да пусть будет, мне жалко что ли? Наиболее ценный ресурс — это моё время, которое будет потрачено на возню с системой, поэтму мне нужен дистрибутив, который позволяет получить устраивающее меня окружение (по безопасности, скорости работы и юзабельности) за минимальное время. Понятно что во всяких убунтах время тратится на борьбу с системой — например если хочешь собрать из исходников, то изволь изучать довольно сложную убунтовскую систему сборки.

А обновлений prt-get sysup --test что-то много предлагает. Это всё обновления безопасности или нет?

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

Один из девов делится особо тяжелыми пакетами.
Так что если нету желания собирать 16 часов на старом ноуте хромиум, можешь поглядеть http://crux.ster.zone/packages/3.2/

А вообще, прежде чем устанавлитт CRUX и плакаться про 'desktop experience' и прочие свистелки-перделки, нужно было изучить матчасть.
Понять на кого ориентирован дистр и пройти мимо, если ты расчитываешь юзать что-либо тяжелее xfce.

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

Один из девов делится особо тяжелыми пакетами.

Только вот беззондовых браузеров нету там (хромиум вроде как что-то гуглу отправляет, ффокс добавил drm и скатился)... Интересно, а можно ли tor-браузер отвязать от тора?

Да знаю я, что такое CRUX, я же его раньше ставил и использовал, ещё с версии 2.6

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

не понимаю твоего желания иметь установленный релиз.

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

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

А может дождаться Slackware 14.2? Или не дожидаться, а ставить уже вышедшую бету?

Ставь бету и не парься. =)

Как 14.2 выйдет останусь на ней до следующего релиза, ибо всё работает на моём новом ноуте, в отличие от 14.1.

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

Шапочка из фольги не жмёт? ;)
Запили тогда себе icecat порт, ну или бинарник качай.

На крайняк ставь webkit-gtk2 и потом выбирай понравившуюся прослойку - vimprobable, surf, dwb - тысячи их!

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

Однажды установленная система должна работать с минимумом обслуживания.

Согласен. Но у меня, например, не всё нормально работало на 14.1. Пришлось переползать на current.

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

А она практически так и работает. После выхода релиза сменишь репозитории на стабильные, делов-то. После RC вряд ли будут крупные апдейты прилетать, да и сейчас они не особо часто бывают.

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

На тех, кого устраивает отсутствие кого-либо DE в портах.

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

Но у меня, например, не всё нормально работало на 14.1. Пришлось переползать на current.

У меня на 13.37 всё нормально было, но пошло много софта, который не желает собираться с версиями библиотек, которые там. Да даже на 12.1 нормально было, может если бы новый софт не требовал новых библиотек и к ней были обновы безопасности (например обновление KDE 3.5.9 до TDE), так и сидел бы.

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

ШГ починились установкой djvu, да, а вот pidgin из contrib требует адовую кучу зависимостей, из которых к тому же libblueray не ставится, так как не получается его скачать.

lxpanel установил, хотя выглядит она не очень, но всё-таки не настолько ужасно как pypanel. При этом в Pkgfile в последней строчке обнаружилась опечатка, из-за которой пришлось пересобирать. Тупо как-то, что из-за одной неудавшейся команды в сборочном скрипте приходится перезапускать сборку с нуля. Интересно, решена ли эта проблема хоть в одном дистрибутиве?

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

Звук у меня не работал. Проверял в firefox, так как другого плеера не установлено.

Я естественно, предположил, что дело в том что дело в нулевой выставленной громкости, но это не оправдалось, в alsamixer она была полной.

Затем я вспомнил, что не добавил себя в дополнительные группы (в отличии от Slackware нет утилиты adduser, которая это делает автоматически), дописал себе группу audio, перелогинился.

Всё ещё не было звука. Путём экспериментов с aplay от рута, обнаружил, что alsactl init звук появился.

Пока остались проблемы:
* xterm нет в списке приложений, видимо desktop-файл для него составить никто не захотел
* xterm игнорирует ввод русских букв, просто ничего вообще не отображается. Alt-. не работает, только Esc .
* из-за темы Raleigh все приложения и кнопки в панели смотрятся страшновато. Надо её где-то переключить. Вероятно, в gtkrc каком-нибудь
* Fn + кнопки громкости не работают (ну и пофиг, они всё равно неудобно расположены)
* dmesg: read kernel buffer failed: Operation not permittedecho 0 > /proc/sys/kernel/dmesg_restrict временно помогло, но может есть какая-то группа, в которую нужно себя добавить, чтобы это было не обязательно?
* В процессе попыток установить pidgin, в систему попало множество зависимостей, которые потом всё равно не понадобились, так как установленный farstream-compat пиджин видеть не желал ну совсем никак и пришлось просто отключить аудио/видео звонки. Не очень теперь понятно как эту хрень вычистить, не задев ничего нужного...
* При таком содержании .xinitrc панель не запускается, приходится её запускать из xterm:

openbox-session
lxpanel
exec xterm

Пишу это, чтобы задокументировать, какие проблемы при установке возникают. Кстати дефолтное ШГ сфотографировать не получилось, так как ни одной утилиты для снятия скриншотов изкоробки я не нашел (даже xwd нет!), а когда я наконец настроил порты, первым делом поставил шрифт djvu.

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

Сижу на Slackware64-current и не понимаю твоего желания иметь установленный релиз.

Ну вот например у меня при загрузке ядро от current оопсится и пишет что-то про null-pointer derefence. А вот в ядре от 14.1 ничего такого нет. К сожалению, CRUX 3.2 с ним отказывается работать, так и пишет, что ядро слишком старое. Ну не зажрался ли он?

И вообще новые ядра меня не радуют и не очень понятно, зачем они мне вообще, если у меня и на 2.6.24 на этом ноутбуке всё отлично работало.

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

Кстати, а можно ли достаточно сделать бекап системы в виде списка установленного софта и диффов конфигов, чтобы занимало минимум места и легко было накатить обратно?

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

prt-get listinst список установленных пакетов

prt-get update -fr `prt-get listinst` данная команда пересоберёт все пакеты и установит их, аки world в gentoo, НО, в процессе установки с конфигурационными файлами, которые вы редактировали в /etc, возникнет конфлит: поэтому пакетный менеджер не накатит новый конфиг, а положит его в /var/lib/pkg/rejected

по списку в файлов в /var/lib/pkg/rejected/ вы сможете точно знать, какие именно конфиги вы редактировали, т.к. они не дефолтны.

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

самый простой способ сделать бекап, загрузиться в livecd crux, выполнить e2fsck -f /dev/sda1 (где стоит система), затем resize2fs -Mp /dev/sda1 чтобы уменьшить размер /dev/sda1 до минимума, затем в fdisk /dev/sda изменить раздел на такой же минимальный, и сохранить dd if=/dev/sda1 of=/dev/sdb на флешечку. :>

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

данная команда пересоберёт все пакеты и установит их

У меня половина пакетов без вмешательства не собирается — где-то footprint не совпадает, где-то исходник не скачивается, где-то опечатка в скрипте (как например chorn в lxpanel). Я не мазохист, чтобы через этот адъ проходить снова...

Впрочем, раз крукс где-то запоминает конфиги, можно обойтись и без извращений с пересборкой мира.

выполнить e2fsck -f /dev/sda1 (где стоит система), затем resize2fs -Mp /dev/sda1 чтобы уменьшить размер /dev/sda1 до минимума

Ничего себе самый простой... e2image вообще-то может сделать образ файловой системы с данными (полагаю что при этом незанятое место он пропустит). Ну это уже не говоря о том, что fdisk совершенно тут излишний, так как у dd есть опция count, позволяющая сделать дамп начала раздела, где собственно и есть файловая система.

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

Интересно, а у тебя всё-таки мазохизм или это я CRUX готовить не умею? Я даже почти ничего ещё не поставил, а у меня уже программы крашатся и всякие сообщения вылезают типа:

 GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
 Gtk-CRITICAL **: IA__gtk_clipboard_set_with_data: assertion 'targets != NULL' failed

Ядро сыплет Oops-ами, а CRUX старое работающее не хочет брать, а так бы я поставил самое старое LTS, где ещё есть security-апдейты.

Xenius ★★★★★ ()

пользовал около полугода. больше всего раздражала беда с футпринтами, которые, по очевидным причинам, часто не совпадают, привык в итоге проверки попросту игнорить. кракс хорош в целом, простота настройки подкупает (если есть понимание, что, где и куда), но source-based есть source-based, наигрался.

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

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

Очевидные причины — это какие, недефолтные опции сборки? Ещё проблема в том, что ports -u твои правки затирает. А зачем они там вообще? И кстати было бы логично запилить интерактивный режим, в котором при наличии проблемы с отпечатками, задавался вопрос — продолжить сборку или прервать...

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

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

tcler ()
20 апреля 2017 г.
Ответ на: комментарий от Spoofing

Чувак, я в восторге! Толково написано! Установил себе тут CRUX. По первому впечатлению он шикарен!

stay-at-home ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.