Linux CRUX на русском

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Linux CRUX на русском » Установка » Установка дистрибутива CRUX на соседний раздел


Установка дистрибутива CRUX на соседний раздел

Сообщений 1 страница 2 из 2

1

Документ можно скачать здесь. Позже будет перенесён сюда...

P.S.

Опубликован ниже...

0

2

Установка CRUX в каталог

Дистрибутив CRUX в качестве установщика имеет простой скрипт - setup. Он настолько просто и элегантно написан, что без проблем запускается в любом рабочем дистрибутиве и позволяет установить дистрибутив на соседний с действующей системой раздел. Этим сейчас и займёмся.

Структура ISO-образа дистрибутива

Для начала разберёмся как устроен образ, какие там файлы и каталоги, и зачем они нужны. Для отображения структуры каталогов я воспользовался командой tree, позволяющей показать эту самую структуру в цветной псевдографике:

Код:
# tree -d
.
├── boot
│   ├── grub
│   │   ├── fonts
│   │   ├── i386-efi
│   │   └── x86_64-efi
│   └── isolinux
├── crux
│   ├── core
│   ├── handbook.txt
│   ├── kernel
│   │   ├── linux-5.4.80.config
│   │   ├── linux-5.4.80.defconfig
│   │   └── linux-5.4.80.tar.xz
│   ├── opt
│   ├── releasenotes.txt
│   ├── setup.dependencies
│   └── xorg
├── crux-media
├── rootfs.tar.xz
└── tools
    └── pkgutils#5.40.7-1.pkg.tar.gz

12 directories

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

Каталог boot

В каталоге boot находятся системные загрузчики grub и isolinux, которые нужны для загрузки системы с инсталлером с загружаемой флешки или загрузочного cdrom. В нашем случае мы их использовать не собираемся, поэтому просто не обращаем внимания на этот каталог.

Каталог crux

Вот этот каталог нам и будет нужен для установки дистрибутива. Он содержит все нужные нам пакеты дистрибутива CRUX. Краткое описание лучше привести в форме таблицы для наглядности:

core

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

kernel

В этом каталоге находится сжатый архив с исходниками для ядра и два конфига для настройки компилирования ядра. Причём конфиг с расширением .defconfig, инсталлер копирует в каталог с распакованными исходниками ядра, с переименованием его в .config. Второй конфиг предлагается как образец с отключенными по максимуму модулями и возможностями. То есть, если очень захотеть покрасноглазить, можно поэтапно конфигурировать ядро, подгоняя его под конфигурацию именно своего компьютера, путём включения модулей и всяких возможностей.

opt

Каталог предоставляющий дополнительные пакеты. И консольные, и тянущие по зависимостям xorg. То есть, если мы выберем из этого набора пакет браузера firefox-bin, инсталлер автоматом установит минимум пакетов из набора xorg, чтобы обеспечить работу браузера в графическом режиме.

xorg

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

handbook.txt

Классика. Документация по установке и настройке дистрибутива от производителей. Кратко, доступно, но маловато для познания процесса...

releasenotes.txt

Тут хвастают про достижения в новом выпуске дистра.

setup.dependencies

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

Файл  rootfs.tar.xz

В этом файле как раз и находится сжатая файловая система, в которой запускается инсталлятор setup. Мы им позже займёмся.

Каталог tools

В этом каталоге находится пакет с утилитой для установки пакетов дистрибутива CRUX. Это тоже, на всякий случай. Просто надо знать, что эта утилита там есть.

Файл crux-media

Это для любопытствующих. В нём версия выпуска. Другой какой нибудь роли этот текстовый файл не играет.


В принципе, этих сведений достаточно, чтобы приступить к установке дистрибутива на соседний раздел. Поэтому следующий раздел статьи:


Подготовка к установке дистрибутива CRUX

Установку можно производить как с установленной рабочей системы, практически любого дистрибутива linux, так и с livecd дистрибутива. Главное, чтобы был подготовлен для установки раздел на жёстком диске. Большинство действий можно производить с помощью файлового менеджера midnight commander. Очень удобная штука. Команды же приводятся для наглядности процесса, так принято.

Все действия производятся с правами root, мне так удобнее. Вряд ли кто попытается вломиться из интернета в процесс установки. А паранойей я не болею, поэтому только так.  Это жене нельзя рассказывать про права root, вот тогда система точно будет сломана. А настоящий мужик должен уметь работать с правами root и не ломать систему. Только так! Чтобы получить права root в консольном окне, в большинстве дистрибутивов достаточно ввести команду:

Код:
$ sudo -i

Для начала создадим рабочий каталог для подготовительных действий. Туда мы загрузим iso-образ дистрибутива и распакуем его.

Код:
# mkdir -p /work/media

Дополнительно я создал каталог media. Это для скрипта установщика. Он его будет искать, поэтому так. Позже будет понятно.

Переходим в каталог work:

Код:
# cd /work

Скачиваем в него образ дистрибутива:

Код:
# wget -c http://ftp.morpheus.net/pub/linux/crux/crux-3.6.1/iso/crux-3.6.1.iso

Создадим каталог для монтирования загруженного образа:

Код:
# mkdir /work/isoimage

или

Код:
# mkdir isoimage

В данный момент действие команд будет иметь одинаковый результат.

Монтируем образ в каталог isoimage:

Код:
# mount crux-3.6.1.iso isoimage

можно с абсолютными путями...

Код:
# mount /work/crux-3.6.1.iso /work/isoimage

Копируем из примонтированного образа каталог crux со всеми файлами в каталог media:

Код:
# cp -r isoimage/crux media

или с абсолютными путями, кому как нравится...

Код:
# cp -r /work/isoimage/crux /work/media

Копируем сжатую файловую систему с установщиком в рабочий каталог, именно там этот скрипт находится.

Код:
# cp isoimage/rootfs.tar.xz .

или

Код:
# cp /work/isoimage/rootfs.tar.xz /work

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

Код:
# umount isoimage
# rm crux-3.6.1.iso
# rm -r isoimage

аналогично с абсолютными путями:

Код:
# umount /work/isoimage
# rm /work/crux-3.6.1.iso
# rm -r /work/isoimage

Теперь извлечём сам скрипт-инсталлятор из сжатой файловой системы rootfs.tar.xz.
Можно тупо воспользоваться файловым менеджером mc, войти в архив и просто скопировать нужные файлы:

http://i.piccy.info/i9/c8a9b260653903ea5c5575302796def7/1608981763/81602/1411131/crux_install_015_800.jpghttp://i.piccy.info/a3/2020-12-26-11-22/i9-14133729/800x503-r/i.gif

Но мы не ищем лёгких путей. Интересно же как это будет выглядеть в виде команды. А копировать будем два скрипта - сам инсталлер setup и воспомогательный скрипт (если нужно обновление, а не установка) скрипт setup-helper. Последний скрипт необязателен, он подключается к работе только в случае обновления дистрибутива, в варианте установки с нуля он не нужен. Распаковываем:

Код:
# tar -xvf rootfs.tar.xz --strip-components=3 -C . ./usr/bin/setup

или

Код:
# tar -xvf rootfs.tar.xz --strip-components=3 -C /work ./usr/bin/setup

Если собираемся обновлять дистрибутив, то нужен будет и второй скрипт:

Код:
# tar -xvf rootfs.tar.xz --strip-components=3 -C . ./usr/bin/setup-helper

или

Код:
# tar -xvf rootfs.tar.xz --strip-components=3 -C /work ./usr/bin/setup-helper

Аргумент --strip-components=3 показывает уровень вложенности файла в архиве.
Народ делает попроще, простым выводом содержимого архивного файла в новый файл:

Код:
# tar -xvf rootfs.tar.xz ./usr/bin/setup -O > setup

В таком случае, файл нужно сделать исполняемым(на всякий случай):

Код:
# chmod +x setup

Теперь малость подправим сам скрипт. Всё дело в том, что скрипт по умолчанию будет искать каталог /media, в котором, в свою очередь, должен на находиться каталог crux с пакетами для установки. Так вот скрипт нужно подправить, указать, чтобы он искал свой каталог не по абсолютному пути, а по относительному. Для этого откроем скрипт setup в любом текстовом редакторе и в поисковике слов напишем /media. Поисковик сразу же нас выведет на два места в скрипте, где эта переменная определяется:

http://i.piccy.info/i9/acb3f0ebf7896f56611dfcc3aea03c45/1608982019/58813/1411131/95794crux_install_002_1_800.jpghttp://i.piccy.info/a3/2020-12-26-11-26/i9-14133735/800x503-r/i.gif

Здесь таки указан абсолютный путь, а нам нужен относительный. Поэтому мы приводим этот фрагмент к такому виду:

Код:
            p=`echo $opt | cut -d= -f2`
            crux_dir=media/${p}/crux
        fi
    done
else
    crux_dir=media/crux
fi

Или к такому, как кому нравится:

Код:
            p=`echo $opt | cut -d= -f2`
            crux_dir=./media/${p}/crux
        fi
    done
else
    crux_dir=./media/crux
fi

В любом случае теперь указан относительный путь и скрипт будет искать свой каталог media в каталоге, из которого мы его запустили в работу.

В процессе разбирательства как работает скрипт, я его заодно перевёл на русский язык. Сам я по аглицки не очень, в смысле совсем. Поэтому использовал интернет-переводчики Deepl Translate, Яндекс переводчик и Google переводчик. Кто предпочитает оригинал, пусть будет так. А кому нужен, пусть даже криво переведённый скрипт, можно загрузить отсюда, вместе с этим документом.

Установка дистрибутива CRUX

Пришло время запустить в работу инсталлятор. Для начала приведу скрин, когда я попытался запустить скрипт, ещё не догадываясь, где он будет искать пакеты для установки.

http://i.piccy.info/i9/e1bdead68caa29e603252c7ad8fff42b/1608982433/33206/1411131/crux_install_001_800.jpghttp://i.piccy.info/a3/2020-12-26-11-33/i9-14133747/800x503-r/i.gif

Но теперь всё настроено. Только нужно создать каталог /mnt/crux. Это условие из скрипта. Последуем этой рекомендации.

Код:
# mkdir -p /mnt/crux

И предварительно примонтируем его! Скрипт не монтирует раздел для установки дистрибутива, это должен сделать сам пользователь, до запуска инсталлятора.

Код:
# mount /dev/sda9 /mnt/crux

Запускаем инсталлятор:

Код:
# sh ./setup

http://i.piccy.info/i9/dcdc3ce79bb4b4029e46ddf2d34bed31/1608982552/56681/1411131/crux_install_003_800.jpghttp://i.piccy.info/a3/2020-12-26-11-35/i9-14133749/800x503-r/i.gif

Дальше предложение установить или обновить дистрибутив:

http://i.piccy.info/i9/b37622fc710fd4ca5289f9e840040dd7/1608982804/38589/1411131/crux_install_004_800.jpghttp://i.piccy.info/a3/2020-12-26-11-40/i9-14133751/800x503-r/i.gif

Теперь отмечаем наборы пакетов, которые мы собираемся установить. Описание наборов выше по тексту, в таблице. Я выбрал всё. Советую и Вам, если устанавливаете в первый раз.

http://i.piccy.info/i9/5424b0e47dce51aaf786109a499c050a/1608982937/49895/1411131/72834crux_install_006_800.jpghttp://i.piccy.info/a3/2020-12-26-11-42/i9-14133752/800x503-r/i.gif

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

http://i.piccy.info/i9/306a5b71f7a37ac64410c493c96619d0/1608983039/34100/1411131/crux_install_007_800.jpghttp://i.piccy.info/a3/2020-12-26-11-43/i9-14133754/800x503-r/i.gif

Список устанавливаемых пакетов из каталога core:

http://i.piccy.info/i9/4149722ffb0e69f3a33c52fa0dd1187f/1608983132/71845/1411131/crux_install_008_800.jpghttp://i.piccy.info/a3/2020-12-26-11-45/i9-14133756/800x503-r/i.gif

Список пакетов из каталога opt:

http://i.piccy.info/i9/735dcdc8240a03cff3d46bf4f4471f5a/1608983195/71844/1411131/57520crux_install_009_800.jpghttp://i.piccy.info/a3/2020-12-26-11-46/i9-14133760/800x503-r/i.gif

Список пакетов из каталога xorg:

http://i.piccy.info/i9/e7f22bc0ed97c3d978f39de5b65e1ec6/1608983264/72198/1411131/80239crux_install_010_800.jpghttp://i.piccy.info/a3/2020-12-26-11-47/i9-14133764/800x503-r/i.gif

Далее следует предложение установить один из загрузчиков. У меня главной(на первом диске) установлена система из Debian. Я в неё вхожу редко, она мне нужна только для того, что там вменяемо отрабатывается команда update-grub. То есть, нормально регистрирует вновь установленные системы. Российского изготовления системы, поломали grub до неузнаваемости. Этим грешит и Astra-linux и Alt-linux. Их grub не умеет опознавать установленные системы. Какие то опознаёт, а нужные пользователю - нет! Вобщем, я выбрал один загрузчик - syslinux. Он не претендует на установку в mbr, но мне пригодится. Что Вы выберите, решать Вам.

http://i.piccy.info/i9/440fd9c940d0b1b2ca2a85d6361bc8ed/1608983435/49435/1411131/crux_install_011_800.jpghttp://i.piccy.info/a3/2020-12-26-11-50/i9-14133768/800x503-r/i.gif

Далее последует проверка на Вашу решимость:

http://i.piccy.info/i9/206126facdf830cd4d0bdfbc74ef4abb/1608983487/37259/1411131/23630crux_install_012_800.jpghttp://i.piccy.info/a3/2020-12-26-11-51/i9-14133772/800x503-r/i.gif

После чего начнётся сам процесс установки пакетов...

http://i.piccy.info/i9/728e14577b43031100d6746e1ec94bcd/1608983577/38208/1411131/crux_install_013_800.jpghttp://i.piccy.info/a3/2020-12-26-11-52/i9-14133779/800x503-r/i.gif

В конце процесса радостное сообщение, что всё прошло без ошибок! Значит я не зря выбрал syslinux загрузчиком! :-)

http://i.piccy.info/i9/0fc8bcac5316f07cce7cf58006fa3f77/1608983642/61164/1411131/98842crux_install_014_800.jpghttp://i.piccy.info/a3/2020-12-26-11-54/i9-14133784/800x503-r/i.gif


Далее будет статья о первой настройке установленного CRUX под chroot.

0


Вы здесь » Linux CRUX на русском » Установка » Установка дистрибутива CRUX на соседний раздел