Anpassa en RepairDisk: Vägen till AKU

Många gånger har vi varit tvungna att reparera ett system från en LiveCD, och någon gång i processen har vi befunnit oss saknar ett verktyg och när vi vill installera det berättar LiveCD OS att det har tagit slut på utrymme och vitlök och vatten (för att knulla och hålla fast).

Detta problem har verkligen kommit till mig på grund av att jag går in i LFS (LinuxFromScratch), som är en guide (INTE en distribution i sig) för att installera en anpassad Linux. Poängen med denna "distribution" är att från alla LiveCD, och med lämpliga verktyg, laddar du ner kärnkoden och andra verktyg för att bygga ditt eget system (sammanställa allt lite efter lite). Om du vill följa steg-för-steg-guiden behöver du flera verktyg och kompilatorer, och det finns ingen liveCD med allt, så du måste anpassa en.

Vi gör det. Vi kommer att använda SystemRescueCd, som erbjuder en ganska omfattande Gentoo-baserad miljö.

I vårt exempel (installera en Linux från grunden efter Linux From Scratch-boken) saknar vi Bison- och Makeinfo-programmen, så vi ska skapa en ny ISO-avbildning av denna disk men med de nya verktygen.

OBS: Gentoo är en distribution som sammanställs in situ alla paket som ska installeras, därför går processen med att lägga till och uppdatera program långsamt.

Även om en pakethanterare används (som Debians apt-get), laddas källkoden ner för att kompilera den på din dator istället för att ladda ner paket.

För processen behöver du en Linux-partition (till exempel ext4) med minst 1.5G gratis, även om mer rekommenderas. Om du inte vill lura med dina partitioner, använd en virtuell maskin. Naturligtvis är det tillrådligt att partitionen har flera gigabyte eftersom under processerna med kompilering, installation, synkronisering av förråd ... tillfälligt utrymme behövs; Jag rekommenderar att du använder en 8G + 2G swap-partition (med 4G + 1G borde det vara tillräckligt, men så kan vi försäkra dig om RAM / swap saknas kommer processen att bli ännu långsammare).

Förutsatt att du har skapat en virtuell maskin med en 10G-disk, startar du den med att säga att den ska starta från det nyligen nedladdade SystemRescueCd. En gång inuti partitionerar vi med fdisk (om du har startat den grafiska sessionen kan du göra det med gparted, men syftet med det här inlägget är att lära ut användningen av grundläggande verktyg). fdisk är ett interaktivt kommando:

  • med alternativet "n" skapar vi en ny partition
  • med alternativet "t" ändrar vi typen av filsystem som kommer att gå i partitionen
  • med alternativet «w» skriver vi till skivan
  • med alternativet «q» lämnar vi utan att skriva ändringarna

När vi använder alternativet "n" kommer det att ge oss flera alternativ, hela tiden kommer vi att använda standard, förutom när vi ställer in den sista sektorn i den första partitionen, som vi måste skriva "+ 8G", vilket indikerar för programmet att vi vill ha vår partition upptar 8 GB.

När du skapar den andra partitionen kommer vi att använda standardalternativen eftersom resten av utrymmet kommer att upptas. För att säga till fdisk att den andra partitionen kommer att vara av typen swap, använd alternativet "t" (hexkoden för swap är 82). Gränssnittet ser ut så här:

% fdisk / dev / sda-kommando (m för hjälp):

När allt är gjort använder vi alternativet "w" för att skriva ändringarna till disk och avsluta.
Nu är det dags att formatera partitionerna. Vi börjar med bytet för att använda det omedelbart:

% mkswap / dev / sda2% swapon / dev / sda2

Vi har redan bytpartitionen formaterad och med kommandot swapon vi har börjat använda den. Nu formaterar vi den första partitionen i ext4:

% mkfs.ext4 /dev/sda1

Vi kan börja följa stegen som beskrivs i http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, här översätter / beskriver jag dem med den udda kommentaren.

Vi monterar partitionen på sin plats (LiveCD levereras redan förberedd med en mapp / mnt / custom där partitionen där vi kommer att göra lämpliga ändringar måste monteras). Efter montering måste vi extrahera filerna från disken, detta uppnås med ett manus som redan är förberett. Skriptet tar ett tag (eftersom det dumpar hundratals megabyte minne), om du vill kontrollera att det faktiskt fungerar, gå till en annan terminal (med till exempel Alt + F4) och gör en df -h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extract

Om du nu navigerar inom / mnt / custom / customcd, kommer du att se flera mappar. I / mnt / custom / customcd / files rotfilsystemet hittas. Nu är det dags att ta bort det framtida nya systemet. Här ska jag lägga kommandona, för mer information om chroot kan du se denna handledning skrev jag för en månad sedan

% 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)

Vi är redan i det rotade systemet, vilket kommer att vara LiveCD-systemet när vi startar det. Vi installerar de saknade paketen (bison och texinfo) med kommandot framträda (som hanterar paketet med porte från gentoo).

Först synkroniserar vi portageträdet (motsvarigheten till apt-get update)
# emerge-webrsync OBS! Vi använder det här kommandot istället för "emerge –sync" eftersom det är snabbare, eftersom det laddar ner ett tjärpaket från webben. Det här steget är nödvändigt, för om du inte kommer fram kommer det automatiskt att dyka upp - synkroniseras och sakta ner det.

Efter att ha synkroniserat portageträdet kan vi fortsätta att installera paketen:

# emerge sys-devel / bison # emerge sys-devel / texinfo
bison tar ett tag att sammanställa, ha tålamod

Vi lämnar chroot:# exit

Vi avmonterar "/ proc" så att de nya installerade paketen lagras i squashfs. Vi avmonterar också "/ dev" och "/ sys" så att vi inte glömmer senare
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Eftersom vi redan har förberett det nya squashfilsystemet skapar vi det med följande kommando
% /usr/sbin/sysresccd-custom squashfs
Om vi ​​vill lägga till en fil i ISO-bilden men vi vill att den ska vara utanför squashfsen, måste vi lägga den i mappen «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

Vid den här tiden berättar den officiella guiden att du kan ställa in tangentbordet så att det startar med ett standardtangentbord (till exempel "es" för spanska tangentbord). Men när jag gjorde flera tester har skriptet de använder för mig inte fungerat och det resulterade i ett fel när kärnan laddades, så jag hoppar över det här steget.

Det härliga ögonblicket har kommit, vi kan nu skapa den nya ISO-bilden med vårt skräddarsydda system!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" är namnet vi ger volymen, du kan kalla det vad du vill. Bilden sparas i «/ mnt / custom / customcd / isofile», dessutom genereras också en .md5-fil 🙂

Om du arbetar på en virtuell disk kvarstår det avgörande steget: extrahera ISO-avbildningen för det virtuella systemet. Det finns flera sätt att göra det, jag kommer att förklara ett enkelt (i VirtualBox) för att undvika att behöva installera "gästtillägg" eller något liknande.
Vi kommer att använda klienten för att hämta filen genom en ssh-tunnel. För att göra detta måste vi först konfigurera gästsystemet med ett root-lösenord. SSH-servern startar automatiskt, vi startar fortfarande om den för alla fall.
% passwd
% /etc/init.d/sshd restart

Vi måste konfigurera portvidarebefordran av den virtuella maskinen. I VirtualBox görs det enligt följande:

  1. Du öppnar konfigurationen för den virtuella maskinen
  2. I nätverksavsnittet har du redan konfigurerat en adapter i NAT
  3. Leta efter alternativet för vidarebefordran av hamn
  4. Du lägger till en ny regel med de enda parametrarna "värdport" och "gästport"
  5. värd = 3022 och gäst = 22

Med detta har vi uppnått att port 3022 på vår dator är 22 på den virtuella maskinen. Vi startar Filezilla-klienten:

  1. I serverparametern skriver vi: sftp: // localhost
  2. I användarnamnparametern skriver vi: root
  3. I lösenordsparametern sätter vi den vi använder i «passwd»
  4. I portparametern skriver vi: 3022
  5. Klicka på «Snabbanslutning»

Om allt har gått bra till vänster kan vi navigera på vår dator och till höger i den virtuella maskinen. Allt du behöver göra är att komma åt (i den virtuella maskinen) mappen "/ mnt / custom / customcd / isofile" och dra ISO-bilden till den plats du vill ha på din dator.

!! Grattis !! Om allt gick bra har du din ISO-bild redo med ett anpassat SystemRescueCD och redo att starta från en CD, USB ...


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Leo sade

    Vilken bra guide, lite komplicerad men mycket användbar.
    Bra insats.

  2.   Leper_Ivan sade

    Sedan med lite mer tid och utan så mycket obehag i ögonen kommer jag att läsa det grundligt. Det verkar mycket användbart och intressant.

  3.   Carlos Sanchez sade

    Hej woqer, mycket bra inlägg!

    Jag har varit hos LFS i några år och jag har skapat min egen iso som kan användas för dig, den har allt du behöver kompilera eftersom det är en LFS. Jag hoppas att det är användbart för dig

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso