Ubuntu系統目錄結構 ================== 以下為Ubuntu目錄的主要目錄結構,您稍微了解它們都包含了哪些文件就可以了,不需要記憶。 / 根目錄 │ ├boot/ 啟動文件。所有與系統啟動有關的文件都保存在這里 │ └grub/ Grub引導器相關的文件 │ ├dev/ 設備文件 ├proc/ 內核與進程鏡像 │ ├mnt/ 臨時掛載 ├media/ 掛載媒體設備 │ ├root/ root用戶的$HOME目錄 ├home/ │ ├user/ 普通用戶的$HOME目錄 │ └.../ │ ├bin/ 系統程序 ├sbin/ 管理員系統程序 ├lib/ 系統程序庫文件 ├etc/ 系統程序和大部分應用程序的全局配置文件 │ ├init.d/ SystemV風格的啟動腳本 │ ├rcX.d/ 啟動腳本的鏈接,定義運行級別 │ ├network/ 網絡配置文件 │ ├X11/ 圖形界面配置文件 │ ├usr/ │ ├bin/ 應用程序 │ ├sbin/ 管理員應用程序 │ ├lib/ 應用程序庫文件 │ ├share/ 應用程序資源文件 │ ├src/ 應用程序源代碼 │ ├local/ │ │ ├soft/ 用戶程序 │ │ └.../ 通常使用單獨文件夾 │ ├X11R6/ 圖形界面系統 │ ├var/ 動態數據 │ ├temp/ 臨時文件 ├lost+found/ 磁盤修復文件
啟動流程 ======== Linux系統主要通過以下步驟啟動: 1、讀取MBR的信息,啟動Boot Manager Windows使用NTLDR作為Boot Manager,如果您的系統中安裝多個版本的Windows,您就需要在NTLDR中選擇您要進入的系統。 Linux通常使用功能強大,配置靈活的GRUB作為Boot Manager,我們將在啟動管理章節中向您介紹它的使用方式。 2、加載系統內核,啟動init進程 init進程是Linux的根進程,所有的系統進程都是它的子進程。 3、init進程讀取“/etc/inittab”文件中的信息,并進入預設的運行級別,按順序運行該運行級別對應文件夾下的腳本。腳本通常以“start”參數啟動,并指向一個系統中的程序。 通常情況下,“/etc/rcS.d/”目錄下的啟動腳本首先被執行,然后是“/etc/rcN.d/”目錄。例如您設定的運行級別為3,那么它對應的啟動目錄為“/etc/rc3.d/”。 4、根據“/etc/rcS.d/”文件夾中對應的腳本啟動Xwindow服務器“xorg” Xwindow為Linux下的圖形用戶界面系統。 5、啟動登錄管理器,等待用戶登錄 Ubuntu系統默認使用GDM作為登錄管理器,您在登錄管理器界面中輸入用戶名和密碼后,便可以登錄系統。(您可以在“/etc/rc3.d/”文件夾中找到一個名為“S13gdm”的鏈接) 更改運行級別 ------------ 在“/etc/inittab”文件中找到如下內容: # The default runlevel. id:2:initdefault: 這一行中的數字2,為系統的運行級別,默認的運行級別涵義如下: 0 關機 1 單用戶維護模式 2~5 多用戶模式 6 重啟
服務管理 ========
更改啟動服務 ------------ 在運行級別對應的文件夾中,您可以看到許多文件名以“S##”和“K##”起始的啟動腳本鏈接。 例如: /etc/rcS.d/S35mountall.sh 掛載文件系統 /etc/rcS.d/S40networking 啟用網絡支持 /etc/rc2.d/S13gdm 啟動登錄管理器 /etc/rc2.d/S20makedev 創建設備文件 /etc/rc2.d/S23xinetd 啟動超級進程 init進程將以“start”為參數,按文件名順序執行所有以“S##”起始的腳本。腳本名稱中的數字越小,它將被越早執行。例如在“/etc/rc2.d/”文件夾中,“S13gdm”文件名中的數字小于“S23xinetd”,“S13gdm”將比“S23xinetd”先執行。 如果一個腳本鏈接,以“K##”起始,表示它將以“stop”參數被執行。如果相應服務沒有啟動,則不執行該腳本。 例如: /etc/rc2.d/K20powernowd 針對某種硬件的電源管理支持 如果您想禁止某一服務在啟動時自動運行,您可以將相應運行級別中的腳本由“S##xxx”重命名為“K##xxx”。
手動控制服務 ------------
您也可以手動運行帶有以下參數的啟動腳本,來控制系統服務。 start 啟動 stop 停止 restart 重啟 例如: /etc/rc2.d/K20powernowd start 有時您并不清楚當前運行級別,該運行級別下未必有相應腳本;而且此類腳本的前三位字符并不固定,不便于記憶。這時,您可以直接使用“/etc/init.d/”文件夾中的啟動腳本(“/etc/rcX.d/”中的啟動腳本鏈接到“/etc/init.d/”文件夾下相應腳本),這也是我們向您推薦的方式。 例如: /etc/init.d/powernowd start
Tips:以上命令的位置并沒有包含在環境變量的搜索路徑中,所以要輸入完整路徑。
常用系統服務 ============ acpi-support 高級電源管理支持 acpid acpi守護程序.這兩個用于電源管理,非常重要 alsa 聲音子系統 alsa-utils anacron cron的子系統,將系統關閉期間的計劃任務,在下一次系統運行時執行。 apmd acpi的擴展 atd 類似于cron的任務調度系統。建議關閉 binfmt-support 核心支持其他二進制的文件格式。建議開啟 bluez-utiles 藍牙設備支持 bootlogd 啟動日志。開啟它 cron 任務調度系統,建議開啟 cupsys 打印機子系統。 dbus 消息總線系統(message bus system)。非常重要 dns-clean 使用撥號連接時,清除dns信息。 evms 企業卷管理系統(Enterprise Volumn Management system) fetchmail 郵件用戶代理,用于收取郵件 gdm gnome登錄和桌面管理器。 gdomap gpm 終端中的鼠標支持。 halt 別動它。 hdparm 調整硬盤的腳本,配置文件為“/etc/hdparm.conf”。 hibernate 系統休眠 hotkey-setup 筆記本功能鍵支持。支持類型包括: HP, Acer, ASUS, Sony, Dell, 和IBM。 hotplug and hotplug-net 即插即用支持,比較復雜,建議不要動它。 hplip HP打印機和圖形子系統 ifrename 網絡接口重命名腳本。如果您有十塊網卡,您應該開啟它 inetd 在文件“/etc/inetd.conf”中,注釋掉所有你不需要的服務。如果該文件不包含任何服務,那關閉它是很安全的。 klogd 重要。 linux-restricted-modules-common 受限模塊支持。“/lib/linux-restricted-modules/”文件夾中的模塊為受限模塊。例如某些驅動程序,如果您沒有使用受限模塊,就不需要開啟它。 lvm 邏輯卷管理系統支持。 makedev 創建設備文件,非常重要。 mdamd 磁盤陣列 module-init-tools 從/etc/modules加載擴展模塊,建議開啟。 networking 網絡支持。按“/etc/network/interfaces”文件預設激活網絡,非常重要。 ntpdate 時間同步服務,建議關閉。 pcmcia pcmcia設備支持。 powernowd 移動CPU節能支持 ppp and ppp-dns 撥號連接 readahead 預加載庫文件。 reboot 別動它。 resolvconf 自動配置DNS rmnologin 清除nologin rsync rsync守護程序 sendsigs 在重啟和關機期間發送信號 single 激活單用戶模式 ssh ssh守護程序。建議開啟 stop-bootlogd 在2,3,4,5運行級別中停止bootlogd服務 sudo 檢查sudo狀態。重要 sysklogd 系統日志 udev & udev-mab 用戶空間dev文件系統(userspace dev filesystem)。重要 umountfs 卸載文件系統 urandom 隨機數生成器 usplash 開機畫面支持 vbesave 顯卡BIOS配置工具。保存顯卡的狀態 xorg-common 設置X服務ICE socket。 adjtimex 調整核心時鐘的工具 dirmngr 證書列表管理工具,和gnupg一起工作。 hwtools irqs優化工具 libpam-devperm 系統崩潰之后,用于修理設備文件許可的守護程序。 lm-sensors 板載傳感器支持 mdadm-raid 磁盤陳列管理器 screen-cleanup 清除開機屏幕的腳本 xinetd 管理其他守護進程的一個inetd超級守護程序
重要配置文件 ============ !無論任何情況下,在修改配置文件之前,請您先備份它! 建議您使用這個命令:“sudo cp xxx xxx_`date +%y%m%d_%H:%M`”。 當然這很麻煩,您可以新建一個名為“bak”的文件,內容如下: #!/bin/bash sudo cp $1 $1_`date +%y%m%d_%H:%M` 把它放在您能夠記住的目錄下,比如“/home”,執行命令“sh /home/bak xxx”,就可以將當前文件夾下的文件“xxx”另存為“xxx_yymmdd_HH:MM”的格式了
全局配置文件 ------------ 系統初始化 /etc/inittab 運行級別、控制臺數量 /etc/timezone 時區 /etc/inetd.conf 超級進程 文件系統 /etc/fstab 開機時掛載的文件系統 /etc/mtab 當前掛載的文件系統 用戶系統 /etc/passwd 用戶信息 /etc/shadow 用戶密碼 /etc/group 群組信息 /etc/gshadow 群組密碼 /etc/sudoers Sudoer列表(請使用“visudo”命令修改此文件,而不要直接編輯) Shell /etc/shell 可用Shell列表 /etc/inputrc ReadLine控件設定 /etc/profile 用戶首選項 /etc/bash.bashrc bash配置文件 系統環境 /etc/environment 環境變量 /etc/updatedb.conf 文件檢索數據庫配置信息 /etc/issue 發行信息 /etc/issue.net /etc/screenrc 屏幕設定 網絡 /etc/iftab 網卡MAC地址綁定 /etc/hosts 主機列表 /etc/hostname 主機名 /etc/resolv.conf 域名解析服務器地址 /etc/network/interfaces 網卡配置文件 用戶配置文件 ------------ “/etc/”目錄下的所有文件,只有root用戶才有修改權限。應用軟件的全局配置文件,普通用戶也不能夠修改,如果您想配置軟件,以適應您的需求,您可以修改它的用戶配置文件。
用戶配置文件通常為全局配置文件的同名隱藏文件,放在您的$HOME目錄下,例如: /etc/inputrc /home/user/.inputrc /etc/vim/vimrc /home/user/.vim/vimrc
也有少數例外,通常是系統程序 /etc/bash.bashrc /home/user/.bashrc
|