3.2. Làm thể nào để di cư
In order to guarantee continuity of the services, each computer migration must be planned and executed according to the plan. This principle applies regardless of which operating system is used.
3.2.1. Dò tìm và Định danh cách dịch vụ
Nghe thì nó có vẻ đơn giản, sau đây là các bước cần thiết. Một quản trị viên thực thụ cần biết chính xác vai trò chính của từng server, nhưng các vai trò có thể thay đổi và đôi khi người dùng kinh nghiệm có thể đã cài đặt các dịch vụ không chính thống. Việc biết được sự tồn tại của chúng ít ra giúp cho bạn quyết định làm gì với nó hơn là xóa một cách tùy tiện.
Vì mục đích này, việc thông báo các người dùng của bạn về dự án trước khi di cư máy chủ rất sáng suốt. Để họ tham gia vào dự án, việc cài đặt các phần mềm tự do phổ biến trên các máy tính để bàn của họ trước khi di cư có thể rất hữu ích, những phần mềm mà họ có thể gặp lần nữa sau khi di cư sang Debian; LibreOffice và bộ phần mềm Mozilla là những ví dụ tốt nhất ở đây.
3.2.1.1. Mạng và Tiến trình
Chương trình nmap
(với gói cùng tên) sẽ nhanh chóng định danh dịch vụ mạng được duy trì bởi một máy tính đã kết nối mạng mà không cần đăng nhập vào nó. Đơn giản chỉ là gọi lệnh sau đây trên một máy tính khác cùng mạng đã kết nối:
$
nmap mirwiz
Starting Nmap 7.80 ( https://nmap.org ) at 2021-04-29 14:41 CEST
Nmap scan report for mirwiz (192.168.1.104)
Host is up (0.00062s latency).
Not shown: 992 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
5666/tcp open nrpe
9999/tcp open abyss
Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
If the server is a Unix machine offering shell accounts to users, it is interesting to determine if processes are executed in the background in the absence of their owner. The command
ps auxw
displays a list of all processes with their user identity. By checking this information against the output of the
who
or
w
commands, which give a list of logged in users, it is possible to identify rogue or undeclared servers or programs running in the background. Looking at
crontabs
(tables listing automatic actions scheduled by users) will often provide interesting information on functions fulfilled by the server (a complete explanation of
cron
is available in
Phần 9.7, “Scheduling Tasks with cron
and atd
”).
Trong bất cứ trường hợp nào, nó cần thiết để sao lưu các servers của bạn: điều này cho phép khôi phục thông tin theo hoàn cảnh cụ thể, khi người dùng báo cáo các vấn đề trong quá trình di cư.
3.2.2. Quá trình sao lưu cấu hình
Nó là cách khôn ngoan để lưu giữ các cấu hình của bất kỳ dịch vụ xác định nào phục vụ cho việc cài đặt tương tự trên server cập nhật. Tối thiểu là việc tạo ra các bản sao của các tệp tin cấu hình.
Với các máy tính Unix, các tệp tin cấu hình thường được tìm thấy trong /etc/
, nhưng chúng có thể được lưu trong một thư mục con của /usr/local/
. Đây là trường hợp khi một chương trình đã cài đặt từ mã nguồn, thay vì một gói. Trong một số trường hợp, người ta cũng có thể tìm thấy chúng trong /opt/
.
Với các service quản lý dữ liệu (như databases chẳng hạn), thường đưọc khuyến cáo export dữ liệu sang một định dạng chuẩn sao cho dễ dàng được import bởi các chương trình mới. Chẳng hạn một định dạng hay dùng dạng văn bản hay tài liệu; nó có thể chấp nhận được, ví dụ như: một tập tin SQL hay một tập tin LDIF dành cho LDAP server.
Rõ ràng là từng phần mềm máy chủ là khác nhau, và không thể để mô tả toàn bộ các trường hợp một cách chi tiết. Để xác định khả năng export của các thành phần (hay nó cũng có khả năng tái import) cần so sánh tài liệu đã có với phần mềm mới và những điều này sẽ yêu cầu thực hiện bằng tay. Trong cuốn sách này sẽ làm sáng tỏ các cấu hình của các chương trình chính trên Linux server.
3.2.3. Tiếp quản các máy chủ Debian hiện có
Để đạt hiểu quả trong việc tiếp quản các thành phần đang nắm giữ của nó, cần một ai đó có thể phân tích một máy chủ thực sự đang chạy với Debian.
Tệp tin đầu tiên nên xem là /etc/debian_version
, nó thường chứa phiên bản của hệ thống Debian hiện tại (nó là một phần của gói base-files). Nếu nó chỉ rõ codename/sid
, điều đó có nghĩa là hệ thống đã được cập nhật với các gói tin kéo về từ một bản phân phối đang phát triển (hay một bản đang thử nghiệm hoặc không chính thức).
chương trình apt-show-versions
(với gói Debian cùng tên) kiểm tra danh sách các gói tin đã cài đặt và xác định phiên bản hiện có. aptitude
cũng có thể được sử dụng cho các nhiệm vụ trên, kể cả trong một số các hệ thống kiểu cũ.
Lướt qua tệp tin /etc/apt/sources.list
(và thư mục /etc/apt/sources.list.d/
) có thể thấy các gói tin Debian đã cài đặt đến từ đâu.
The sources.list
file is often a good indicator: the majority of administrators keep, at least in comments, the list of APT sources that were previously used. But you should not forget that sources used in the past might have been deleted, and that some random packages grabbed on the Internet might have been manually installed (with the help of the dpkg
command). In this case, the machine is misleading in its appearance of being a “standard” Debian system. This is why you should pay attention to any indication that will give away the presence of external packages (appearance of deb
files in unusual directories, package version numbers with a special suffix indicating that it originated from outside the Debian project, such as ubuntu
or lmde
, etc.).
Tương tự, việc phân tích nội dung thư mục /usr/local/
cũng đáng quan tâm, cái mà mục đích của nó là chứa các chương trình đã biên dịch và cài đặt bình thường. Danh sách các phần mềm đã cài đặt theo kiểu này có thể để đào tạo, từ đây đặt ra các câu hỏi về lý do tại sao không sử dụng các gói của Debian nếu như nó tồn tại.
Một khi là tất cả các thông tin cần thiết trên server hiện tại đã được biết, chúng ta có thể tắt máy và bắt đầu quá trình cài đặt Debian trên nó.
Để lựa chọn được phiên bản thích hợp, chúng ta phải biết được kiến trúc của phần cứng. Với các máy tính hiện nay, chúng hầu như là amd64 (các máy tính cũ thường là i386). Trong trường hợp khác, chúng ta có thể thu hẹp các khả năng tùy theo các hệ thống đã sử dụng trước đó.
Bảng 3.1 không có ý là phải chi tiết, nhưng có thể sẽ hữu ích. Lưu ý rằng nó cũng liệt kê các kiến trúc không được hỗ trợ nữa ở bản ổn định hiện tại. Trong bất kỳ trường hợp nào, các tài liệu gốc dành cho máy tính là nguồn đáng tin cậy nhất để tìm thông tin này.
Bảng 3.1. Hệ điều hành và kiến trúc tương xứng
Hệ điều hành | Kiến trúc |
---|
DEC Unix (OSF/1) | alpha, mipsel |
HP Unix | ia64, hppa |
IBM AIX | powerpc |
Irix | mips |
OS X | amd64, powerpc, i386 |
z/OS, MVS | s390x, s390 |
Solaris, SunOS | sparc, i386, m68k |
Ultrix | mips |
VMS | alpha |
Windows 95/98/ME | i386 |
Windows NT/2000 | i386, alpha, ia64, mipsel |
Windows XP / Windows Server 2008 | i386, amd64, ia64 |
Windows RT | armel, armhf, arm64 |
Windows Vista / Windows 7-8-10 | i386, amd64 |
3.2.5. Quá trình cài đặt và cấu hình các dịch vụ đã lựa chọn
Khi Debian đã được cài đặt, chúng ta cần cài đặt và thiết lập từng dịch vụ mà máy tính cần phải có. Sự thiết lập mới phải tính đến thiết lập trước đó để đảm bảo quá trình chuyển đổi được trơn tru. Mọi thông tin đã thu thập được trong hai bước đầu tiên sẽ trở nên hữu ích để hoàn thành phần này thành công.
Chú ý, trước khi chuyển hoàn toàn sang phần thực hành, bạn nên đọc các phần còn lại của cuốn sách này. Sau đó bạn sẽ có một hiểu biết rộng hơn về làm sao để cấu hình được các dịch vụ như mong đợi.