В много случаи ни се е налагало да ремонтираме система от LiveCD и в даден момент от процеса сме се оказали лишени от инструмент и когато искаме да го инсталираме, LiveCD OS ни казва, че е свършило място, чесън и вода ( да се прецака и задържи).
Хайде да го направим. Ще използваме SystemRescueCD, който предлага доста изчерпателна среда, базирана на Gentoo.
В нашия пример (инсталиране на Linux от нулата, следвайки книгата Linux From Scratch) липсват програмите Bison и Makeinfo, така че ще създадем нов ISO образ на този диск, но с новите инструменти.
Въпреки че се използва мениджър на пакети (като apt-get на Debian), вместо изтегляне на пакети, изходният код се изтегля, за да го компилира на вашата машина.
За процеса ще ви трябва Linux дял (ext4 например) с поне 1.5G безплатно, въпреки че се препоръчва повече. Ако не искате да бъркате с дяловете си, използвайте виртуална машина. Разбира се, препоръчително е дялът да има няколко концерта, тъй като по време на компилирането, инсталирането, синхронизирането на хранилищата ... е необходимо временно пространство; Съветвам да използвате 8G + 2G суап дял (с 4G + 1G би трябвало да е достатъчно, но така че можем да ви уверим, че ако липсва RAM / суап, процесът ще бъде още по-бавен).
Ако приемем, че сте създали виртуална машина с 10G диск, стартирате го, като му кажете да стартира от новоизтегления SystemRescueCd. След като влезем в дял с fdisk (ако сте започнали графичната сесия, можете да го направите с gparted, но целта на тази публикация е да научи използването на основните инструменти). fdisk е интерактивна команда:
- с опцията "n" създаваме нов дял
- с опцията "t" променяме типа файлова система, която ще влиза в дяла
- с опцията «w» записваме на диска
- с опцията «q» оставяме, без да пишем промените
Когато използваме опцията "n", тя ще ни даде няколко опции, през цялото време ще използваме по подразбиране, освен когато задаваме последния сектор в първия дял, който ще трябва да напишем "+ 8G", като по този начин показва на програмата, че искаме нашия дял заемат 8GB.
При създаването на втория дял ще използваме опциите по подразбиране, тъй като останалото пространство ще бъде заето. Също така, за да кажете на fdisk, че вторият дял ще бъде от тип swap, използвайте опцията "t" (шестнадесетичният код за суап е 82). Интерфейсът изглежда така:
Команда% fdisk / dev / sda (m за помощ):
След като всичко приключи, използваме опцията "w", за да запишем промените на диска и да излезем.
Сега е време да форматирате дяловете. Ще започнем със суапа, за да го използваме незабавно:
% mkswap / dev / sda2% swapon / dev / sda2
Вече имаме форматиран суап дял и с командата супон започнахме да го използваме. Сега форматираме първия дял в ext4:
% mkfs.ext4 /dev/sda1
Можем да започнем да следваме стъпките, описани в http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, тук ги превеждам / описвам със странната анотация.
Монтираме дяла на негово място (LiveCD вече се предлага подготвен с папка / mnt / custom, където трябва да бъде монтиран дялът, в който ще направим съответните промени). Също така след монтирането ще трябва да извлечем файловете от диска, това се постига с вече подготвен скрипт. Скриптът ще отнеме известно време (тъй като изхвърля стотици мегабайта памет), ако искате да проверите дали действително работи, отидете на друг терминал (с Alt + F4 например) и направете df -h.
% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract
Ако сега навигирате вътре / mnt / custom / customcd, ще видите няколко папки. В / mnt / custom / customcd / files основната файлова система е намерена. Сега е време да представим бъдещата нова система. Тук ще сложа командите, за повече информация относно chroot можете да видите този урок, който написах преди месец
% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)
Вече сме в chrooted системата, която ще бъде системата LiveCD, след като я стартираме. Ще инсталираме липсващите пакети (bison и texinfo) с помощта на командата появят (който обработва колета на пренасяне на багаж от gentoo).
Първо синхронизираме дървото за пренасяне (еквивалент на ап-GET актуализация)
# emerge-webrsync
ЗАБЕЛЕЖКА: ние използваме тази команда вместо "emerge –sync", защото тя е по-бърза, тъй като изтегля tar пакет от мрежата. Тази стъпка е необходима, защото ако не се появи, тя автоматично ще се появи - синхронизиране, забавяйки я.
След синхронизиране на дървото за пренос можем да пристъпим към инсталиране на пакетите:
# emerge sys-devel / bison # emerge sys-devel / texinfo
Оставяме chroot:# exit
Демонтираме "/ proc", така че новите инсталирани пакети да се съхраняват в squashfs. Демонтираме също "/ dev" и "/ sys", за да не забравяме по-късно
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys
Тъй като вече сме подготвили новата файлова система за скуош, ние я създаваме със следната команда
% /usr/sbin/sysresccd-custom squashfs
Ако искаме да добавим файл в ISO изображението, но искаме да е извън squashfs, трябва да го поставим в папката «/ mnt / custom / customcd / isoroot»
% cp -a my-files /mnt/custom/customcd/isoroot
Славният момент настъпи, вече можем да генерираме новия ISO образ с нашата персонализирана система!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" е името, което даваме на тома, можете да го наричате както искате. Изображението се запазва в «/ mnt / custom / customcd / isofile», освен това се генерира и .md5 файл 🙂
Ако работите на виртуален диск, ключовата стъпка остава: извлечете ISO образа на виртуалната система. Има няколко начина да го направите, ще ви обясня един прост (във VirtualBox), за да не се налага да инсталирате „добавки за гости“ или нещо подобно.
Ще използваме клиента, за да получим файла през ssh тунел. За да направите това, първо трябва да конфигурираме системата за гости с корен парола. SSH сървърът се стартира автоматично, все пак го рестартираме за всеки случай.
% passwd
% /etc/init.d/sshd restart
Трябва да конфигурираме пренасочването на портове на виртуалната машина. Във VirtualBox се прави по следния начин:
- Имате достъп до конфигурацията на виртуалната машина
- В раздела за мрежата вече сте конфигурирали адаптер в NAT
- Потърсете опцията за препращане на портове
- Добавяте ново правило, с единствените параметри "порт за хост" и "порт за гости"
- хост = 3022 и гост = 22
С това постигнахме, че порт 3022 на нашия компютър е 22 на виртуалната машина. Стартираме клиента на Filezilla:
- В параметъра на сървъра пишем: sftp: // localhost
- В параметъра на потребителското име пишем: root
- В параметъра за парола поставяме този, който използваме в «passwd»
- В параметъра на порта записваме: 3022
- Щракнете върху «Бърза връзка»
Ако всичко е минало добре наляво, можем да навигираме на нашия компютър и надясно във виртуалната машина. Достатъчно е да влезете (във виртуалната машина) в папката «/ mnt / custom / customcd / isofile» и да плъзнете ISO изображението до желаното от нас място на нашия компютър.
!! Честито!! Ако всичко е минало добре, вие имате готов ISO образ с персонализиран SystemRescueCD и готов за зареждане от CD, USB ...
Какво добро ръководство, донякъде сложно, но много полезно.
Добър принос.
След това с малко повече време и без толкова дискомфорт в очите, ще го прочета старателно. Изглежда много полезно и интересно.
Здравейте woqer, много добър пост!
Бях с LFS от няколко години и създадох свой собствен iso, който може да ви служи, той има всичко необходимо за компилиране, тъй като е LFS. 😀 Надявам се, че е полезно за вас
http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso