Ubuntu系統目錄結構
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