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