有關linux的安裝可以參考以前寫過的archlinux和debian的安裝筆記。本篇主要介紹有關linux系統的引導和關機的知識。
contents關機
引導就是啟動計算機。在啟動計算機時作業系統還不能夠使用,必須由引導程式將其啟動起來。在引導過程中,核心被載入到記憶體中並開始執行,進行各種初始化,之後系統就可以使用了。
引導包括自動引導和手工引導。自動引導時,系統會自己執行全部引導過程。手工引導則會在某一時刻將控制權交給使用者,這時計算機處於單使用者模式,其他使用者還不能登入系統。
引導的過程可以分成:
linux的核心通常是 /vmlinuz ,在debian [1] 上它鏈結到 /boot/vmlinuz-2.6.32-5-686
。系統引導時首先將它載入記憶體。核心執行記憶體檢測來確定可用的ram,然後會按靜態方式分配記憶體量。
接下來核心會查詢並初始化核心中給出的裝置。
在基本的初始化完成後,核心會在使用者空間建立一些自發程序,這麼說是因為它們不通過 fork 機制建立。可以使用 ps -af
命令進行檢視,它們被中括號括了起來。建立完自發程序後,核心的工作就完成了,接下來的任務由 init 程序來完成。
如果以單使用者模式引導,系統會進入乙個特殊的登入模式。輸入 root 的密碼會進入到乙個root shell,也可以按 ^d 跳過單使用者模式繼續引導。
接下來就是按一定的順序執行系統啟動指令碼,如果安裝了圖形介面並設定了圖形登入系統,會進入它等待使用者登入。
計算機啟動時首先載入磁碟開頭的mbr,它是乙個512位元組的段,它告訴計算機從**引導,並載入引導引導程式,然後由引導引導程式負責載入核心。現在linux系統最常用的引導引導程式是grub,以前還有lilo,但它沒有grub強大,現在已經很少使用它了。
啟動指令碼是一些shell指令碼,不同的linux系統對它們的組織方式有很大區別。一般來說,啟動指令碼會:
如果檔案系統是正常解除安裝的,一般會自動跳過 fsck 檢查。
init 定義了7個執行級:
0級和6級比較特殊,系統不能留在這兩個級別裡,大多數系統執行在2級或3級。
/etc/inittab 定義了 init 在每個執行級上要做的事情,也就是進入每個級別要執行的命令。debian的預設執行級是2,可以修改它。
id:2:initdefault:可以使用 telinit 命令進入特定的執行級。
啟動指令碼放在 /etc/init.d/ 下,這些指令碼都可以使用引數 start 和 stop 來執行,有些還支援 restart 。系統啟動指令碼時,並不直接在該路徑下找,而是查詢 /etc/rcn.d/ (n為0-6的級別)。 /etc/rcn.d/ 包含到啟動指令碼的符號鏈結,它們都以 s 或 k 開頭, init 按執行級別由低到高過渡時,執行各級別以 s 開頭的帶有 start 引數的指令碼,由高到低過渡時,執行各級別以 k 開頭的帶有 stop 引數的指令碼。
debian的配置資訊放置比較分散。系統的主機名在 /etc/hostname 裡,網路介面和預設閘道器在/etc/network/inte***ces 裡。debian有乙個啟動指令碼管理程式 update-rc.d 。
停止或重新引導系統的最完善的方式是 shutdown 。可以給 shutdown 指定時間和可選的訊息通知。用 -h
和-r指定是停機還是重新引導,用 -f
或 -f
來強制或跳過 fsck 檢查。
shutdown -h
呼叫 halt 命令,它也可以單獨使用,執行關閉系統的基本任務。 halt 會執行 sync 系統呼叫,可以使用 -n
選項不執行 sync ,這主要用在 fsck 修復後的情況。
shutdown -r
呼叫 reboot 命令,和 halt 類似,區別是它重啟機器,它也支援 -n
選項。poweroff 命令等價於 halt ,但它還請求關閉主電源(有這種功能的系統上)。
[1]我的環境是debian 6.0.4 i386,後文中如不特別說明,debian即指該版本。
linux系統學習筆記
一 軟體包安裝 原始碼包安裝 二進位製包安裝 二 rhel 7系統管理 使用systemctl命令管理服務 man命令幫助資訊 常用命令 reboot 用於重啟系統。格式為reboot,預設為系統管理員重啟 poweroff 用於關閉系統,其格式為poweroff,預設為系統管理員關閉 ps 用於檢...
Linux系統學習筆記
沒有裝系統的電腦稱之為裸機,人和計算機之間的翻譯平台就是作業系統os。分時作業系統是一台計算機能同時為多個使用者提供服務,使用者互動式發布命令,作業系統採用時間片輪轉的方式,為每個使用者服務。unix作業系統 unix是乙個多使用者多工的作業系統,收費的作業系統。linux版本一般使用centos和...
Linux系統學習筆記
例 用於切換當前工作目錄至dirname 目錄引數 語法 cd dirname 例 用於顯示指定工作目錄之下的內容 例 用於為檔案或目錄改名或將檔案或目錄移入其他位置 主要用於複製檔案或目錄 引用摘錄 菜鳥教程 f 覆蓋已經存在的目標檔案而不給出提示。i 與 f選項相反,在覆蓋目標檔案之前給出提示,...