D.2. Cài đặt Debian GNU/kFreeBSD từ hệ thống UNIX/Linux

Phần này diễn tả phương pháp cài đặt Debian GNU/kFreeBSD 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/kFreeBSD 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/kFreeBSD 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à kFreeBSD 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.

D.2.1. Bắt đầu

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 432 MB sức chứa còn rảnh khi cài đặt chỉ với bàn giao tiếp, hay khoảng 1521 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/hda6 (phân vùng gốc mẫu):

# mke2fs -j /dev/hda6

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/hda5
# sync
# swapon /dev/hda5

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/hda6 /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. /usr) được gắn kết vào phân vùng riêng, bạn cần phải tự tạo và gắn kết những thư mục này trước khi tiếp tục tới giao đoạn kế tiếp.

D.2.2. Cài đặt debootstrap

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 wgetar, 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[19]. Chưa có thì cài đặt hai gói wgetar, 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

D.2.3. Chạy debootstrap

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/kFreeBSD 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/

Substitute one of the following for ARCH in the debootstrap command: amd64, armel, armhf, i386, ia64, mips, mipsel, powerpc, s390, s390x, or sparc.

# /usr/sbin/debootstrap --arch KIẾN_TRÚC jessie \
     /mnt/debinst http://ftp.us.debian.org/debian

D.2.4. Cấu hình hệ thống cơ bản

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

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.

D.2.4.1. Tạo tập tin thiết bị

Ở đ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.

D.2.4.2. Gắn kết phân vùng

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

D.2.4.3. Đặt múi giờ

Setting the third line of the file /etc/adjtime to UTC or LOCAL determines whether the system will interpret the hardware clock as being set to UTC respective local time. The following command allows you to set that.

# editor /etc/adjtime

Here is a sample:

0.0 0 0.0
0
UTC

The following command allows you to choose your timezone.

# dpkg-reconfigure tzdata

D.2.4.4. Cấu hình khả năng chạy mạng

Để 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/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.

D.2.4.5. Cấu hình Apt

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.

D.2.4.6. Cấu hình miền địa phương và bàn phím

Để 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.

D.2.5. Cài đặt hạt nhân

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) kFreeBSD 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 kfreebsd-image

Sau đó cài đặt gói hạt nhân đã chọn, dùng tên gói của nó.

# aptitude install kfreebsd-image-10-kiến_trúc-v.v.

D.2.6. Thiết lập bộ nạp khởi động

Để làm cho hệ thống Debian GNU/kFreeBSD 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 để 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.

Việc cài đặt và thiết lập grub2 dễ như sau:

# aptitude install grub-pc
# grub-install /dev/hda
# update-grub

Lệnh thứ hai sẽ cài đặt grub2 (trong trường hợp này, vào MBR của hda). 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/hda đã đượ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.

D.2.7. Remote access: Installing SSH and setting up access

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

D.2.8. Đòn kết liễu

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



[19] Những công cụ này gồm có các tiện ích lõi của GNU và lệnh như sed, grep, targzip.