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

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, Mandrake, 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 bạn cấu hình hệ thống Debian mới một cách thích hợp, bạn có khả năng nâng cấp các dữ liệu người dùng tồn tại (nếu có) lên nó, rồi 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à 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ú

Ghi chú : vì đây phần lớn là một thủ tục làm bằng tay, bạn nên nhớ rằng bạn sẽ cần phải tự làm nhiều cấu hình cơ bản, mà cần thiết bạn quen nhiều với Debian và Linux chung 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ể cần thiết thêm bước cài đặt hay/và cấu hình.

D.3.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 350 MB sức chứa còn rảnh khi cài đặt chỉ với bàn giao tiếp, hay khoảng 1 GB 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ố hiệu phân vùng của phân vùng trao đổi Debian đã dự định):

# mkswap /dev/hda5
# sync; sync; sync
# swapon /dev/hda5

Hãy lắp một phân vùng như là /mnt/debinst (điểm cài đặt, để là 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 diễn tả lại 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.3.2. Cài đặt debootstrap

Tiện ích được dùng bởi trình cài đặt Debian, cũng được chấp nhận như là phương pháp chính thức để cài đặt hệ thống cơ bản Debian, là debootstrap. Nó dùng chương trình wgetar, nhưng về mặt khác thì phụ thuộc chỉ vào /bin/sh và công cụ Unix/Linux cơ bản[31]. Hãy cài đặt hai trình wgetar, nếu chúng chưa nằm trên hệ thống của bạn, rồi tải về và cài đặt debootstrap.

Hoặc bạn có thể tự cài đặt nó bằng thủ tục theo đây. Hã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 pool, sao chép gói đó vào thư mục work, rồi giải thích 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.3.3. Chạy debootstrap

Lệnh debootstrap 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 khi bạn chạy nó. Có thể thay thế 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 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 squeeze được gắn kết vào /cdrom, bạn có khả năng thay thế địa chỉ Mạng 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: alpha, amd64, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc.

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

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

Lúc bây giờ bạn có hệ thống Debian thật, dù hơi gầy, trên đĩa. Hãy chroot vào nó :

# LANG=C chroot /mnt/debinst /bin/bash

Sau khi chroot, bạn có thể cần phải đặ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:

# export TERM=xterm-color

D.3.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 là:

  • tạo một tập hợp tập tin thiết bị tĩnh mặc định dùng

    # 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.3.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.3.4.3. Đặt múi giờ

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.

# editor /etc/default/rcS
# dpkg-reconfigure tzdata

D.3.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.3.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 squeeze main

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

Đảm bảo bạn chạy aptitude update sau khi thay đổi danh sách các nguồn.

D.3.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-data
# dpkg-reconfigure console-data

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.3.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) 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

Nếu bạn định sử dụng một hạt nhân đóng gói sẵn, đề nghị bạn tạo tập tin cấu hình /etc/kernel-img.conf trước đó. Đây là một tập tin thí dụ :

# Các việc ghi đè khả năng quản lý ảnh hạt nhân
# Xem kernel-img.conf(5) để tìm chi tiết
do_symlinks = yes
relative_links = yes
do_bootloader = yes
do_bootfloppy = no
do_initrd = yes
link_in_boot = no# [do	làm
# symlinks	các liên kết tượng trưng
# relative links	các liên kết tương đối
# bootloader	bộ nạp khởi động
# bootfloppy	đĩa mềm khởi động
# link in boot	liên kết vào khởi động]

Để tìm thông tin chi tiết về tập tin này và các tùy chọn khác nhau, xem trang hướng dẫn của nó mà sẵn sàng sau khi cài đặt gói kernel-package. Khuyên bạn kiểm tra xem những giá trị trong nó cũng thích hợp với hệ thống của bạn.

Sau đó, hãy cài đặt gói hạt nhân đã muốn, dùng tên gói cua nó.

# aptitude install linux-image-2.6.32-kiến_trúc-v.v.

[install cài đặt linux-image ảnh linux] Nếu bạn chưa tạo tập tin cấu hình /etc/kernel-img.conf trước khi cài đặt hạt nhân đã đóng gói sẵn, bạn có thể được hỏi một số câu về nó trong tiến trình cài đặt.

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

Để 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ộ tải khởi động để tải 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ó khả năng sử dụng lệnh aptitude bên trong chroot Debian để làm như thế.

Xem trang thông tin info grub hay trang hướng dẫn man lilo.conf để tìm hướng dẫn về phương pháp thiết lập bộ nạp khởi động. Nếu bạn muốn giữ lại hệ thống đã dùng để cài đặt Debian, đơn giản hãy thêm một mục nhập cho bản cài đặt Debian vào tập tin menu.lst grub đã có, hoặc vào tập tin cấu hình lilo.conf. Đối với tập tin lilo.conf, bạn cũng có khả năng sao chép nó vào hệ thống mới để chỉnh sửa nó ở đó. Sau khi chỉnh sửa xong, hãy gọi lilo (ghi nhớ rằng nó sẽ dùng tập tin cấu hình lilo.conf tương đối so với hệ thống từ đó bạn gọi nó).

Việc cài đặt và thiết lập grub là dễ dàng:

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

Lệnh thứ hai sẽ cài đặt grub (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/menu.lst 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ó một số phương pháp xen kẽ để cài đặt grub, nhưng chúng nằm bên ngoại phạm vi của phụ lục này.

Ở đây có mẫu /etc/lilo.conf cơ bản:

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

Phụ thuộc vào bộ nạp khởi động đã chọn, bạn lúc bây giờ có khả năng tạo một số thay đổi thêm trong tập tin cấu hình /etc/kernel-img.conf.

Cho bộ nạp khởi động grub, hãy đặt tùy chọn do_bootloader thành no (không). Để tự động cập nhật tập tin /boot/grub/menu.lst khi cài đặt hay gỡ bỏ hạt nhân Debian nào, hãy thêm những dòng này:

postinst_hook = update-grub
postrm_hook   = update-grub

[postinst viết tắt "post-installation", sau khi cài đặt postrm viết tắt "post-removal", sau khi gỡ bỏ hook móc (vào) update cập nhật] Còn cho bộ nạp khởi động lilo, giá trị của do_bootloader nên là yes (có).

D.3.7. Đò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



[31] 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.