Linux - это интересно!
Вы не вошли.
Наигравшись с разными дистрибутивами, особенно с NuTyX, созрел для опробования его родоначальника, дистрибутива CRUX.
Напрямую установить не получилось, что то пошло не так. Не заработало... Установил на соседний раздел из дистрибутива MX-Linux. Скорее всего, конфиг ядра не подошёл моему компу. Поэтому, скомпилировал ядро для CRUX от Slackware-current, которое доказало свою работоспособность на моём стареньком компе.
Вобщем, ещё один вариант установки дистрибутива CRUX, по материалам множества постов и авторов статей. Не указываю авторов специально, если шо, плюйте в меня. Но от меня им спасибо.
Вобщем по порядку. Есть комп с установленным MX-Linux, GRUB Управляет пуском ракет, он и должен запустить нового соседа по имени CRUX.
Инсталляционный ISO образ дистрибутива CRUX содержит статистически скомпилированную утилиту pkgadd.
Поэтому её можно использовать для установки системы CRUX из пакетов, также включенных в ISO, из другого дистрибутива.
Для начала нужно загрузить установочный образ ISO с одного из зеркал.
wget -c http://ftp.spline.inf.fu-berlin.de/pub/crux/crux-3.4/iso/crux-3.4.iso
Далее, под root, смонтируйте его так, чтобы его файлы были доступны системе:
sudo mkdir -p /mnt/crux-mount
sudo mkdir -p /mnt/crux
sudo mount /dev/sda9 /mnt/crux/
sudo mount -o loop,ro crux-3.4.iso /mnt/crux-mount
Потом извлеките менеджер пакетов в домашний каталог:
tar xvf /mnt/crux-mount/crux/core/pkgutils*.tar* usr/bin/pkgadd -O > ./pkgadd
chmod a+rx ./pkgadd
Создайте необходимые каталог и файл на разделе для CRUX, для подготовки к работе утилиты pkgadd.
sudo mkdir -p /mnt/crux/var/lib/pkg
sudo touch /mnt/crux/var/lib/pkg/db
Установите пакеты из всех трёх категорий пакетов:
sudo for pkg in /mnt/crux-mount/crux/core/*; do echo "installing $pkg" && ./pkgadd -r /mnt/crux/ $pkg; done
sudo for pkg in /mnt/crux-mount/crux/opt/*; do echo "installing $pkg" && ./pkgadd -r /mnt/crux/ $pkg; done
sudo for pkg in /mnt/crux-mount/crux/xorg/*; do echo "installing $pkg" && ./pkgadd -r /mnt/crux/ $pkg; done
Пропишите версию дистрибутива для того, чтобы grub не принимал CRUX за “неизвестный linux”:
sudo cat > /mnt/crux/etc/lsb-release << EOF
DISTRIB_ID=CRUX
DISTRIB_RELEASE=3.4
DISTRIB_CODENAME=posix
DISTRIB_DESCRIPTION="Crux 3.4 LTS"
EOF
Создайте скрипт входа в среду chroot:
#!/bin/bash
if [ "$UID" != "0" ]; then
echo "Chroot need root access!"
exit 1
fi
CRUX=$1
if [ -z $1 ]; then
echo "Please set directory to chroot!"
exit 1
fi
if [ ! -d $CRUX ]; then
echo "Directory '$CRUX' not exist"
exit 1
fi
pushd $CRUX
mount -v --bind /dev $CRUX/dev
mount -vt devpts devpts $CRUX/dev/pts -o gid=5,mode=620
mount -vt proc proc $CRUX/proc
mount -vt sysfs sysfs $CRUX/sys
mount -vt tmpfs tmpfs $CRUX/run
if [ -h $CRUX/dev/shm ]; then
mkdir -pv $CRUX/$(readlink $CRUX/dev/shm)
fi
if [ -e /etc/resolve.conf ]; then
cp -L /etc/resolve.conf $CRUX/etc/
fi
chroot "$CRUX" /usr/bin/env -i \
HOME=/root \
TERM="$TERM" \
PS1='(crux chroot) \u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login
popd
echo chroot exited
echo "Unmounting virtual filesystem"
umount -v $CRUX/dev/pts
umount -v $CRUX/dev
umount -v $CRUX/run
umount -v $CRUX/proc
umount -v $CRUX/sys
exit $?
Войдите в среду “chroot” в окне root:
./chroot /mnt/crux
Перейдите в каталог с предполагаемыми исходниками ядра:
cd /usr/src/
Скачайте архив с исходниками ядра:
wget -c https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.13.tar.xz
Извлеките исходники:
tar -xvf linux-<version>.tar.xz -C /usr/src
Создайте символическую ссылку(Slackware влияет на мозги):
ln -s linux-4.19.13 linux
Перейдите в каталог с исходниками ядра:
cd /usr/src/linux
Скачайте конфиг с действующего Slackware-current:
wget -c http://slackware.uk/slackware/slackware-current/source/k/kernel-configs/config-huge-4.19.13.x64
Скомпилируйте ядро с помощью команд:
make menuconfig
Узнайте количество ядер своего процессора с помощью команды nproc:
nproc
4
Для продолжения нажмите любую клавишу...
Запустите процесс компиляции ядра и модулей:
make -j4
После окончания компиляции установите модули ядра командой:
make modules_install
Скопируйте ядро в каталог /boot:
cp arch/x86/boot/bzImage /boot/vmlinuz-4.19.13
Туда же скопируйте файл с символьной таблицей адресов функций и процедур System.map:
cp System.map /boot
Туда же скопируйте на всякий случай конфиг скомпилированного ядра:
cp .config /boot/config-huge-4.19.13.x64
Назначьте пароль пользователю root:
passwd
Создайте пользователя, я создаю в примере пользователя cdrw:
useradd -m -G users,wheel,video,audio -s /bin/bash cdrw
И ему тоже назначьте пароль:
passwd cdrw
Переходим в домашний каталог root:
cd /root
Настраиваем файл /etc/rc.conf:
sudo /usr/bin/featherpad /mnt/crux/rc.conf
Приводим к такому виду,
#
# /etc/rc.conf: system configuration
#
FONT=LatArCyrHeb-16
KEYMAP=ruwin_ct_sh-UTF-8.map
TIMEZONE=Europe/Vilnius
HOSTNAME=cdrw
SYSLOG=sysklogd
SERVICES=(lo net crond)
# End of file
что значит:
FONT= консольный шрифт, имеющий в своём составе кириллицу.
KEYMAP= консольная раскладка, умеющая переключать клавиатуру с латиницы на кириллицу.
TIMEZONE= временная зона, часовой пояс, где вы находитесь.
HOSTNAME= имя вашего компьютера, который будет, возможно, виден под ним в сети.
SYSLOG= оставляем без изменений... Сам не знаю, журнал какой то.
SERVISES= службы, которые вы хотите запустить при старте системы.
Генерируем русскую локаль:
localedef -i ru_RU -f UTF-8 ru_RU.utf8
Помещаем строки
export LANG=ru_RU.utf8
source ~/.bashrc
в файл /etc/profile.
Делаем доступной категорию портов compat-32:
mv /etc/ports/compat-32.rsync.inactive /etc/ports/compat-32.rsync
Делаем доступной категорию портов contrib:
mv /etc/ports/contrib.rsync.inactive /etc/ports/contrib.rsync
Обновляем порты:
ports -u
Загружаем исходники в порты, чтобы не заморачиваться потом:
for pkg in `prt-get listinst`; do cd /usr/ports/*/$pkg && pkgmk -do; done
Устанавливаем файловый консольный менеджер mc:
cd /usr/ports/opt/mc
Собираем порт:
pkgmk -d
Устанавливаем образовавшийся в результате этой операции бинарный пакет:
pkgadd mc#4.8.22-1.pkg.tar.gz
Выходим из сеанса chroot:
exit
Очищаем результаты своей деятельности:
umount /mnt/crux-mount
rmdir /mnt/crux-mount
rm ./pkgadd
umount /mnt/crux
Прописываем систему:
sudo update-grub
Перезагружаемся.
Всё.
Отредактировано cdrw (12-01-2019 19:46:13)
Вне форума
Привет! Спортивнее было бы не вводить 100500 команд, а сделать скрипт, выложить его на гитхаб, или пастебин, и запустить его командой типа:
wget $url -O - | sh
или
curl https://www.example.com/files/coreinstall.sh -o new-filename.sh
Можно будет обработать ссылку линк-шортенером, и существенно укоротить команду.
ЗЫ. Если нужен пример, то могу выложить скрипт, которым я обстругивал центось.
Отредактировано redix (12-01-2019 20:32:27)
In Tux We Trust
Вне форума
Ну, блин, я же хотел, чтобы поступечато.
Вне форума
Напишешь комментарии, вот проблема. Начинающий все равно не установит, а сведущий прочитает, я всегда(почти) читаю их. А есть еще чувак из Франции Kiki Novak, он пилит офисную систему на базе центоси, так у него в скрипте кругом эхо понатыкано, при установке еще и пишет в терминале, по хранцузски правда, сейчас делается то-то.
Вот мой скрипт тебе для примера:
Отредактировано redix (12-01-2019 21:24:20)
In Tux We Trust
Вне форума
А есть еще чувак из Франции Kiki Novak, он пилит офисную систему на базе центоси, так у него в скрипте кругом эхо понатыкано, при установке еще и пишет в терминале, по хранцузски правда, сейчас делается то-то.
Да ради бога... Я по своему хотел сказать. Ну, если не так, тогда простите...
Вне форума
Ха, чувак уже не пилит, теперь компания Microlinux устанавливает на свои машины Суся. Репа микролинуха удалена с гитхаба. Вот это поворот.
Добавлено спустя 3 ч 03 мин 41 с:
Вот елки, если обидел - извини, я же хотел как лучше. )
In Tux We Trust
Вне форума
К слову, концепция CRUX самая обнадёживающая. Весь мусор - производителям. И правильно, нехрен винт засорять хренью... Всё равно телевизор смотрим, а не книжки читаем.
Вне форума
Всё равно телевизор смотрим
Лет десять не смотрел, и не планирую.
In Tux We Trust
Вне форума
Приветствую участников форума! Извиняюсь за орфографию, пишу с телефона.
У меня вопрос относительно локализации crux. Что делаю: генерирую русскую локаль, прописываю в profile заветную строчку, пересобираю все пакеты, затем собираю chromium и увы, русских символов он не понимает. Не нужно ли в pkgfile указывать какую либо функцию вроде setlocate? И если да, то как это должно выглядеть.
ПС. с линуксами на Вы, буду рад любым ответам, ссылкам. спасибо
В отличие от Арчлинуха допустим, в круксе генерят локали по другому:
6.1.4. Generating locales
Starting with CRUX 2.5, glibc does not contain all possible locales anymore, thus you'll have to generate the locales you need/use. The following example is a typical setup for swedish users, replace sv_SE* with the locale you want:
# localedef -i sv_SE -f ISO-8859-1 sv_SE
# localedef -i sv_SE -f ISO-8859-1 sv_SE.ISO-8859-1
# localedef -i sv_SE -f UTF-8 sv_SE.UTF-8
In Tux We Trust
Вне форума
Благодарю за отклик. Разумеется генерация локали производилась по handbook crux. Команда locale -a показывает наличие русской локали, вопрос в том, почему chromium собирается без ее поддержки.
Раньше язык интерфейса у хромого можно было переключать в настройках, как сейчас - не знаю, но я бы посмотрел.
In Tux We Trust
Вне форума
Причем тут язык интерфейса, когда русские буквы квадратами показывает? я об этом.
Извиняюсь если грубо ответил, не хотел Вас обидеть.
Пустое, я не обидчивый. Возможно какие то опции при сборке нужно указывать, крукс вроде использует систему портов, может вам стоит покурить бсд-шные доки? Впрочем тут я не советчик. По локализации, как по мне так гентушная вики написано более понятным языком, чем арчевики, местами по крайней мере. https://wiki.gentoo.org/wiki/Localization/Guide/ru
In Tux We Trust
Вне форума
Вообщем так я и не победил этот crux, а жаль, дистрибутив действительно хорош. Чтож, будем пользоваться nutyx. Однако за темой послежу, может еще кто отпишется.
И что, так прямо и сдадитесь? Попробуйте Venom Linux, он основан на LFS и по мотивам Крукса.
Страница загрузки: https://sourceforge.net/projects/venomlinux/files/
In Tux We Trust
Вне форума
Спасибо, не слышал об этом дестрибутиве. Похоже дестрибутив появился недавно, на distrowatch информации по нему нету, да и на сайте проекта ничего. Предлагаете подрабатывать мейнтейнером на общественных началах? Мысль интересная, и даже возможно практичная, в плане получения опыта, жаль нет времени.
ПС crux оставил в дуалбуте, будет время обязательно разберусь.
Да и вот я еще о чем подумал, chromium же работает на стороне xserver, получается копать нужно в сторону локализации иксов, я правильно понял?
Дело в том, что хромой и производные по идее должен подхватывать настройки окружения, он же на Gtk3/ Но это по идее, а без идеи что там в головах разработчиков - фик его знает.
PS. Чтобы дистрибутив появился на дистроваче, многие разработчики сами предлагают Ладиславу свои сборки. По крайней мере разрабы PiSi Linux так и сделали году в 12-13-ом. Если зайти на sourceforge, и набрать в поиске Arch например, то вывалится страниц десять с производными, и не факт что из них многие будут на дистроваче.
In Tux We Trust
Вне форума
когда русские буквы квадратами показывает
может банально шрифтов каких-то не хватает?
Долой DE! Даёшь WM!
Вне форума
BigOrange приветствую, где же вы раньше были. Вообщем дело было не в бабине... Зашел отписаться о том что установка шрифта решила проблему, а тут Вы.
@Tsvi, Привет!
читал, размышлял... ))
у меня была похожая проблема с либрофисом, какой шрифт оно хочет, я так и не выяснил, но помогла смена темы оформления.
Долой DE! Даёшь WM!
Вне форума
Зависит от ДЕ вообще то и от его умолчаний.
In Tux We Trust
Вне форума
но помогла смена темы оформления
Линукс такой линукс
[ Сгенерировано за 0.024 сек, 7 запросов выполнено - Использовано памяти: 1.74 Мбайт (Пик: 1.8 Мбайт) ]