Η ενότητα αυτή εξηγεί πώς να εγκαταστήσετε το 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 γενικά από την πραγματοποίηση μιας συνηθισμένης εγκατάστασης. Δεν θα πρέπει να περιμένετε ότι αυτή η διαδικασία θα οδηγήσει σε ένα σύστημα που θα είναι ταυτόσημο με αυτό που θα προκύψει από μια συνηθισμένη εγκατάσταση. Θα πρέπει ακόμα να κρατήσετε στο μυαλό σας ότι η παρούσα διαδικασία σας δίνει τα βασικά μόνο βήματα διαμόρφωσης ενός συστήματος. Πιθανόν να χρειάζονται επιπρόσθετα βήματα εγκατάστασης και/ή ρύθμισης. |
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) προσαρτημένα σε διαφορετικές κατατμήσεις, θα πρέπει να δημιουργήσετε και να προσαρτήσετε αυτούς τους καταλόγους χειροκίνητα πριν προχωρήσετε στο επόμενο στάδιο. |
Το εργαλείο που χρησιμοποιεί ο εγκαταστάτης του 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
Το 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.
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
Σ' αυτό το σημείο, ο κατάλογος /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 μερικών πακέτων προσπαθούν να δημιουργήσουν αρχεία συσκευών, οπότε η επιλογή αυτή θα πρέπει να χρησιμοποιείται μόνο με προσοχή
Πρέπει να δημιουργήσετε το αρχείο /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
Ο ορισμός της τρίτης γραμμής του αρχείου /etc/adjtime
σε«UTC» ή «LOCAL» καθορίζει αν το σύστημα θα ερμηνεύει την ώρα στο ρολόι του υπολογιστή ως ρυθμισμένης στην ζώνη UTC ή στην τοπική χρονική ζώνη αντίστοιχα. Οι ακόλουθες εντολές σας επιτρέπουν να κάνετε αυτή τη ρύθμιση.
# editor /etc/adjtime
Αυτό είναι ένα δείγμα:
0.0 0 0.0 0 UTC
Η ακόλουθη εντολή σας επιτρέπει να διαλέξετε τη χρονική ζώνη.
# dpkg-reconfigure tzdata
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.
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.
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, αλλά θα ρυθμιστεί με την επόμενη επανεκκίνηση.
Αν θέλετε να εκκινήσετε αυτό το σύστημα το πιθανότερο χρειάζεστε έναν πυρήνα Linux και έναν φορτωτή εκκίνησης. Προσδιορίστε διαθέσιμα πακέτα με πυρήνες με την εντολή:
# apt search linux-image
Στη συνέχεια εγκαταστήστε το πακέτο για τον πυρήνα της επιλογής σας χρησιμοποιώντας το κατάλληλο όνομα.
# apt install linux-image-arch-etc
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
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
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