Προσαρμογή ενός επισκευαστικού δίσκου: Ο δρόμος προς το LFS

Πολλές είναι οι στιγμές που χρειαζόμασταν να επιδιορθώσουμε ένα σύστημα από ένα LiveCD και σε κάποιο σημείο της διαδικασίας διαπιστώσαμε ότι δεν διαθέτουμε κάποιο εργαλείο και όταν θέλουμε να το εγκαταστήσουμε, το LiveCD OS μας λέει ότι έχει εξαντληθεί ο χώρος και το σκόρδο και το νερό ( να πατήσω και να κρατήσω.

Αυτό το πρόβλημα μου έχει έρθει πραγματικά λόγω της μετάβασης στο LFS (LinuxFromScratch), ο οποίος είναι ένας οδηγός (ΟΧΙ η ίδια η διανομή) για την εγκατάσταση ενός προσαρμοσμένου Linux. Το σημείο αυτής της "διανομής" είναι ότι από οποιοδήποτε LiveCD, και με τα κατάλληλα εργαλεία, κατεβάζετε τον κώδικα του πυρήνα και άλλα εργαλεία για να δημιουργήσετε το δικό σας σύστημα (συγκεντρώνοντας τα πάντα λίγο-πολύ). Εάν θέλετε να ακολουθήσετε τον αναλυτικό οδηγό, χρειάζεστε πολλά εργαλεία και μεταγλωττιστές και δεν υπάρχει ζωντανό CD με τα πάντα, επομένως πρέπει να προσαρμόσετε ένα.

Ας το κάνουμε. Θα χρησιμοποιήσουμε το SystemRescueCD, το οποίο προσφέρει ένα αρκετά ολοκληρωμένο περιβάλλον που βασίζεται στο Gentoo.

Στο παράδειγμά μας (εγκατάσταση ενός Linux από το μηδέν ακολουθώντας το βιβλίο Linux From Scratch) χάνουμε τα προγράμματα Bison και Makeinfo, οπότε πρόκειται να δημιουργήσουμε μια νέα εικόνα ISO αυτού του δίσκου αλλά με τα νέα εργαλεία.

ΕΙΔΟΠΟΙΗΣΗ: Το Gentoo είναι μια διανομή που μεταγλωττίζεται στο χώρο όλα τα πακέτα που πρόκειται να εγκατασταθούν, επομένως η διαδικασία προσθήκης και ενημέρωσης προγραμμάτων είναι αργή.

Παρόλο που χρησιμοποιείται ένας διαχειριστής πακέτων (όπως το Debian's apt-get), αντί για λήψη πακέτων, ο πηγαίος κώδικας λαμβάνεται για να τον μεταγλωττίσετε στο μηχάνημά σας.

Για τη διαδικασία θα χρειαστείτε ένα διαμέρισμα Linux (για παράδειγμα ext4) με τουλάχιστον 1.5G δωρεάν, αν και προτείνονται περισσότερα. Εάν δεν θέλετε να παίζετε με τα διαμερίσματα σας, χρησιμοποιήστε μια εικονική μηχανή. Φυσικά, είναι σκόπιμο το διαμέρισμα να έχει πολλές συναυλίες αφού κατά τη διάρκεια της σύνταξης, της εγκατάστασης, του συγχρονισμού των αποθετηρίων ... απαιτείται προσωρινός χώρος. Σας συμβουλεύω να χρησιμοποιήσετε ένα διαμέρισμα ανταλλαγής 8G + 2G (με 4G + 1G θα πρέπει να είναι αρκετό, αλλά έτσι μπορούμε να σας διαβεβαιώσουμε, εάν λείπει RAM / swap, η διαδικασία θα είναι ακόμη πιο αργή)

Υποθέτοντας ότι έχετε δημιουργήσει μια εικονική μηχανή με ένα δίσκο 10G, το ξεκινάτε λέγοντάς του να ξεκινήσει από το SystemRescueCd που κατεβάσατε πρόσφατα. Μόλις μπείτε στο διαμέρισμα διαχωρίζουμε το fdisk (αν έχετε ξεκινήσει τη γραφική συνεδρία μπορείτε να το κάνετε με το gparted, αλλά ο σκοπός αυτής της ανάρτησης είναι να διδάξετε τη χρήση βασικών εργαλείων). Το fdisk είναι μια διαδραστική εντολή:

  • με την επιλογή "n" δημιουργούμε ένα νέο διαμέρισμα
  • με την επιλογή "t" αλλάζουμε τον τύπο του συστήματος αρχείων που θα πάει στο διαμέρισμα
  • με την επιλογή «w» γράφουμε στο δίσκο
  • με την επιλογή «q» φεύγουμε χωρίς να γράφουμε τις αλλαγές

Όταν χρησιμοποιούμε την επιλογή "n", θα μας δώσει πολλές επιλογές, συνεχώς θα χρησιμοποιούμε την προεπιλογή, εκτός από τη ρύθμιση του τελευταίου τομέα στο πρώτο διαμέρισμα, το οποίο θα πρέπει να γράψουμε "+ 8G", υποδεικνύοντας έτσι στο πρόγραμμα ότι θέλουμε το διαμέρισμα μας να καταλαμβάνει 8 GB.

Κατά τη δημιουργία του δεύτερου διαμερίσματος θα χρησιμοποιήσουμε τις προεπιλεγμένες επιλογές αφού θα καταληφθεί ο υπόλοιπος χώρος. Επίσης, για να πείτε στο fdisk ότι το δεύτερο διαμέρισμα θα είναι τύπου swap, χρησιμοποιήστε την επιλογή "t" (ο δεκαεξαδικός κωδικός για την ανταλλαγή είναι 82). Η διεπαφή μοιάζει με αυτό:

% fdisk / dev / sda Command (m για βοήθεια):

Μόλις όλα γίνουν, χρησιμοποιούμε την επιλογή "w" για να γράψουμε τις αλλαγές στο δίσκο και να βγούμε.
Τώρα ήρθε η ώρα να διαμορφώσετε τα διαμερίσματα. Θα ξεκινήσουμε με το swap για να το χρησιμοποιήσουμε αμέσως:

% 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 όπου πρέπει να τοποθετηθεί το διαμέρισμα στο οποίο θα κάνουμε τις κατάλληλες αλλαγές) Επίσης μετά την τοποθέτηση θα πρέπει να εξαγάγουμε τα αρχεία από το δίσκο, αυτό επιτυγχάνεται με ένα σενάριο που έχει ήδη προετοιμαστεί. Το σενάριο θα διαρκέσει λίγο (δεδομένου ότι απορρίπτει εκατοντάδες megabyte μνήμης), εάν θέλετε να ελέγξετε ότι λειτουργεί πραγματικά, μεταβείτε σε άλλο τερματικό (με Alt + F4 για παράδειγμα) και κάντε ένα df -h.

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

Εάν τώρα πλοηγηθείτε μέσα / mnt / custom / customcd, θα δείτε πολλούς φακέλους. Σε / mnt / custom / customcd / αρχεία το ριζικό σύστημα αρχείων βρίσκεται. Τώρα ήρθε η ώρα να μαλακώσετε το μελλοντικό νέο σύστημα. Εδώ πρόκειται να βάλω τις εντολές, για περισσότερες πληροφορίες σχετικά με το 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 / αρχεία / sys% chroot / mnt / custom / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

Είμαστε ήδη στο σύστημα chroot, το οποίο θα είναι το σύστημα LiveCD μόλις το εκκινήσουμε. Θα εγκαταστήσουμε τα πακέτα που λείπουν (bison και texinfo) χρησιμοποιώντας την εντολή αναδύονται (που χειρίζεται το δέμα του αχθοφορικά έξοδα από gentoo).

Πρώτα συγχρονίζουμε το δέντρο portage (το αντίστοιχο του apt-get update)
# emerge-webrsync ΣΗΜΕΙΩΣΗ: χρησιμοποιούμε αυτήν την εντολή αντί για "emerge –sync" επειδή είναι ταχύτερη, καθώς κατεβάζει ένα πακέτο tar από τον Ιστό. Αυτό το βήμα είναι απαραίτητο, γιατί εάν δεν εμφανιστεί θα εμφανιστεί αυτόματα - συγχρονισμός, επιβραδύνοντας το.

Αφού συγχρονίσουμε το δέντρο portage, μπορούμε να προχωρήσουμε στην εγκατάσταση των πακέτων:

# emerge sys-devel / bison # emerge sys-devel / texinfo
Ο bison θα πάρει λίγο χρόνο για να συντάξει, να είναι υπομονετικός

Αφήνουμε chroot:# exit

Αποσυνδέουμε το "/ proc" έτσι ώστε τα νέα εγκατεστημένα πακέτα να αποθηκεύονται σε σκουός. Αποσυνδέουμε επίσης "/ 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, αλλά θέλουμε να είναι εκτός σκουός, πρέπει να το βάλουμε στο φάκελο «/ mnt / custom / customcd / isoroot»

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

Σε αυτό το σημείο, ο επίσημος οδηγός σας λέει ότι μπορείτε να ορίσετε την εκκίνηση του πληκτρολογίου με ένα προεπιλεγμένο πληκτρολόγιο (για παράδειγμα "es" για ισπανικά πληκτρολόγια). Αλλά κάνοντας αρκετές δοκιμές, το σενάριο που χρησιμοποιούν για μένα δεν λειτούργησε και είχε ως αποτέλεσμα ένα σφάλμα κατά τη φόρτωση του πυρήνα, οπότε θα παραλείψω αυτό το βήμα.

Έφτασε η υπέροχη στιγμή, τώρα μπορούμε να δημιουργήσουμε τη νέα εικόνα 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 γίνεται ως εξής:

  1. Έχετε πρόσβαση στη διαμόρφωση της εικονικής μηχανής
  2. Στην ενότητα δικτύου έχετε ήδη ρυθμίσει έναν προσαρμογέα στο NAT
  3. Αναζητήστε την επιλογή προώθησης θύρας
  4. Προσθέτετε έναν νέο κανόνα, με τις μόνες παραμέτρους "θύρα κεντρικού υπολογιστή" και "θύρα επισκέπτη"
  5. οικοδεσπότης = 3022 και επισκέπτης = 22

Με αυτό έχουμε επιτύχει ότι η θύρα 3022 του υπολογιστή μας είναι 22 της εικονικής μηχανής. Ξεκινάμε τον πελάτη Filezilla:

  1. Στην παράμετρο διακομιστή γράφουμε: sftp: // localhost
  2. Στην παράμετρο ονόματος χρήστη γράφουμε: root
  3. Στην παράμετρο κωδικού πρόσβασης βάζουμε αυτήν που χρησιμοποιούμε στο «passwd»
  4. Στην παράμετρο port γράφουμε: 3022
  5. Κάντε κλικ στο «Γρήγορη σύνδεση»

Εάν όλα πήγαν καλά προς τα αριστερά μπορούμε να περιηγηθούμε στον υπολογιστή μας και προς τα δεξιά στην εικονική μηχανή. Αρκεί η πρόσβαση (στην εικονική μηχανή) στο φάκελο «/ mnt / custom / customcd / isofile» και σύρετε την εικόνα ISO στη θέση που θέλουμε στον υπολογιστή μας.

!! Συγχαρητήρια !! Εάν όλα πάνε καλά, έχετε την εικόνα ISO σας έτοιμη με ένα προσαρμοσμένο SystemRescueCD και έτοιμο για εκκίνηση από CD, USB

Κύριος εξωτερικός σύνδεσμος: http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd

Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Λέων dijo

    Τι καλός οδηγός, κάπως περίπλοκος αλλά πολύ χρήσιμος.
    Καλή συμβολή.

  2.   Λέπερ_ Ιβάν dijo

    Στη συνέχεια, με λίγο περισσότερο χρόνο, και χωρίς τόση ενόχληση στα μάτια, θα το διαβάσω καλά. Φαίνεται πολύ χρήσιμο και ενδιαφέρον ..

  3.   Κάρλος Σάντσεζ dijo

    Γεια σας, πολύ καλή θέση!

    Είμαι με το LFS για μερικά χρόνια και έχω δημιουργήσει το δικό μου iso που μπορεί να σας εξυπηρετήσει, έχει όλα όσα χρειάζεστε για να μεταγλωττίσετε, δεδομένου ότι είναι LFS. Hope Ελπίζω να είναι χρήσιμο σε εσάς

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