1、Linux 系統操作與管理,VBird2003/03/21,報告內容,Linux 是什麼?如何學習?Linux 與硬體的關係?Linux 的操作:Shell 與線上說明文件Linux 帳號管理Linux 檔案系統管理Linux 開機管理軟體(LILO, Grub)Linux 程序管理與工作排程Linux 套件管理員Linux 問題的檢驗程序,Linux 是什麼?如何學習?,作業系統,Linux 是什麼?如何學習?,Linux = 核心 (Kernel) + 套件(Packages)核心在控制整個系統(軟、硬體)核心的功能不同,支援的硬體就不同各個 distributions 都使用 www.k
2、ernel.org 提供的 kernel,可以支援外掛模組(想像驅動程式)packages 可以隨時抽換安裝,Linux 是什麼?如何學習?,Shell 的類型圖形介面 (X-Window System)KDE, GNOME.最大的優點是親和、中文化文字介面 (BASH Shell)功能強大、但學習歷程較長最大的優點是,更深入系統,適合系統管理員,Linux 是什麼?如何學習?,建議學習的心態想玩一玩 Linux 而已:使用 X-Window 爽一爽即可但不要架站喔!為了生活、為了興趣、為了管理:可以理解為什麼要這樣做?問題發生了,會知道哪裡可能出錯?整個流程的檢驗程序清晰!,Linux 與硬
3、體的關係,硬體的架構:X86 系統CPU 的等級硬體裝置的 I/O 位址裝置溝通的 IRQ 通道IDE 介面的硬碟實體與虛擬的 RAMUSB 介面,Linux 與硬體的關係,核心與硬體核心需支援該硬體,硬體方可運作可以利用類似驅動程式(模組)啟用硬體硬體驅動模組設計是硬體廠商的責任-每人一信、開發才會快!_,Linux 與硬體的關係,關於硬碟的裝置代號MBR?Partition table ?Primary, Extended, Logical ?/dev/hda1, /dev/hda5,Linux 的操作,Shell指令的操作# ls /home# ls -l /home# ls -al /
4、home# ls -help# ls -al / /home /var /etc /tmp /usr .,Linux 的操作,Shell指令的操作每行指令均以 Enter 為開始執行的依據,不過可以 延續下達指令可接續參數(Options)來達成多樣化的工作大小寫是完全不同的藉由輸出訊息可瞭解問題、解決之,Linux 的操作,Shell變數的功能環境當中,一些必要指令的用途HOME 家目錄MAIL 用 mail 時取得的 mailboxPS1 提示字元囉!PATH 執行檔的搜尋路徑? 上個指令的執行結果回傳值,Linux 的操作,Shell變數的功能簡化與優化指令或 scripts例如常使用的
5、字串取代、常使用的路徑取代.Shell scripts 當中的變數取代(最常見),Linux 的操作,Shell進階指令操作-資料流重導向將指令執行後,應該由螢幕輸出的的訊息導向到裝置或檔案當中;# ls /home /vbird right 2 error最常見在背景工作中!例如系統的一堆背景工作紀錄(syslogd),Linux 的操作,Shell進階指令操作-管線命令 pipe將輸出的訊息繼續進行處理,Linux 的操作,Shell進階指令操作-管線命令 pipe# last | grep root | wc -l# cat /etc/passwd | cut -d : -f1 acco
6、ut重點在於僅取得所需的資料,這與正規表示法常常離不開!,Linux 的操作,文書處理器 vi管理員至少一定要會一種編輯器vi 的使用:一般模式:移動、複製、刪除、貼上編輯模式:插入與取代文件指令列模式:搜尋、自動取代、檔案存取等,Linux 的操作,線上查詢 man page是否一定要背指令?man commandman 5 configurationinfo command (尤其 GNU 提供的工具)/etc/man.conf (尤其自行安裝軟體)whatis filename,Linux 帳號與身份管理,Linux 僅認識 ID 數字:UID, GID三種身份:owner, group
7、, others與 Linux 檔案權限相關性很高!/etc/passwd, /etc/shadow, /etc/group密碼的設定技巧,Linux 帳號與身份管理,Linux 僅認識 ID 數字:UID, GID兩種 UID: 0(root), 165534(一般身份)三種身份:owner, group, others與 Linux 檔案權限相關性很高!/etc/passwd, /etc/shadow, /etc/group密碼的設定技巧,Linux 帳號與身份管理,使用者查尋:idfingergroups變換身份:susudo,Linux 檔案系統管理,檔案類型: file typere
8、gular files: data, ascii, binary programs.Directorydevice files: Block, Character檔案系統類型:filesystem typeext2, ext3, reiserfsvfat, ntfs.,Linux 檔案系統管理,樹狀目錄,Linux 檔案系統管理,檔案權限,Linux 檔案系統管理,基本檔案與目錄管理操作ls, pwd, cd, mkdir, rmdircp, mv, rm, cat, nl, head, tail, less, more, file, diff,Linux 檔案系統管理,檔案屬性的變換chow
9、n, chgrp, chmod# chmod 777 bar,Linux 檔案系統管理,檔案的搜尋which command (與 PATH 有關)whereis filenamelocate filenamefind path type arguments,Linux 檔案系統管理,SetUID, SetGID, Sticky bite執行者在執行 binary program 過程中,會擁有 binary program owner 的權限,稱為 SUID。若目錄被設定有 sticky bite 時,該目錄內的資料僅有檔案擁有者及 root 有權限刪除,Linux 檔案系統管理,連結檔ha
10、rd link不可跨 filesystems, 不可連結 directory所有的 link 為 0 時,檔案才會完蛋。Symbolic link就是捷徑囉!,Linux 檔案系統管理,磁碟分割槽的掛載問題:每個 partition 就是一個完整的 filesystem使用 mount 來掛載每一個 partition ,需要有 mount point 來掛載 (directory)# mount -t vfat /dev/hda5 /mnt/windows# mount -t ntfs /dev/hda6 /mnt/winnt# mount -t ext3 /dev/hdb1 /mnt/li
11、nux2,Linux 檔案系統管理,磁碟分割槽的分割問題:fdisk 的使用(需瞭解 MBR, partition 的基本觀念)mke2fs 來格式化fsck 來檢驗磁區/etc/fstab 來開機掛載!,Linux 開機流程管理,Loader:載入核心所必需MBR (Master Boot Recorder)Super BlockLinux Loader:LILO (LInux LOader)Grub,Linux 開機流程管理,BIOSLoader 載入 Kernel執行 init 程式(/etc/inittab 取得 run-level)/etc/rc./* scripts載入外掛式模組(
12、/etc/modules.conf)載入各 run-level 所需 scripts/etc/rc.d/rc.local,Linux 開機流程管理,更改核心、多重開機:修改 Loader 的啦!開機時載入、關機時關閉/etc/rc.d/rc0-6.d/scripts (Kxx, Syy)/etc/rc.d/rc.local,Linux 程序管理與工作排程,什麼是程序?任何觸發系統工作的事件,系統會給予一個 process ID 來控制該事件的執行,這個 PID 就是程序!需要注意到,程序屬於誰?他的權限是不同的!而程序執行後輸出的訊息則與資料流有關!,Linux 程序管理與工作排程,如何觀察程
13、序?topps常駐記憶體的程式(daemon, 服務)在背景下執行是系統正常運作所必需要的(syslog,cron)是某些服務提供所必需要的(www, mail.),Linux 程序管理與工作排程,程序的優先執行順序?Prioritynice valuenice 新的 PIDrenice 已存在的 PID,Linux 程序管理與工作排程,給予程序訊號, signalkill -signal PID-1 重新讀取設定檔-9 無條件強制驅離記憶體-15 正常方式關閉該 PID,Linux 程序管理與工作排程,重要的程序之一:syslog系統在背景下工作的各項服務所產生的訊息均統一由 syslog
14、這個服務 (daemon) 所管理/etc/syslog.conf/var/log/messages/var/log/secure .,Linux 程序管理與工作排程,背景與前景之工作管理 & 與 ctrl + zjobsfg, bg, kill %number最常見在單一工作視窗當中!,Linux 程序管理與工作排程,工作排程循環式工作排程:crontab/etc/crontab單一工作排程:at,Linux 套件管理員,RPM具有資料庫:容易安裝、升級、移除在查驗及搜尋方面極為有效率漏洞修補速度快速最大的缺點:屬性相依的問題(這包含了版本、平台等等),Linux 套件管理員,Tarball
15、為原始碼 (open source)大部分的 tarball 均支援跨平台需要額外的套件支援:make, kernel source, gcc 等等升級、反安裝等較為不方便,Linux 套件管理員,沒有任何一套作業系統會完全滿足您,所以使用者必需要至少學習一種套件管理員,以提供自我程式資料庫的安裝!,Linux 問題的檢驗程序,先查看螢幕出現的錯誤訊息;由螢幕出現的錯誤訊息以 man 來查尋該問題的解決方法;檢驗登錄檔 (logfile) 的錯誤記錄;由錯誤記錄反查該套件的設定檔或者相關指令的校正!,個人小建議,學會一種以上的 package manager務必努力去找男人!至少要會使用 vi 吧 _一定要瞭解 Linux 的目錄架構一定要知道 User, Group, Others,以及 Process 之間的關係!,個人小建議,知道如何追查與克服問題:養成日誌觀察的好習慣!天助自助者!科技永遠來自於人類的惰性:知道 cron 的用途;訓練執行 BASH 與編寫 scripts 的能力,個人小建議,會用比會考試應該要重要的多!由實作去體驗會比冥想有效的多!由搜尋取代發問會快速而有效的多!,