Linux - это интересно!
Вы не вошли.
Страницы 1
Решил вот поделиться способом установки Slackware на соседний раздел или в отдельный каталог не прибегая к услугам стандартного установщика. Использую Slackware-current, но обновлять не люблю. Пару раз система заломалась после обновления, поэтому сначала устанавливаю на соседний раздел, проверяю работоспособность, а затем переношу лучшее из накопленного "барахла" из старой системы в новую.
Установка Slackware с помощью slackpkg
С помощью утилиты slackpkg, имеющейся в составе дистрибутива Slackware, можно установить дистрибутив в каталог или в прямо примонтированный раздел. Понятно, что новая версия Slackware будет устанавливаться из действующей. В каталог обычно устанавливают для компилирования "чистых" пакетов или 32-разрядных в сеансе chroot. На раздел же устанавливается система просто "с чистого листа". Я использую этот вариант, чтобы не заморачиваться с установочными флешками или образами.
Представляет это возможным тот факт, что утилита slackpkg подчиняется переменной ROOT, сменяющей корневой каталог системы. Выглядит это примерно так:
export ROOT=/mychroot
Это если нужно установить дистрибутив в каталог /mychroot. Если же нужно установить дистрибутив в раздел, то предварительно его нужно примонтировать и затем объявить переменную. Например так:
# mkdir -p /mnt/new_slack
# mount /dev/sda7 /mnt/new_slack
# export ROOT=/mnt/new_slack
Не забываем настроить slackpkg на предмет ближайшего скоростного репозитория. Для этого нужно отредактировать файл /etc/slackpkg/mirror хост-системы. В моём случае, ближайшего скоростного репозитория в этом файле не оказалось, поэтому я просто добавил такие строки:
# LITHUANIA (LT)
https://mirrors.atviras.lt/slackware/slackware64-current/
Далее, меняем корневой каталог объявлением переменной, как было сказано выше:
# export ROOT=/mychroot
Скачиваем базу данных пакетов относительно нового корня:
# slackpkg update
slackpkg загрузит базу данных пакетов дистрибутива уже на раздел или в каталог, определённые установленной переменной ROOT.
Теперь устанавливаем по каталогам пакеты:
# slackpkg install a
После скачивания пакетов серии a, окно терминала отрисует следующее диалоговое окно, в котором можно отказаться от установки нежелательных пакетов:
Я отказался от пакетов elilo, grub и lilo. Потому как уже использую зарузчик grub с системой MX-Linux на первом разделе. Таким же образом можно отказаться от установки пакетов и в других сериях пакетов.
Не знаю почему, но при попытке установить следующий каталог ap, система попросила обновить базу данных пакетов. Поэтому следующие команды были такими:
# slackpkg update
# slackpkg install ap
# slackpkg update
# slackpkg install d
# slackpkg update
# slackpkg install k
# slackpkg update
# slackpkg install l
# slackpkg update
# slackpkg install n
...
Ну, и так далее...
Установив дистрибутив в каталог или на раздел, нужно его ещё настроить. Часть настроек, таких как русификация, можно сделать из текстового редактора mcedit, запущенного в хост-системе. Сласкварщики знают как это делать. Напомню.
/etc/profile.d/lang.csh:
Это на случай, если Вы будете использовать в работе оболочку C shell (csh). Похоже, она Патрику нравится, поэтому он её включил в дистрибутив. Можно обойтись и без этого файла, если работа с C_shell не намечается...
#!/bin/csh
#╓────────────────────────
#║ Russian locale
#╚═════════════════════════════════════════════════════─────────────────────────
setenv LC_ALL=
setenv LANG=ru_RU.UTF-8 # определяет языковую локаль системы
setenv LC_CTYPE=ru_RU.UTF-8 # определяет одиночные символы и тип символа (буква, цифра,...)
setenv LC_NUMERIC=C # формат чисел
setenv LC_TIME=ru_RU.UTF-8 # формат времени
setenv LC_COLLATE=C # используется для сравнения строк
setenv LC_MONETARY=ru_RU.UTF-8 # валюта
setenv LC_MESSAGES=ru_RU.UTF-8 # системные сообщения
setenv LC_PAPER=ru_RU.UTF-8 # формат бумаги
setenv LC_NAME=ru_RU.UTF-8 # формат имён
setenv LC_ADDRESS=ru_RU.UTF-8 # формат адресов
setenv LC_TELEPHONE=ru_RU.UTF-8 # формат телефонов
setenv LC_MEASUREMENT=ru_RU.UTF-8 # формат измерений
setenv LC_IDENTIFICATION=ru_RU.UTF-8 # идентификация
#╓────────────────────────
#║ End scripts
#╚═════════════════════════════════════════════════════─────────────────────────
/etc/profile.d/lang.sh:
Это стандартная русификация bash:
!/bin/sh
#╓────────────────────────
#║ Russian locale
#╚═════════════════════════════════════════════════════─────────────────────────
export LC_ALL=
export LANG=ru_RU.UTF-8 # определяет языковую локаль системы
export LC_CTYPE=ru_RU.UTF-8 # определяет одиночные символы и тип символа (буква, цифра,...)
export LC_NUMERIC=C # формат чисел
export LC_TIME=ru_RU.UTF-8 # формат времени
export LC_COLLATE=C # используется для сравнения строк
export LC_MONETARY=ru_RU.UTF-8 # валюта
export LC_MESSAGES=ru_RU.UTF-8 # системные сообщения
export LC_PAPER=ru_RU.UTF-8 # формат бумаги
export LC_NAME=ru_RU.UTF-8 # формат имён
export LC_ADDRESS=ru_RU.UTF-8 # формат адресов
export LC_TELEPHONE=ru_RU.UTF-8 # формат телефонов
export LC_MEASUREMENT=ru_RU.UTF-8 # формат измерений
export LC_IDENTIFICATION=ru_RU.UTF-8 # идентификация
#╓────────────────────────
#║ End scripts
#╚═════════════════════════════════════════════════════─────────────────────────
Включение кириллического шрифта в консоли:
/etc/rc.d/rc.font:
#!/bin/sh
#╓────────────────────────
#║ Set russian fonts
#╚═════════════════════════════════════════════════════─────────────────────────
setfont LatArCyrHeb-16
for i in 1 2 3 4 5 6; do
echo -ne "\033%G" > /dev/tty$i
done
#╓────────────────────────
#║ End scripts
#╚═════════════════════════════════════════════════════─────────────────────────
Включение русской раскладки в консоли:
/etc/rc.d/rc.keymap:
!/bin/sh
#╓────────────────────────
#║ Load the keyboard map. More maps are in /usr/share/kbd/keymaps.
#╚═════════════════════════════════════════════════════─────────────────────────
if [ -x /usr/bin/loadkeys ]; then
/usr/bin/loadkeys /usr/share/kbd/keymaps/i386/qwerty/ruwin_ct_sh-UTF-8.map.gz
fi
#╓────────────────────────
#║ End scripts
#╚═════════════════════════════════════════════════════─────────────────────────
Все эти скрипты должны быть исполняемыми.
И ещё, для некоторых старых программ нужно подкорректировать файл /usr/share/locale/locale.alias. Вместо строки:
russian ru_RU.ISO-8859-5
Вставляем три:
russian ru_RU.UTF-8
ru_RU ru_RU.UTF-8
ru ru_RU.UTF-8
На этом русификация закончена, следующий этап - настройка вновь установленного дистрибутива уже из сеанса chroot.
Создаём файл fstab, если система установлена на раздел:
/dev/sda6 swap swap defaults 0 0
/dev/sda7 / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nosuid,nodev,noexec 0 0
Скрипт для вхождения в chroot:
#!/bin/bash
# chroot.sh
# Выход, если не указан каталог
if [ -z "$1" ]; then
echo "chroot folder not specified"
exit 1
elif [ "$1" = -h ]; then
echo "./chroot.sh <chroot-folder>"
exit 1
fi
location="$1"
cd "$location" || exit 1
# Монтирование, база
mount -t proc proc "$1"/proc || exit 1
mount -o bind /sys "$1"/sys || exit 1
mount -o bind /dev "$1"/dev || exit 1
# Монтирование дополнительного раздела, который уже смонтирован на хосте
# первое - путь монтирования хоста, второе - монтирование chroot
# mount -B /mnt/datalinux2 "$1"/mnt/data
# Для доступа в интернет
cp /etc/resolv.conf "$1"/etc/resolv.conf
# Предотвращение ошибок D-Bus
cp /var/lib/dbus/machine-id "$1"/var/lib/dbus/machine-id
# Вход в окружение chroot
chroot "$location" /bin/bash -l
# Размонтирование после выхода из chroot
# umount "$1"/mnt/data
umount "$1"/{proc,sys,dev}/ || exit 1
echo "Done"
Его скопипастите и сохраните в домашнем наталоге /root под названием chroot.sh и сделайте запускаемым.
Запускаем сеанс chroot в работу:
# sh ./chroot.sh /mnt/new_slack
Делаем доступными системные библиотеки:
# ldconfig
Обновляем кэш шрифтов, если хотим запустить X:
# fc-cache
Установим пароль root:
# passwd
Добавляем пользователя cdrw (добавьте свой аккаунт):
# useradd -m -g users -G users,wheel,floppy,audio,video,cdrom,plugdev,power,netdev -s /bin/bash cdrw
Добавляем пользователя cdrw (добавьте свой аккаунт) в группу sudo:
# groupadd sudo
# usermod -a -G sudo cdrw
В текстовом редакторе открываем файл /etc/sudoers и раскомментируем строку "%wheel ALL=(ALL) ALL":
##
## Спецификация пользовательских привилегий
##
root ALL=(ALL) ALL
## Раскомментировать, чтобы позволить пользователям группы wheel
## выполнять любую команду.
%wheel ALL=(ALL) ALL
## То же самое без пароля
# %wheel ALL=(ALL) NOPASSWD: ALL
## Раскомментировать, чтобы позволить пользователям группы sudo
## выполнять любую команду.
# %sudo ALL=(ALL) ALL
## Раскомментировать, чтобы позволить любому пользователю запускать
## sudo, если он знает пароль пользователя, который выполняет команду
## от имени (по умолчанию root).
# Defaults targetpw # Запросить пароль у целевого пользователя.
# ALL ALL=(ALL) ALL # ПРЕДУПРЕЖДЕНИЕ: Использовать это только вместе с
# 'Defaults targetpw'.
Теперь открываем диалоговою утилиту pkgtool и с её помощью настраиваем подключение к сети и выставляем временную зону перейдя по пункту Setup:
# pkgtool
Выходим из утилиты pkgtool. Затем даём команду выхода из скрипта chroot.sh - exit:
# exit
Пожалуй всё. После установки системы на соседний раздел, можно перезагрузить компьютер. У меня первой системой стоит MX-Linux с загрузчиком grub, поэтому я регистрирую вновь установленную систему следующей командой:
# sudo update-grub
После перезагрузки в меню grub появится пункт выбора вновь установленной системы.
Вне форума
slackware64-current-mini-install.iso - этого достаточно будет для вышеописанных действий, или лучше dvd?
https://slackware.nl/slackware/slackware64-current-iso/
[ ] slackware64-current-install-dvd.iso 2020-04-12 23:16 3.1G
[ ] slackware64-current-mini-install.iso 2020-04-12 23:17 113M
Долой DE! Даёшь WM!
Вне форума
Если поднимешь соединение при установке, тогда и мини достаточно, если нет то дивидюк.
In Tux We Trust
Вне форума
slackware64-current-mini-install.iso - этого достаточно будет для вышеописанных действий, или лучше dvd?
Немного не понял вопроса. Я как раз имитировал действия инсталлера системы, который есть и в slackware64-current-mini-install.iso, и в dvd, чтобы не использовать их. Смысл такой - использовать идущую в составе Slackware утилиту для обновления пакетов slackpkg, в качестве инсталлера системы на соседний раздел. Но тогда требуется донастройка установленного дистра, которую обычно делает штатный установщик. Вот я и попытался воспроизвести.
В этот раз что то пошло не так. Что то с ssl сертификатами. Раньше такого не было... Браузеры во вновь установленной системе кричат, что подозрительный трафик с моего компа, требуют доказать что я не киборг и предлагают потыкать в картинки с семафорами. Буду ковырять, может какую настройку новую ввели... Во всяком случае каталог /etc/ssl/certs был пуст почему то.
Добавлено спустя 07 мин 50 с:
Сейчас попробую распаковать инсталлер, зачрутиться и повторить установку из него.
Вне форума
Что то с ssl сертификатами.
Не оно? Это относится к ca-certificates-mozilla, не далее как сегодня при обновлении был выпендреж.
In Tux We Trust
Вне форума
@cdrw, у меня слаки нет. я так понял, главное чтобы в составе образа была slackpkg
@redix, надеюсь смогу, проводочек от роутера поймет же ))
Долой DE! Даёшь WM!
Вне форума
@cdrw, у меня слаки нет. я так понял, главное чтобы в составе образа была slackpkg
@redix, надеюсь смогу, проводочек от роутера поймет же ))
Я сейчас устанавливаю из MX-Linux.
По командам:
sudo mc
Монтирую подготовленный для устаноки раздел:
mkdir /mnt/sda7
mount /dev/sda7 /mnt/sda7
Скачиваю туда весь дистр:
rsync -av --progress rsync://slackware.uk/slackware/slackware64-current/slackware64 /mnt/sda7/
После этого...
Каталог для распаковки образа установщика
mkdir /mychroot
cd /mychroot
Скачиваю туда образ с установщиком:
wget http://slackware.uk/slackware/slackware64-current/isolinux/initrd.img
Распаковать командой
xz --decompress -cd initrd.img | cpio -dvim
rm -f initrd.img
Монтируем и входим в chroot:
mount --bind /dev /mychroot/dev
mount --bind /proc /mychroot/proc
mount --bind /sys /mychroot/sys
chroot /mychroot
Теперь в chroot'е копипастим по одной команды:
source /etc/profile
setup
Всё! Как с DVD:
Добавлено спустя 01 мин 25 с:
Только раздел не форматировать из сетупа! Сотрёшь скачанный туда дистр!
Добавлено спустя 07 мин 01 с:
Всё таки новое окошко в инсталлере появилось
Надо выяснять, что за формат такой...
Добавлено спустя 13 мин 26 с:
Всё, буду проверять инет...
Добавлено спустя 33 мин 54 с:
cdrw пишет:Что то с ssl сертификатами.
Не оно? Это относится к ca-certificates-mozilla, не далее как сегодня при обновлении был выпендреж.
Всё. Точно что то наменяли в инсталляторе. Нужно разбираться. По второму методу всё установилось, никаких проблем с инетом нет.
Добавлено спустя 49 мин 34 с:
Нашёл про новое окошко здесь. Ничего для меня существенного. Я всё равно этим редактором не пользуюсь...
Вне форума
Страницы 1
[ Сгенерировано за 0.021 сек, 10 запросов выполнено - Использовано памяти: 1.71 Мбайт (Пик: 1.8 Мбайт) ]