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. Ξεκινώντας

With your current *nix partitioning tools, repartition the hard drive as needed, creating at least one filesystem plus swap. You need around 701MB of space available for a console only install, or about 2486MB if you plan to install X (more if you intend to install desktop environments like GNOME or 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 [25]. Εγκαταστήστε τα 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.

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

Substitute one of the following for ARCH in the debootstrap command: amd64, arm64, armel, armhf, i386, mips, mips64el, mipsel, powerpc, ppc64el, or s390x.

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

If the target architecture is different than the host, you should add the --foreign option.

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

Now you've got a real Debian system, though rather lean, on disk. chroot into it:

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

If the target architecture is different from the host, you will need to first copy qemu-user-static to the new host:

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

After chrooting you may need to set the terminal definition to be compatible with the Debian base system, for example:

# export TERM=xterm-color

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

If the target architecture is different from the host, you need to finish the 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/fd0         /media/floppy auto    noauto,rw,sync,user,exec 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

Debootstrap will have created a very basic /etc/apt/sources.list that will allow installing additional packages. However, you may want to add some additional sources, for example for source packages and security updates:

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

deb http://security.debian.org/ buster/updates main
deb-src http://security.debian.org/ buster/updates main

Make sure to run apt update after you have made changes to the sources list.

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

To configure your locale settings to use a language other than English, install the locales support package and configure it. Currently the use of UTF-8 locales is recommended.

# apt install locales
# dpkg-reconfigure locales

To configure your keyboard (if needed):

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

To make your Debian GNU/Linux system bootable, set up your boot loader to load the installed kernel with your new root partition. Note that debootstrap does not install a boot loader, but you can use apt inside your Debian chroot to do so.

Δείτε το info grub ήman lilo.conf για οδηγίες σχετικά με τη ρύθμιση του φορτωτή εκκίνησης. Αν διατηρήσετε το σύστημα που χρησιμοποιήσατε για την εγκατάσταση του Debian, προσθέστε απλά την πληροφορία για το εγκατεστημένο Debian στο υπάρχον αρχείο του grubmenu.lst ή στο lilo.conf. Για το lilo.conf, μπορείτε επίσης να το αντιγράάψετε στο νέο σύστημα και να το διορθώσετε εκεί. Μετά από τις διορθώσεις, καλέστε την εντολή lilo (θυμηθείτε ότι θα χρησιμοποιήσει το αρχείο lilo.conf σε σχέση με το σύστημα μέσα από το οποίο την εκτελείτε).

Installing and setting up grub2 is as easy as:

# apt install grub-pc
# grub-install /dev/sda
# update-grub

The second command will install grub2 (in this case in the MBR of sda). The last command will create a sane and working /boot/grub/grub.cfg.

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

Εδώ είναι ένα /etc/lilo.conf σαν παράδειγμα:

boot=/dev/sda6
root=/dev/sda6
install=menu
delay=20
lba32
image=/vmlinuz
initrd=/initrd.img
label=Debian

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

In case you can login to the system via console, you can skip this section. If the system should be accessible via the network later on, you need to install SSH and set up access.

# apt install ssh

Root login with password is disabled by default, so setting up access can be done by setting a password and re-enable root login with password:

# passwd
# editor /etc/ssh/sshd_config

This is the option to be enabled:

PermitRootLogin yes

Access can also be set up by adding an ssh key to the root account:

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

Lastly, access can be set up by adding a non-root user and setting a password:

# adduser joe
# passwd joe

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

As mentioned earlier, the installed system will be very basic. If you would like to make the system a bit more mature, there is an easy method to install all packages with «standard» priority:

# tasksel install standard

Of course, you can also just use apt to install packages individually.

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

# apt clean 



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