Phần này diễn tả phương pháp cài đặt Debian GNU/Linux từ một hệ thống UNIX hay Linux đã có, không cần dùng trình cài đặt dựa vào trình đơn như được diễn tả trong phần sổ tay còn lại. Tài liệu “cài đặt chéo” Thế Nào này đã được yêu cầu bởi người dùng chuyển đổi sang Debian GNU/Linux từ hệ thống Red Hat, Mandriva, và SUSE. Trong phần này giả sử là bạn quen với cách nhập lệnh *nix và cách duyệt qua hệ thống tập tin. Trong phần này, dấu đồng $
đại diện lệnh cần nhập vào hệ thống hiện thời của người dùng, còn dấu băm #
đại diện lệnh được nhập vào chroot của Debian.
Một khi cấu hình hệ thống Debian mới một cách thích hợp, bạn có thể nâng cấp lên nó dữ liệu người dùng tồn tại nào, sau đó tiếp tục làm việc như bình thường. Vì vậy, tiến trình cài đặt Debian GNU/Linux này “không có thời gian chết”. Nó cũng là một phương pháp thông minh để quản lý phần cứng thường không hợp tác với vật chứa khác nhau kiểu khởi động hay cài đặt.
![]() |
Ghi chú |
---|---|
Vì đây phần lớn là một thủ tục làm bằng tay, ghi nhớ rằng bạn sẽ cần phải tự làm nhiều cấu hình cơ bản, mà yêu cầu bạn quen nhiều với Debian và Linux hơn khi cài đặt bình thường. Thủ tục này sẽ không làm kết quả là hệ thống trùng với kết quả của tiến trình cài đặt bình thường. Thủ tục này chỉ diễn tả những bước cơ bản khi thiết lập hệ thống. Có thể là cần thiết thêm bước cài đặt hay/và cấu hình. |
Bằng các công cụ phân vùng *nix hiện thời, hãy phân vùng lại đĩa cứng như cần thiết, cũng tạo ít nhất một hệ thống tập tin cộng với vùng trao đổi (swap). Bạn cần có khoảng 506 MB sức chứa còn rảnh khi cài đặt chỉ với bàn giao tiếp, hay khoảng 1536 MB nếu bạn định cài đặt hệ thống cửa sổ X (còn nhiều hơn nếu bạn định cài đặt môi trường làm việc như GNOME hay KDE).
Sau đó, hãy tạo hệ thống tập tin trên những phân vùng. Chẳng hạn, để tạo một hệ thống tập tin kiểu ext3 trên phân vùng /dev/sda6
(phân vùng gốc mẫu):
# mke2fs -j /dev/sda6
Còn để tạo hệ thống tập tin kiểu ext2, chỉ cần bỏ đoạn -j
đi.
Sơ khởi và kích hoạt vùng trao đổi (thay thế số thứ tự phân vùng của phân vùng trao đổi Debian dự định):
# mkswap /dev/sda5
# sync # swapon /dev/sda5
Lắp một phân vùng như là /mnt/debinst
(điểm cài đặt, để làm hệ thống tập tin gốc (/
) trên hệ thống mới). Tên của điểm lắp là tùy ý chặt chẽ: nó được tham chiếu về sau bên dưới.
# mkdir /mnt/debinst
# mount /dev/sda6
/mnt/debinst
![]() |
Ghi chú |
---|---|
Nếu bạn muốn đặt phần nào của hệ thống tập tin (v.d. |
Tiện ích được dùng bởi trình cài đặt Debian, cũng được thấy là phương pháp chính thức để cài đặt hệ thống cơ bản Debian, là debootstrap. Nó dùng hai chương trình wget và ar, nhưng về mặt khác thì phụ thuộc chỉ vào /bin/sh
và các công cụ UNIX/Linux cơ bản[28]. Chưa có thì cài đặt hai gói wget và ar, sau đó tải về và cài đặt gói debootstrap.
Hoặc bạn có thể tự cài đặt nó bằng thủ tục theo đây. Tạo một thư mục work
vào đó cần giải nén .deb:
# mkdir work # cd work
Tập tin nhị phân debootstrap nằm trong kho Debian (hãy chắc là bạn chọn tập tin thích hợp với kiến trúc của mình). Tải tập tin dạng .deb debootstrap xuống vùng gộp, sao chép gói đó vào thư mục work
, sau đó giải nén các tập tin nhị phân ra nó. Bạn cần phải có quyền người chủ để cài đặt các tập tin nhị phân này.
# ar -x debootstrap_0.X.X_all.deb # cd / # zcat /đường_dẫn_đầy_đủ_đến_work/work/data.tar.gz | tar xv
Chạy chương trình debootstrap thì có thể tải các tập tin cần thiết một cách trực tiếp xuống kho lưu. Có thể thay thế chuỗi http.us.debian.org/debian
(trong mẫu bên dưới) bằng bất cứ máy nhân bản kho lưu Debian nào, tốt hơn là một máy nhân bản ở gần chỗ bạn trên mạng. Các máy nhân bản được liệt kê ở địa chỉ http://www.debian.org/mirror/list.
Nếu bạn có đĩa CD Debian GNU/Linux jessie được gắn kết vào /cdrom
, bạn có khả năng thay thế địa chỉ URL kiểu HTTP bằng địa chỉ kiểu tập tin: file:/cdrom/debian/
Trong lệnh debootstrap, thay thế KIẾN_TRÚC
bằng một của những chuỗi theo đây: amd64
, arm64
,armel
, armhf
, i386
, mips
, mipsel
, powerpc
, ppc64el
, s390x
.
# /usr/sbin/debootstrap --arch KIẾN_TRÚC jessie \ /mnt/debinst http://ftp.us.debian.org/debian
Lúc bây giờ bạn có một hệ thống Debian thật, dù hơi gầy, trên đĩa. Hãy chroot vào nó :
# LANG=C.UTF-8 chroot /mnt/debinst /bin/bash
Sau khi chroot, bạn có thể cần phải lập một lời định nghĩa thiết bị cuối tương thích với hệ thống cơ bản Debian, chẳng hạn:
Ở điểm thời này, thư mục /dev/
chỉ chứa các tập tin thiết bị rất cơ bản. Đối với những bước tiếp theo của tiến trình cài đặt, có thể cần thiết thêm tập tin thiết bị. Có một số phương pháp khác nhau : phương pháp thích hợp với trường hợp của bạn thì phụ thuộc vào hệ thống hỗ trợ tiến trình cài đặt, vào kiểu hát nhân (kiểu mô-đun hay không) và vào bạn định dùng tập tin thiết bị kiểu động (v.d. dùng udev
) hay tĩnh.
Vài tùy chọn sẵn sàng:
cài đặt gói makedev, và tạo một tập hợp tập tin thiết bị tĩnh mặc định bằng cách dùng (sau khi đã đổi root)
# apt-get install makedev # mount none /proc -t proc # cd /dev # MAKEDEV generic
tạo bằng tay chỉ một số tập tin thiết bị dứt khoát dùng MAKEDEV
bind mount /dev từ hệ thống hỗ trợ ở trên /dev trong hệ thống đích; ghi chú rằng những văn lệnh sau khi cài đặt của một số gói có thể thử tạo tập tin thiết bị, vì vậy bạn nên dùng tùy chọn này chỉ một cách cẩn thận.
Bạn cần phải tạo tập tin /etc/fstab
.
# editor /etc/fstab
Đây là mẫu bạn có thể sửa đổi để thích hợp với hệ thống:
# /etc/fstab: thông tin tĩnh về hệ thống tập tin. # # hệ thống tệp điểm lắp kiểu tùy chọn lần đổ /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
Hãy dùng lệnh mount -a
để lắp mọi hệ thống tập tin bạn đã xác định trong tập tin /etc/fstab
, hoặc để lắp mỗi hệ thống tập tin riêng, dùng:
# mount /đường_dẫn # v.d.: mount /usr
Các hệ thống Debian hiện thời có những điểm lắp cho vật chứa rời dưới /media
, còn giữ các liên kết tương trưng để tương thích trong /
. Hãy tạo chúng như yêu cầu, chẳng hạn:
# cd /media # mkdir cdrom0 # ln -s cdrom0 cdrom # cd / # ln -s media/cdrom
Bạn có khả năng lắp hệ thống tập tin proc nhiều lần và vào nhiều vị trí, dù /proc
thường dùng. Nếu bạn chưa dùng lệnh mount -a
, kiểm tra xem bạn đã lắp proc trước khi tiếp tục.
# mount -t proc proc /proc
Sau đó, lệnh liệt kê ls /proc
nên hiển thị thư mục khác rỗng. Nếu nó bị lỗi, có lẽ bạn có khả năng gắn kết proc
từ bên ngoài chroot đó.
# mount -t proc proc /mnt/debinst/proc
Tập tin /etc/default/rcS
chứa một tùy chọn xác định nếu hệ thống sẽ giải thích đồng hồ phần cứng như là giờ thế giới (UTC) hay giờ địa phương. Lệnh sau cho bạn có khả năng đặt nó và chọn múi giờ riêng.
# dpkg-reconfigure tzdata
Để cấu hình chức năng chạy mạng, hãy chỉnh sửa các tập tin /etc/network/interfaces
, /etc/resolv.conf
, /etc/hostname
và /etc/hosts
.
# editor /etc/network/interfaces
Ở đây có một số mẫu thí dụ đơn giản từ /usr/share/doc/ifupdown/examples
:
###################################################################### # /etc/network/interfaces -- tập tin cấu hình cho ifup(8), ifdown(8) # Xem trang hướng dẫn interfaces(5) để tìm thông tin về những tùy chọn nào sẵn sàng. ###################################################################### # Lúc nào chúng ta muốn có giao diện mạch nội bộ. # auto lo iface lo inet loopback # Để sử dụng dịch vụ DHCP: # # auto eth0 # iface eth0 inet dhcp # Một thiết lập IP tĩnh mẫu thí dụ: (tùy chọn là quảng bá [broadcast] # và cổng ra [gateway]) # # 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
Hãy nhập các máy phục vụ tên và chỉ thị tìm kiếm vào tập tin cấu hình /etc/resolv.conf
:
# editor /etc/resolv.conf
Một tập tin /etc/resolv.conf
mẫu đơn giản:
search hqdom.local\000 nameserver 10.1.1.36 nameserver 192.168.9.100
Nhập tên máy của hệ thống (2 đến 63 ký tự):
# echo tên_máy_Debian > /etc/hostname
Tập tin /etc/hosts
cơ bản cũng hỗ trợ IPv6:
127.0.0.1 localhost 127.0.1.1 tên_máy_Debian # Các dòng theo đây có ích cho máy có khả năng IPv6 ::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
Có nhiều thẻ mạng thì bạn nên sắp xếp nhưng tên mô-đun trình điều khiển theo thứ tự đã muốn trong tập tin /etc/modules
. Sau đó thì trong khi khởi động, mỗi thẻ sẽ được lắp với tên giao diện (eth0, eth1, v.v.) mong đợi.
Lúc đó, Debootstrap đã tạo một tập tin liệt kê các nguồn /etc/apt/sources.list
rất cơ bản sẽ cho bạn có khả năng cài đặt thêm gói. Tuy nhiên, bạn có thể muốn thêm một số nguồn nữa, chẳng hạn cho gói nguồn và bản cập nhật bảo mật:
deb-src http://ftp.us.debian.org/debian jessie main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
Đảm bảo bạn chạy aptitude update
sau khi thay đổi danh sách các nguồn.
Để cấu hình thiết lập miền địa phương để sử dụng ngôn ngữ khác tiếng Anh, hãy cài đặt gói hỗ trợ locales
và cấu hình nó. Khuyên bạn sử dụng miền địa phương UTF8.
# aptitude install locales # dpkg-reconfigure locales
Để cấu hình bàn phím (nếu cần):
# aptitude install console-setup # dpkg-reconfigure keyboard-configuration
Ghi chú rằng bàn phím không thể được đặt trong khi nằm trong chroot, nhưng sẽ được cấu hình cho lần khởi động lại kế tiếp.
Nếu bạn dự định khởi động hệ thống này, bạn rất có thể muốn có một hạt nhân (kernel) Linux và một bộ nạp khởi động (boot loader). Có thể nhận diện các hạt nhân đóng gói sẵn bằng lệnh:
# apt-cache search linux-image
Sau đó cài đặt gói hạt nhân đã chọn, dùng tên gói của nó.
# aptitude install linux-image-3.16-kiến_trúc-v.v.
Để làm cho hệ thống Debian GNU/Linux có khả năng khởi động, bạn hãy thiết lập bộ nạp khởi động để nạp hạt nhân đã cài đặt cùng với phân vùng gốc mới. Ghi chú rằng debootstrap không cài đặt bộ nạp khởi động, dù bạn có thể sử dụng chương trình aptitude
bên trong chroot Debian để làm như thế.
Chạy câu lệnh info grub
hay man lilo.conf
để tìm hướng dẫn về cách thiết lập bộ nạp khởi động. Nếu bạn muốn giữ lại hệ thống mà bạn dùng để cài đặt Debian, chỉ cần thêm một mục nhập cho bản cài đặt Debian vào tập tin grub.cfg
hiện có của grub2 hay lilo.conf
. Đối với lilo.conf
, bạn cũng có thể sao chép nó vào hệ thống mới và chỉnh sửa nó ở đó. Sau khi chỉnh sửa thì chạy lệnh lilo (ghi nhớ rằng nó dùng tập tin cấu hình lilo.conf
tương đối với hệ thống mà từ đó bạn gọi lệnh đó).
Việc cài đặt và thiết lập grub2
dễ như sau:
# aptitude install grub-pc
# grub-install /dev/sda
# update-grub
Lệnh thứ hai sẽ cài đặt grub2 (trong trường hợp này, vào MBR của sda
). Lệnh cuối cùng sẽ tạo một tập tin /boot/grub/grub.cfg
hợp lý và hoạt động được.
Ghi chú rằng ở đây giả sử tập tin thiết bị /dev/sda
đã được tạo. Có những phương pháp khác để cài đặt grub2, nhưng chúng không nằm trong phạm vi của phụ lục này.
Ở đây có mẫu /etc/lilo.conf
cơ bản:
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.
# aptitude 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
Như nói trước, hệ thống đã cài đặt là rất cơ bản. Nếu bạn muốn làm cho hệ thống ít rộng rãi hơn, dễ cài đặt các gói có ưu tiên “chuẩn” priority:
# tasksel install standard
Tất nhiên, bạn cũng có khả năng sử dụng aptitude để cài đặt mỗi gói riêng.
Sau khi cài đặt xong, có rất nhiều gói đã tải về nằm trong thư mục kho lưu /var/cache/apt/archives/
. Vậy bạn có dịp giải phóng thêm chỗ trống trên đĩa bằng cách chạy lệnh « làm sạch »:
# aptitude clean