2011年1月2號整理
根據RH131課程整理
訪問系統常用介面:CLI 、GUI.
CLI(命令行):提供一個輸入命令的提示符而實現對系統的訪問.
顯示設備
物理終端:(設備文件)——>/dev/tty0
直連到linux系統所直接安裝到的那台主機上的那台顯示設備.
虛擬終端:/dev/tty1-tty6 (ctrl Alt F1——F6)
在同一個主機上,提供六個不同介面來訪問同一個系統,對物理終端的虛擬.
程序:mingetty 在系統初始化完成以後,根據/etc/inittab這個文件的指示,結合init進程,初始化啟動幾個終端的那個程序.
串列終端:通過串列鏈路設備接入進來對系統進行訪問的設備
(設備文件)/dev/ttyS* /dev/xvc0(虛擬機上的串列終端)
程序: agetty 啟動串列終端
系統控制台:/dev/console 邏輯設備,
系統默認的邏輯終端設備,在系統內核在初始化過程中虛擬出來的,要想顯示出來必須跟物理設備關聯起來(默認/dev/tty0或/dev/fb0(虛擬機上)).默認情況下系統的啟動信息都是到系統控制台上去的.
更改設置:console=ttyS0 consle=ttys1
可以設置多個參數,但只有一個才會顯示啟動信息.
模擬終端:(設備文件)——>/dev/pts/N
在X window打開的終端,
通過SSH遠程連接上去的terminal
通過,telnet遠程連接上去的terminal
tty 查看當所對應的終端設備文件
通過screen打開不同的屏幕,類同於在X-window上打開多個窗口的機制
GUI(圖形用戶界面)
X protocol(C/S),x386(商業實現) XFree86(開源實現)——>最新版X11R7 R(release)
Xorg漸漸取代XFree86
XFree86,Xorg只是提供了驅動顯卡的驅動程序,並提供了幾個額外的模塊,讓顯卡能夠真正工作起來,為圖形應用提供低層框架的工具.
窗口管理器
桌面管理器:提供所有窗口的母窗口.Gnome 、KDE
X &——> xterm ——>twm &(窗口管理器)——>gdm(登陸管理器)——>gnome-session(桌面)
查看X server 版本號
prefdm:啟動一個圖形界面
Xorg.Conf的配置內容:
screen:支持在字元界面下打開多個模擬終端
查看已經關閉的終端:
許可權的傳遞:
用戶:管理員(root) 普通用戶
sudo
/etc/sudoers 定義哪些用戶可以在哪些主機上以什麼身份執行哪些命令 who where=(who) what
例如: A 192.168.0.0/24=(root) /sbin/ofcpnfig
RH131
可以使用visudo命令編輯
添加:
百分號表示是一個系統群組
被添加的用戶在使用命令執行時需要在前邊加上sudo 關鍵字
默認五分鐘內執行sudo命令不用輸入密碼,很人性化的.
定義一個用戶組:User_Alias NETWORK=A,B,C組名必須是大寫英文字母
lecture 2
操作系統是物理主機的虛擬抽象
yum yellow update manger
rpm redhat package manager——>rpm package manager
命名格式:package_name-version-release.arhc.rpm
rpm –i 或 –install
-v 顯示安裝進度
-h 以安裝信息列顯示安裝進度
卸載軟體包 rmp –e packagenamne(只需要指定軟體包的名字)
--nodeps忽略依賴關係
--replacepkgs 重新裝一次,替換原來的包,達到修復的目的
--force強行安裝
--test 測試一下
--justdb 僅僅更新資料庫
升級 rpm –F升級 純粹升級,在原來的基礎上進行
rpm –U更新 原來的包存不存在都沒關係 --oldpackage 降級安裝
內核一般不能以升級的方式安裝
-q 查詢
-qi 列出詳細信息
-ql 列出該軟體包的所有文件與目錄所在完整名(list)
-qf 找出該文件是由那個安裝包來的
-qc 列出安裝包完成後所生成的配置文件
-qR 列出軟體包的依賴信息
--querytags 定製查詢
--scripts 查看安裝時執行了哪些腳本文件
校驗:
-V pkg_name 查看系統的安全信息
tripwire
數字簽名,保證數據完整性
單項加密:MD5
rpm --initdb 更新信息的 不會覆蓋原有資料庫
rpm --rebuilddb 無論如何都要覆蓋原有資料庫
rpm –qa gpg-pubkey查看系統公鑰
rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
rpm –K package_name 校驗
--checksig package_name 校驗
三種文件共享方式:file:/// 、 http:// 、ftp://
yum –y install pkg_name 不提示,默認安裝
-y reintall 重裝
yum remove 卸載軟體包
update 升級軟體包 可以升級kernel
yum list all 列出所有的軟體包
yun list installed 列出安裝過的
yum provides|whatprovides 誰提供的
grouplist 列出已裝組和所有可用組
groupinstall 組安裝
localinstall
建立一個本地yum源
直接將光碟上的軟體包作為yum源
先掛載光碟
createrepo 直接創建一個yum源
Lecture 7
硬碟盤面結構示意圖
硬碟片旋轉一圈所畫出來的就是磁軌(track)
所有硬碟片上相同半徑的那個磁軌就組成了柱面(cylinder)
數據是按照柱面來存取的.
第0磁軌上的0扇區不能被分區.用於表示當前磁碟上有幾個分區以操作系統所在的分區,成為引導扇區,MBR (主引導記錄) 512B 前446B放置一段程序,成為boot loader
引導載入器,后64B用來標示分區,每16B用來標示一個分區
硬碟最小的存儲單位是扇區(512B),數據所存儲的最小單位是邏輯塊(block)
每個分區就是一個文件系統,而每個文件系統開始位置的那個塊就稱為超級塊(superblock).超級快的作用是存儲文件系統的大小,空的和填滿的塊,以及它們各自的總數和其他諸如此類的信息.
查看當前系統上所有的塊存儲設備及分區信息:fdisk –l
* 表示在此分區上有操作系統
查看系統分區信息:
HAL 硬體抽象層:實時探測內核中新插入的設備,將新插入的設備屬性信息,通過HAL將這些信息導入到用戶空間的進程中去.
hal-device 輸出整個系統上所有的硬體設備信息
fdisk /dev/sda 對硬碟設備進行分區
mkfs——>make filesystem
-t type 類型
mkfs –t ext3= mkfs.ext3
mke2fs 創建ext2文件系統
-j 格式化為ext3
-l 設定卷標
-b 指定塊大小 默認1024B=1K
-c 慢速格式化
-i 指定位元組和inode比率
-n 指定一個分區上inode個數
-m為超級用戶在當前分區上所預留的空間大小的比率 默認百分之五
mount [options] [-o options] /dev/device /path/to/mount_point
不加參數顯示當前系統上已經掛載的設備和類型
umount /dev/device [/path/to/mount_point]
-o rw 讀寫掛載 (自定義選項)
-a 掛載/etc/fstab 所有設備
remount 重新掛載
mount –n –o remount,rw 重新掛載
gnome-mount 自動掛載 默認在media目錄下
gnome-umount 卸載
partprobe /dev/sda 更新內核中分區信息
如果需要自動掛載的話需要修改/etc/fstab
要掛載的設備 掛載點 文件系統類型 掛載選項(-o指定) 是否需要轉儲(1備份) 自檢標識(根分區為1 其他分區為2)
lecture 5
系統初始化
顯示系統版本號
uname –a 顯示所有信息
-r 顯示內核發行號
-n 顯示當前系統名稱
-v 顯示內核版本(什麼時候編譯的)
-p 顯示系統架構
運行級別 runlevel 在啟動的時候所啟動的服務不一樣
0——6
查看運行級別
init 0 關機
init 6 重啟
init 3 字元界面正常模式
init 5 圖形界面正常模式
init 1 單用戶模式 不啟動網路服務 用於修復系統 不需要用戶認證登錄
init 2 多用戶模式 不啟動NFS服務
init 4 保留
s S single:單用戶 /etc/rc.d/rc.sysinit
emergency: 緊急模式,不會讀取/etc/rc.d/rc.sysinit 用於系統修復
init N 切換運行級別
chkconfig –list 列出所有的服務在不同運行級別下開啟情況
chkconfig –level nnnnnnn service_name on|off 特定的關掉某個級別下的服務
沒加級別默認是2.3.4.5
ntsysv –level 2345
開機啟動流程
1. 載入BIOS信息,並取得第一個啟動設備的代號;
2. 讀取第一個啟動設備的MBR的引導載入程序(lilo,grub等)的啟動信息;
3. 載入核心操作系統的核心信息,核心開始解壓縮,並嘗試驅動所有的硬體設備;
4. 核心執行init程序並獲取運行信息;
5. init執行/etc/rc.d/rc.local文件;
6. 啟動核心的外掛模塊(/etc/modprobe.conf);
7. init執行運行的各個批處理文件(scripts);
8. init執行/etc/rc.d/rc.loacl文件;
9. 執行/bin/login程序,等待用戶登錄;
10. 登錄之後開始以shell控制主機.
BIOS(Basic Input Output System)記錄了主機板的晶元組與相關的設定,如CPU與介面設備的通信頻率、啟動設備的搜索順序、硬碟大小與類型、系統時間、外部匯流排是否啟動即插即用、各介面設備的I/O地址,以及與CPU通信的IRQ中斷等信息.
|
BIOS與引導載入程序及核心載入流程示意圖
init處理系統初始化流程(/etc/rc.d/rc.sysinit)
/etc/rc.d/rc.sysinit主要任務有:
自定義核心模塊的載入可以將整個模塊寫入到/etc/sysconfig/modules/*.modules中.
啟動系統服務與相關啟動設置文件(/etc/rc.d/rc.n 與/etc/sysconfig)
目錄裡邊文件全是軟鏈接,/etc/init.d與/etc/rc.d/init.d是一樣的.
以S為開頭的文件,為啟動時需要“啟動,start”的服務
以K開頭的文件,為“關機時需要關閉的服務,stop”的文件鏈接
S與K後面的數字,表示該文件的執行順序 範圍0——99 數字越小,優先順序越高
用戶自定義引導啟動程序(/etc/rc.d/rc.local)
任何想要在開機時執行的工作,直接寫入到/etc/rc.d/rc.local.該工作就會在啟動的時候自動載入.比如自己製作的shell腳本.
根據/etc/inittab 設置載入終端或X-Window界面
運行等級為2345時,都會執行/sbin/mingetty 執行6個.
mingetty 啟動虛擬終端
如果運行級別為runlevel 5 init還會執行/etc/X11/prefdm –nodaemon 命令,啟動X-window.
對模塊進行一些參數的設計 /etc/modprobe.conf
/etc/sysconfig/* 再整個啟動過程中,在/etc/sysconfig讀取服務的相關設置
核心與核心模塊
存放位置:
引導載入程序:Grub
grub對硬碟的代號設置於傳統的linux磁碟代號完全不同,如(hd0,0)
1. 硬碟代號以小括弧()括起來
2. 硬碟以hd表示,後面接一組數字
3. 以“搜索順序”作為硬碟的編號,而不是根據硬碟排線的排序
4. 第一個搜索到的為0,第二個為1號,以此類推
5. 每個硬碟的第一個分區代號為0,以此類推
第一個硬碟MBR安裝處的硬碟代號是“(hd0)”,第一個硬碟的第一個分區的超級塊代號是“(hd0,0)”,第一個硬碟的第一個邏輯分區的超級塊代號是“(hd0,4)”.
(0——3)——>(P E)
如果/boot單獨分區,則/vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
如果boot在根目錄下,則/boot/vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
內核=內核核心 模塊(kernel object)
內核本身就是模塊化設計,只提供了最核心的功能,核心上有很多介面,可以去載入對應的模塊,其他的功能都被做成了二進位的模塊,放在/lib/modules/`uname –r`/
kernel裡邊的內容:
lsmod 顯示當前已載入模塊
modprobe 模塊名 載入模塊
-r 模塊名 卸載模塊
ldd /bin/ls 查看一個命令執行過程中需要調用哪些庫
本文出自 「諸葛草廬」 博客,請務必保留此出處http://lyp0909.blog.51cto.com/508999/473707
[火星人 ] linux基礎知識總結(五)已經有434次圍觀