D.3. Εγκαθιστώντας το Debian GNU/Linux από ένα Σύστημα Unix/Linux

Η ενότητα αυτή εξηγεί πώς να εγκαταστήσετε το Debian GNU/Linux από ένα υπάρχον from Unix ή Linux σύστημα, χωρίς τη χρήση του βασισμένου στις ncurses, και οδηγούμενου από το μενού εγκαταστάτη όπως εξηγείται στο υπόλοιπο αυτού του εγχειριδίου. Αυτό το "cross-install" HOWTO έχει ζητηθεί από χρήστες που αλλάζουν σε Debian GNU/Linux από διανομές όπως οι Redhat, Mandriva, και SUSE. Στην ενότητα αυτή προϋποθέτουμε κάποια οικειότητα στην εισαγωγή εντολών *nix και πλοήγησης στο σύστημα αρχείων. Εδώ, η παρακίνηση $ συμβολίζει μια εντολή που πρέπει να εισαχθεί στο υπάρχον σύστημα του χρήστη, ενώ το # αναφέρεται σε μια εντολή που θα εισαχθεί στο περιβάλλον Debian chroot.

Από τη στιγμή που έχετε ρυθμίσει το καινούριο Debian σύστημά σας σύμφωνα με τις προτιμήσεις σας, μπορείτε να μεταφέρετε τα υπάρχοντα δεδομένα σας (αν υπάρχουν) σε αυτό, και να συνεχίσετε να δουλεύετε. Πρόκειται λοιπόν για μια εγκατάσταση Debian GNU/Linux με «μηδενικό χρόνο μη λειτουργίας». Είναι επίσης και ένας έξυπνος τρόπος να αντιμετωπίσει κανείς δυσκολίες με υλικό που διαφορετικά δεν είναι φιλικό με διάφορα μέσα εκκίνησης ή εγκατάστασης.

[Σημείωση] Σημείωση

Καθώς πρόκειται κυρίως για μια διαδικασία με το χέρι, θα πρέπει να έχετε υπόψη ότι θα απαιτηθεί να κάνετε οι ίδιοι μεγάλο μέρος των βασικών ρυθμίσεων του συστήματος, κάτι που επίσης απαιτεί μεγαλύτερη γνώση του Debian και του Linux γενικά από την πραγματοποίηση μιας συνηθισμένης εγκατάστασης. Δεν θα πρέπει να περιμένετε ότι αυτή η διαδικασία θα οδηγήσει σε ένα σύστημα που θα είναι ταυτόσημο με αυτό που θα προκύψει από μια συνηθισμένη εγκατάσταση. Θα πρέπει ακόμα να κρατήσετε στο μυαλό σας ότι η παρούσα διαδικασία σας δίνει τα βασικά μόνο βήματα διαμόρφωσης ενός συστήματος. Πιθανόν να χρειάζονται επιπρόσθετα βήματα εγκατάστασης και/ή ρύθμισης.

D.3.1. Ξεκινώντας

Με τα διαθέσιμα *nix εργαλεία διαμέρισης, επαναδιαμερίσετε τον σκληρό σας δίσκο όπως απαιτείται, δημιουργώντας τουλάχιστον ένα σύστημα αρχείων και μια κατάτμηση swap. Χρειάζεστε περίπου 1012MB διαθέσιμου χώρου για μια εγκατάσταση μόνο με κονσόλα, ή περίπου 2539MB αν σκοπεύετε να εγκαταστήσετε το παραθυρικό περιβάλλον X (και περισσότερα αν σκοπεύετε να εγκαταστήσετε κάποιο περιβάλλον επιφάνειας εργασίας όπως το GNOME ή το KDE Plasma).

Στην συνέχεια, δημιουργήστε συστήματα αρχείων στις κατατμήσεις. Για παράδειγμα, για να δημιουργήσετε ένα σύστημα αρχείων ext3 στην κατάτμηση /dev/sda6 (που είναι η ριζική κατάτμηση του παραδείγματος μας):

$ mke2fs -j /dev/sda6

. Αν αντίθετα θέλετε να δημιουργήσετε ένα σύστημα αρχείων ext2, παραλήψτε την παράμετρο -j.

Διαμορφώστε και ενεργοποιήστε μια κατάτμηση swap (αντικαταστήστε τον αριθμό της κατάτμησης μ' αυτόν της κατάτμησης swap του δικού σας συστήματος Debian):

# mkswap /dev/sda5
# sync
# swapon /dev/sda5

Προσαρτήστε μια κατάτμηση του δίσκου σαν /mnt/debinst (το σημείο εγκατάστασης που θα γίνει το ριζικό σύστημα αρχείων (/) στο καινούριο σας σύστημα). Το όνομα του σημείου προσάρτησης είναι αυστηρά αυθαίρετο, δείτε αναφορά γι' αυτό παρακάτω.

# mkdir /mnt/debinst
# mount /dev/sda6 /mnt/debinst 

[Σημείωση] Σημείωση

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

D.3.2. Εγκαθιστώντας με το debootstrap

Το εργαλείο που χρησιμοποιεί ο εγκαταστάτης του Debian, και που αναγνωρίζεται σαν ο επίσημος τρόπος για να εγκαταστήσετε ένα βασικό σύστημα Debian, είναι το debootstrap. Χρησιμοποιεί ταwget και ar, αλλά κατά τ' άλλα εξαρτάται μόνο από το /bin/sh και βασικά εργαλεία του Unix/Linux [22]. Εγκαταστήστε τα wget και ar αν δεν είναι ήδη εγκατεστημένα στο υπάρχον σύστημά σας, και στη συνέχεια κατεβάστε και εγκαταστήστε το debootstrap.

Ή μπορείτε να ακολουθήσετε την παρακάτω διαδικασία για να το εγκαταστήσετε με το χέρι. Δημιουργήστε έναν κατάλογο εργασίας για να αποσυμπιέσετε εκεί το πακέτο .deb:

# mkdir work
# cd work

. Το πακέτο debootstrap βρίσκεται στην αρχειοθήκη του Debian (βεβαιωθείτε ότι διαλέγετε το σωστό αρχείο για την αρχιτεκτονική σας). Κατεβάστε το πακέτο debootstrap .deb από το pool, αντιγράψτε το πακέτο στον κατάλογο εργασίας, και εξάγετε από αυτό τα αρχεία που περιέχει. Πρέπει να έχετε προνόμια χρήστη root για να εγκαταστήσετε τα αρχεία αυτά.

# ar -xf debootstrap_0.X.X_arch.deb
# cd /
# zcat /full-path-to-work/work/data.tar.gz | tar xv 

D.3.3. Τρέξτε το debootstrap

Το debootstrap μπορεί, όταν το τρέξετε, να κατεβάσει τα απαραίτητα αρχεία αυτόματα από την αρχειοθήκη. Μπορείτε να αντικαταστήσετε το http.us.debian.org/debian στο παράδειγμα της εντολής που ακολουθεί με οποιονδήποτε καθρέφτη της αρχειοθήκης του Debian, κατά προτίμηση με κάποιον που να βρίσκεται δικτυακά κοντά σας. Οι διάφοροι καθρέφτες παραθέτονται στο http://www.debian.org/mirror/list.

Αν έχετε μια εικόνα εγκατάστασης της έκδοσης bookworm του Debian GNU/Linux προσαρτημένου στο /cdrom, μπορείτε να αντικαταστήσετε με ένα URL αρχείου αντί του http URL: file:/cdrom/debian/

Αντικαταστήσετε μια από τις παρακάτω αρχιτεκτονικές ARCH στην εντολή debootstrap: amd64, arm64, armel, armhf, i386, mips64el, mipsel, ppc64el, s390x.

# /usr/sbin/debootstrap --arch ARCH bookworm \
     /mnt/debinst http://ftp.us.debian.org/debian

Αν η επιθυμητή αρχιτεκτονική διαφέρει από αυτή του ξενιστή, θα πρέπει να προσθέσετε την επιλογή --foreign.

D.3.4. Ρύθμιση του βασικού συστήματος

Τώρα έχετε ένα πραγματικό, αν και κάπως στοιχειώδες, σύστημα Debian , στον δίσκο σας. Εκτελέστε την εντολήchroot στο:

# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash

Αν η επιθυμητή αρχιτεκτονική διαφέρει από αυτή του ξενιστή, θα χρειαστεί πρώτα να αντιγράψετε το qemu-user-static στο νέο σύστημα:

# cp /usr/bin/qemu-ARCH-static /mnt/debinst/usr/bin
# LANG=C.UTF-8 chroot /mnt/debinst qemu-ARCH-static /bin/bash

Μετά το chrooting θα χρειαστεί να ρυθμίσετε τον καθορισμό του τερματικού ώστε να είναι συμβατό με το βασικό σύστημα του Debian , για παράδειγμα:

# export TERM=xterm-color

Depending on the value of TERM, you may have to install the ncurses-term package to get support for it.

Αν η επιθυμητή αρχιτεκτονική διαφέρει από αυτή του ξενιστή, θα πρέπει να ολοκληρώσετε τη διαδικασία multi-stage boot strap:

/debootstrap/debootstrap --second-stage

D.3.4.1. Δημιουργία αρχείων συσκευών

Σ' αυτό το σημείο, ο κατάλογος /dev/ περιέχει μόνο μερικά βασικά αρχεία συσκευών. Για τα επόμενα βήματα της εγκατάστασης πιθανόν να χρειάζονται περισσότερα. Υπάρχουν διαφορετικοί τρόποι για να κάνετε κάτι τέτοιο και το ποια μέθοδο θα πρέπει να χρησιμοποιήσετε εξαρτάται από το σύστημα ξενιστή που χρησιμοποιείτε για την εγκατάσταση, από το αν σκοπεύετε να χρησιμοποιήσετε έναν αρθρωτό (modular) πυρήνα ή όχι και από το αν σκοπεύετε να χρησιμοποιήσετε δυναμικά (δηλ. με χρήση του udev) ή στατικά αρχεία συσκευών για το καινούριο σύστημα.

Μερικές απο τις διαθέσιμες επιλογές είναι:

  • εγκαταστήστε το πακέτο makedev και δημιουργήστε ένα and create a default set of static device files using (after chrooting)

    # apt install makedev
    # mount none /proc -t proc
    # cd /dev
    # MAKEDEV generic
    

  • δημιουργία με το χέρι συγκεκριμένων μόνο αρχείων συσκευών με την εντολή MAKEDEV

  • προσαρτήστε δεσμευμένα (bind mount) τον κατάλογο /dev από το σύστημα ξενιστή στην κορυφή του καταλόγου /dev στο σύστημα στόχο. Σημειώστε ότι τα σενάρια postinst μερικών πακέτων προσπαθούν να δημιουργήσουν αρχεία συσκευών, οπότε η επιλογή αυτή θα πρέπει να χρησιμοποιείται μόνο με προσοχή

D.3.4.2. Προσαρτήστε τα τμήματα

Πρέπει να δημιουργήσετε το αρχείο /etc/fstab.

# editor /etc/fstab

Εδώ είναι ένα δείγμα που μπορείτε να τροποποιήσετε ώστε να ταιριάζει στις ανάγκες σας:

# /etc/fstab: static file system information.
#
# file system    mount point   type    options                  dump pass
/dev/XXX         /             ext3    defaults                 0    1
/dev/XXX         /boot         ext3    ro,nosuid,nodev          0    2

/dev/XXX         none          swap    sw                       0    0
proc             /proc         proc    defaults                 0    0

/dev/cdrom       /media/cdrom  iso9660 noauto,ro,user,exec      0    0

/dev/XXX         /tmp          ext3    rw,nosuid,nodev          0    2
/dev/XXX         /var          ext3    rw,nosuid,nodev          0    2
/dev/XXX         /usr          ext3    rw,nodev                 0    2
/dev/XXX         /home         ext3    rw,nosuid,nodev          0    2

Χρησιμοποιήστε την εντολή mount -a για να προσαρτήσετε όλα τα συστήματα αρχείων που έχετε προσδιορίσει στο /etc/fstab, ή, για να προσαρτήσετε συγκεκριμένα συστήματα αρχείων ξεχωριστά, χρησιμοποιήστε:

# mount /path   # e.g.: mount /usr

Τα σύγχρονα συστήματα Debian έχουν σημεία προσάρτησης για αφαιρέσιμα μέσα κάτω από τον κατάλογο /media, αλλά διατηρούν και συμβολικούς συνδέσμους για λόγους συμβατότητας κάτω από το /. Δημιουργήστε αυτά τα σημεία σύμφωνα με τις ανάγκες σας, για παράδειγμα:

# cd /media
# mkdir cdrom0
# ln -s cdrom0 cdrom
# cd /
# ln -s media/cdrom

Μπορείτε να προσαρτήσετε το σύστημα αρχείων proc πολλαπλές φορές και σε αυθαίρετα σημεία, αν και το σύνηθες είναι το /proc. Αν δεν χρησιμοποιήσατε την εντολή mount -a, βεβαιωθείτε ότι έχετε προσαρτήσει το σύστημα proc πριν συνεχίσετε:

# mount -t proc proc /proc

Η εντολή ls /proc θα πρέπει τώρα να δείξει έναν μη-κενό κατάλογο. Σε περίπτωση αποτυχίας, μπορείτε να προσαρτήσετε το proc έξω από το chroot κατάλογο:

# mount -t proc proc /mnt/debinst/proc

D.3.4.3. Ρύθμιση της Χρονικής Ζώνης

Ο ορισμός της τρίτης γραμμής του αρχείου /etc/adjtime σε«UTC» ή «LOCAL» καθορίζει αν το σύστημα θα ερμηνεύει την ώρα στο ρολόι του υπολογιστή ως ρυθμισμένης στην ζώνη UTC ή στην τοπική χρονική ζώνη αντίστοιχα. Οι ακόλουθες εντολές σας επιτρέπουν να κάνετε αυτή τη ρύθμιση.

# editor /etc/adjtime

Αυτό είναι ένα δείγμα:

0.0 0 0.0
0
UTC

Η ακόλουθη εντολή σας επιτρέπει να διαλέξετε τη χρονική ζώνη.

# dpkg-reconfigure tzdata

D.3.4.4. Ρύθμιση Δικτύου

To configure networking, edit /etc/network/interfaces, /etc/resolv.conf, /etc/hostname and /etc/hosts.

# editor /etc/network/interfaces

Here are some simple examples from /usr/share/doc/ifupdown/examples:

######################################################################
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# See the interfaces(5) manpage for information on what options are
# available.
######################################################################

# The loopback interface isn't really required any longer, but can be used
# if needed.
#
# auto lo
# iface lo inet loopback

# To use dhcp:
#
# auto eth0
# iface eth0 inet dhcp

# An example static IP setup: (network, broadcast and gateway are optional)
#
# auto eth0
# iface eth0 inet static
#     address 192.168.0.42
#     network 192.168.0.0
#     netmask 255.255.255.0
#     broadcast 192.168.0.255
#     gateway 192.168.0.1

Enter your nameserver(s) and search directives in /etc/resolv.conf:

# editor /etc/resolv.conf

A simple example /etc/resolv.conf:

search example.com
nameserver 10.1.1.36
nameserver 192.168.9.100

Enter your system's host name (2 to 63 characters):

# echo DebianHostName > /etc/hostname

And a basic /etc/hosts with IPv6 support:

127.0.0.1 localhost
127.0.1.1 DebianHostName

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

If you have multiple network cards, you should arrange the names of driver modules in the /etc/modules file into the desired order. Then during boot, each card will be associated with the interface name (eth0, eth1, etc.) that you expect.

D.3.4.5. Ρύθμιση του Apt

To debootstrap θα έχει δημιουργήσει ένα πολύ στοιχειώδες αρχείο /etc/apt/sources.list που θα σας επιτρέψει να εγκαταστήσετε επιπλέον πακέτα. Πιθανόν να θέλετε όμως να προσθέσετε κάποιες επιπλέον πηγές, για παράδειγμα για πακέτα πηγαίου κώδικα και αναβαθμίσεις ασφαλείας:

deb-src http://ftp.us.debian.org/debian bookworm main

deb http://security.debian.org/ bookworm-security main
deb-src http://security.debian.org/ bookworm-security main

. Βεβαιωθείτε, αφού κάνατε τις αλλαγές στην λίστα των πηγών, να εκτελέσετε την εντολή apt update.

D.3.4.6. Ρύθμιση πληκτρολογίου και τοπικοποίησης

Για να ρυθμίσετε την τοπικοποίησή σας ώστε να χρησιμοποιήσετε μια γλώσσα διαφορετική από τα Αγγλικά, εγκαταστήστε το πακέτο υποστήριξης locales και ρυθμίστε το. Προς το παρόν συνιστάται η χρήση της τοπικοποίησης UTF-8.

# apt install locales
# dpkg-reconfigure locales

Για να ρυθμίσετε το πληκτρολόγιο σας (αν είναι απαραίτητο):

# apt install console-setup
# dpkg-reconfigure keyboard-configuration 

Σημειώστε ότι δεν μπορείτε να ορίσετε το πληκτρολόγιο όσο είσαστε στο περιβάλλον chroot, αλλά θα ρυθμιστεί με την επόμενη επανεκκίνηση.

D.3.5. Εγκατάσταση ενός Πυρήνα

Αν θέλετε να εκκινήσετε αυτό το σύστημα το πιθανότερο χρειάζεστε έναν πυρήνα Linux και έναν φορτωτή εκκίνησης. Προσδιορίστε διαθέσιμα πακέτα με πυρήνες με την εντολή:

# apt search linux-image

Στη συνέχεια εγκαταστήστε το πακέτο για τον πυρήνα της επιλογής σας χρησιμοποιώντας το κατάλληλο όνομα.

# apt install linux-image-arch-etc

D.3.6. Ρύθμιση του Φορτωτή Εκκίνησης (Boot Loader)

Για να αταστήσετε το σύστημά σας Debian GNU/Linux εκκινήσιμο, ρυθμίστε τον φορτωτή εκκίνησης ώστε να φορτώνει τον εγκατεστημένο πυρήνα με την καινούρια ριζική κατάτμησή σας. Σημειώστε ότι η διαδικασία debootstrap δεν εγκαθιστά έναν φορτωτή εκκίνησης, αν και μπορείτε να χρησιμοποιήσετε την εντολή apt μέσα από το chroot σύστημα Debian για να κάνετε κάτι τέτοιο.

Σημειώστε ότι αυτό προϋποθέτει ότι έχει δημιουργηθεί ένα αρχείο συσκευής /dev/sda. Υπάρχουν εναλλακτικοί τρόποι να εγκαταστήσετε το grub, αλλά είναι έξω από τους στόχους αυτού του παραρτήματος.

D.3.7. Απομακρυσμένη πρόσβαση: Εγκαθιστώντας με SSH και καθορίζοντας την πρόσβαση

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

# apt install ssh

Η πρόσβαση ως root με χρήση συνθηματικού είναι απενεργοποιημένη εξ ορισμού, συνεπώς η ρύθμιση της πρόσβασης μπορεί να γίνει ορίζοντας ένα συνθηματικό και επαναενεργοποιώντας την πρόσβαση ως root με χρήση συνθηματικού:

# passwd
# editor /etc/ssh/sshd_config

Η επιλογή που πρέπει να ενεργοποιήσετε είναι αυτή:

PermitRootLogin yes

Η πρόσβαση μπορεί επίσης να οριστεί με την προσθήκη ενός κλειδιού ssh στον λογαριασμό του χρήστη root:

# mkdir /root/.ssh
# cat << EOF > /root/.ssh/authorized_keys
ssh-rsa ....
EOF

Τέλος, η πρόσβαση μπορεί να οριστεί με την προσθήκη του λογαριασμού ενός χρήστη που δεν είναι ο root και τον καθορισμό ενός συνθηματικού πρόβασης:

# adduser joe
# passwd joe

D.3.8. Τελευταίες πινελιές

Όπως αναφέρθηκε προηγουμένως, το εγκατεστημένο σύστημα θα είναι πολύ στοιχειώδες. Αν θέλετε να κάνετε το σύστημα λίγο πιο "ώριμο", υπάρχει μια εύκολη μέθοδος για να εγκαταστήσετε όλα τα πακέτα με «standard» προτεραιότητα:

# tasksel install standard

Φυσικά, μπορείτε επίσης να χρησιμοποιήσετε απλά το apt για να εγκαταστήσετε μεμονωμένα πακέτα.

Μετά την εγκατάσταση θα υπάρχουν πολλά πακέτα που θα έχουν κατέβει στον κατάλογο /var/cache/apt/archives/. Μπορείτε να ελευθερώσετε λίγο χώρο στον δίσκο τρέχοντας την εντολή:

# apt clean 



[22] Αυτά περιλαμβάνουν τα βασικά βοηθήματα του GNU και εντολές όπως οι sed, grep, tar και gzip.