Trang chủ Kiến thức cơ bản

Start – Reboot – Shutdown trên Linux

Start – Reboot – Shutdown trên Linux

1. START

Khi bật máy tính, quá trình khởi động sẽ được thực hiện theo các bước dưới đây:

  1. BIOS thực hiện kiểm tra tính toàn vẹn trên bộ nhớ và tìm kiếm các chỉ dẫn trên MBR.
  2. MBR nạp trình quản lý khởi động LILO hoặc GRUB.
  3. LILO/GRUB sẽ nhận diện kernel hệ điều hành và nạp nhân hệ điều hành từ /boot.
  4. Nhân hệ điều hành chuyển quyền điều khiển cho chương trình /sbin/init.
  5. Dựa trên mức hoạt động tương ứng, /sbin/init thực hiện nạp các dịch vụ và gắn kết (mount) tất cả các phần chia của hệ thống (trong /etc/fstab)

Tiến trình init: Các bước khởi động của init

  1. Đầu tiên, init gọi thi hành /etc/rc.d/rc.sysinit để thiết lập đường dẫn, kiểm tra các hệ thống tập tin v.v…
  2. Kế tiếp, init sẽ thực thi /etc/inittab (mô tả các mức thi hành).
  3. Init gọi thi hành script /etc/rc.d/init.d/functions cho biết các khởi động hay ngừng một chương trình và cách xác định PID của một chương trình.
  4. Tiếp tục, init khởi động các tiến trình ngầm nằm trong các thư mục /etc/rc.d/rc0.d/, /etc/rc.d/rc1.d/…
  5. Gọi thi hành /etc/rc.d/rc.local: bổ sung thêm các lệnh cần thiết.
  6. Sau khi init đã xử lý tất cả các mức thi hành, script /etc/inittab phát sinh một tiến trình getty cho mỗi virtual console cho mỗi mức thi hành.

Nội dung tập tin /etc/inittab

id : runlevels : action : process

Trong đó:

id: nhận diện các dòng trong tập tin, tối đa 4 ký tự.

runlevels: các mức thi hành mà một tiến trình nào đó được phép thực hiện trong mức đó.

action: mô tả hành động sẽ được thực hiện.

process: xác định tiến trình được thi hành.

Khởi động/ngừng thi hành daemon

/etc/rc.d/init.d/deamon_name action

daemon_name: tên script quản lý dịch vụ hệ thống.

action: một trong 3 trạng thái: start, stop và restart

Quản lí khởi động dịch vụ

  1. Các script quản lý daemon dịch vụ hệ thống thực sự được đặt trong /etc/rc.d/init.d và có các liên kết (dạng symbolic link) vào các thư mục /etc/rc.d/rc[0-6].d tương ứng.
  2. Tiện ích /sbin/chkconfig là một công cụ dòng lệnh được sử dụng để giúp tạo hay xoá bỏ những liên kết này, giúp cho admin không cần phải thực hiện thủ công tạo các symbolic link trong các thư mục nằm trong /etc/rc.d/.
  3. Sau khi sử dụng chkconfig, các dịch vụ không thay đổi trạng thái ngay lập tức. Ta phải thực hiện ngừng hay khởi động từng dịch vụ riêng rẽ bằng lệnh:

/etc/rc.d/init.d/daemon_name start | stop | restart

Các run level:

#vi /etc/inittab

0 – halt (Do NOT set initdefault to this)

1 – Single user mode

2 – Multiuser, without NFS (The same as 3, if you do not have networking)

3 – Full multiuser mode (Command line)

4 – unused

5 – X11 (Graphics)

6 – reboot (Do NOT set initdefault to this)

Ảnh 1.

– Xem level đang hoạt động

#runlevel

#init 3        //vào giao diện dòng lệnh

#init 5         //vào giao diện đồ họa

2. Quản lý boot bằng GRUB

#ll /boot

#ll /boot/grup

– Cấu hình menu boot

#vi /boot/grup/grup.conf

Ảnh 2.

#init 6

– Khảo sát menu trong quá trình boot

#cd /boot

#ll

#cp initrd-2.6.18-53.el5.img initrd-2.6.30-53.el5.img    //copy thành 1 file mới và đổi tên

#cp vmlinuz-2.6.18-53.el5 vmlinuz-2.6.30-53.el5        //copy thành 1 file mới và đổi tên

#ll

#vi /boot/grup/grup.conf

Lập lịch thi hành lệnh – cron và crontab

1. Những tác vụ hệ thống lặp đi lặp lại theo những khoảng thời gian định kỳ có thể được lập lịch để thi hành tự động. 

2. Lịch này có thể thực hiện bằng lệnh cron, thông tin lịch được đặt trong tập tin crontab. 

Lập lịch thi hành lệnh – cron và crontab

1. Tiến trình con cứ mỗi phút một lần thực hiện kiểm tra các thay đổi của các tập tin crontab của người dùng có trong thư mục /var/spool/cron/., /etc/crontab, /etc/cron.d/. 

2. Tập tin /etc/crontab: các biến môi trường SHELL (khai báo shell dùng thi hành lệnh), PATH (đường dẫn được dùng để tìm kiếm lệnh), MAILTO (tên tài khoản nhận kết quả lệnh do cron thi hành) và HOME (thư mục chủ dùng để thi hành lệnh và script).

3. Các tập tin cần lưu ý:

/etc/cron.hourly/.

/etc/cron.daily/.

/etc/cron.weekly/.

/etc/cron.monthly/.

Thiết lập lịch, quản lý crontab

Tiến hành 2 bước sau để thực hiện lập lịch:

a. Tạo một tập tin crontab với tên bất kỳ và khai báo các mục của crontab vào trong tập tin này. 

b. Thi hành lệnh crontab với đối số là tên tập tin crontab vừa tạo. Lệnh này sẽ lấy nội dung trong tập tin crontab vừa tạo và tạo một tập tin crontab vào trong thư mục /var/spool/cron/, với tên là tên tài khoản người dùng đã thi hành lệnh crontab.

Cú pháp:

crontab [ -u user] file

crontab [ -u user]  -l  |  -r   |   - e

- u user: chỉ ra tên tài khoản người dùng mà lệnh tác động đến tập tin crontab filecủa người dùng này.

- l: hiển thị nội dung tập tin crontab của người dùng user.

- r: xoá tập tin crontab.

- e: cho phép sửa đổi nội dung tập tin crontab.

Ví dụ:

20 1 * * * /usr/bin/calendar –

0 2 1 * 0 /bin/organize_data

0 * * * * date > /tmp/test1 2>/dev/null

Ý nghĩa:

- Cho biết lệnh /usr/bin/calendar – được thực hiện vào 1h20 sáng hàng ngày trong tuần và hàng ngày trong năm.

- Vào 2h00 ngày đầu tiên của mỗi tháng và mỗi ngày chủ nhật file /bin/organize_data phải được thực hiện.

- Chuyển đầu ra của tập tin /tmp/test1 và thông báo lỗi vào /dev/null (tức là bỏ các thông báo lỗi)


>> Tham khảo thêm: Giới thiệu về địa chỉ IP Version 6