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ú : 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.
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
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.
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 wget và ar, 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 wget và ar, 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
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
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
Ở đ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.
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.
# editor /etc/default/rcS # 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 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.
Để 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.
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.
Để 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ó).
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