Liunx--總結前端
磁盤存儲和文件系統
磁盤存儲node
機械硬盤:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成
固態硬盤:用固態電子存儲芯片陣列而製成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成數據庫
1、硬盤存儲術語
head:磁頭
track:磁道
cylinder:柱面--同一磁道稱爲柱
sector:扇區,512bytescentos
fdisk -l /dev/sd#--觀察硬盤指標緩存
CHS用24bit位尋址
其中前10位表示cylinder柱面,中間8位表示head,後面6位表示sector 扇區
早期用chs方式尋址最大尋址空間8GB 512 2^62^8*2^10服務器
LBA(logical block addressing)
LBA是一個整數,經過轉換成CHS格式完成磁盤具體尋址
ATA-1規範中定義了28位尋址模式,以每扇區512位組來計算,ATA-1所定義的28位LBA上限達到128 GiB。2002年ATA-6規範採用48位LBA,一樣以每扇區512位組計算容量上限可達128 Petabytes網絡
2、磁盤兩種分區方式:MBR,GPT數據結構
MBR分區中一塊硬盤最多有4個主分區,也能夠3主分區+1擴展(N個邏輯分區)
MBR分區結構
硬盤主引導記錄MBR由4個部分組成(0磁道0扇區512byte)
1.主引導程序(偏移地址0000H--0088H),它負責從活動分區中裝載,並運行系統引導程序
出錯信息數據區,偏移地址0089H--00E1H爲出錯信息,00E2H--01BDH全爲0字節
2.分區表(DPT,Disk|Partition|Table)含4個分區項,偏移地址01BEH--01FDH,每一個分區表項長16個字節,共64字節爲分區項一、分區項二、分區項三、分區項4
3.結束標誌字,偏移地址01FE--01FF的2個字節值爲結束標誌55AAoracle
GPT分區:GPT:GUID(Globals Unique Identifiers) partition|table(分區表)支持128個分區,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)dom
使用128位UUID(Universally Unique Identifier) 表示磁盤和分區,GPT分區表自動備份在頭和尾兩份,並有CRC校驗位
hexdump -C -n 512 /dev/sd#--查看硬盤前512字節
dd if=/dev/sda of=/data/mbr bs=1 count=64--dd備份分區表(分區表放在它處)
。。。分區工具
parted命令的操做都是實時生效的,當心使用
用法:parted [選項]... [設備 [命令 [參數]...]...]
parted /dev/sdb mklabel gpt|msdos--打標記而後進行分區gpt|msdos
parted -l 查看partition Table:gpt列出分區信息
parted /dev/sdb print打印分區信息
parted /dev/sdb mkpart primary 1 200 (默認M)--分區連續分區不要跳着分
parted /dev/sdb rm 1 刪除分區
fdisk mbr和gdisk gpt--命令格式基本相同不作贅述
fdisk /dev/sd# 交互式管理分區
p 分區列表
t 更改分區類型改id
n 建立新分區-p主(1-4)e擴展 默認1開始自設+2M\G\K
--分區須要注意連續分區,不要跳着分
d 刪除分區 對應分區數字 分區數字易改變
v 校驗分區
u 轉換單位
w 保存並退出 出去立馬執行纔會更改
q 不保存並退出
。。分過區可能會出現內存中未加載新分區的信息
lsblk
ll /dev/sdb*
cat /proc/partitions--到這都是看內存中的硬盤信息
fdisk -l /dev/sd#--看到某硬盤的全部分區狀態
partprobe同步硬盤信息 entOS 5,7
。。。。
centos6 partx -a /dev/DEVICE 建立時同步
partx -d --nr 6-7 /dev/DEVICE 刪除時同步
文件系統
文件系統是操做系統用於明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操做系統中負責管理和存儲文件信息的軟件結構稱爲文件管理系統,簡稱文件系統
查看系統支持的文件系統:/lib/modules/uname –r/kernel/fs
各類文件系統:
https://en.wikipedia.org/wiki/Comparison_of_file_systems
ext4:是ext文件系統的最新版。提供了不少新的特性,包括納秒級時間戳、建立和使用巨型文件(16TB)、最大1EB的文件系統,以及速度的提高
xfs:SGI,支持最大8EB的文件系統
btrfs(Oracle), reiserfs, jfs(AIX), swap
光盤:iso9660
Windows:FAT32, exFAT,NTFS
Unix: FFS(fast), UFS(unix), JFS2
網絡文件系統:NFS, CIFS
集羣文件系統:GFS2, OCFS2(oracle)
分佈式文件系統: fastdfs,ceph, moosefs,mogilefs, glusterfs, Lustre
RAW:未經處理或者未經格式化產生的文件系統
lsblk -f 查看文件系統
1、建立文件系統命令 (下面命令兩兩一組,每組的選項基本通用)
mkfs命令
(1) mkfs.FS_TYPE /dev/DEVICE
ext4-xfs-btrfs-vfat
(2) mkfs -t FS_TYPE /dev/DEVICE
-L 'LABEL' 設定卷標
-f 強制對已經存在xfs重裝
mkfs -b 設置快大小以快爲單位
mke2fs:ext系列文件系統專用管理工具
-t {ext2|ext3|ext4} 指定文件系統類型
-b {1024|2048|4096} 指定塊大小
-L ‘LABEL’ 設置卷標
-j 至關於 -t ext3
mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
-i#爲數據空間中每多少個字節建立一個inode;不該該小於block大小
-N # 指定分區中建立多少個inode
-I 一個inode記錄佔用的磁盤空間大小,128---4096
-m # 默認5%,爲管理人員預留空間佔總空間的百分比
-O FEATURE[,...] 啓用指定特性
-O ^FEATURE 關閉指定特性
tune2fs 設定ext系列文本系統可調整參數的值
-l 查看指定文件系統超級塊信息;super block
-L 'LABEL’ 修改卷標
-m # 修預留給管理員的空間百分比
-j 將ext2升級爲ext3
-O 文件系統屬性啓用或禁用, –O ^has_journal
-o 調整文件系統的默認掛載選項,–o ^acl
-U UUID 修改UUID號
dumpe2fs:將磁盤塊分組管理
-h:查看超級塊信息,不顯示分組信息
文件系統檢測和修復:常發生於死機或者非正常關機以後
掛載爲文件系統標記爲「no clean」
注意:必定不要在掛載狀態下修復
fsck: File System Check--fsck /dev/sdb3 -y(自動回答)修復數據任然丟失
fsck.FS_TYPE
fsck -t FS_TYPE
-p 自動修復錯誤
-r 交互式修復錯誤
FS_TYPE 必定要與分區上已經文件類型相同
e2fsck:ext系列文件專用的檢測修復工具
-y 自動回答爲yes
-f 強制修復
。。。
centos6 etx4 後續添加硬盤分區沒有acl權限
fdisk n e +100M
mkfs.etx4 /dev/sda6
tune2fs -l /de/sda6
掛載 進入磁盤設置acl權限
tune2fs -o acl /dev/sdb6 添加acl權限
tune2fs -o ^acl /dev/sdb6 去
文件系統標籤:指向設備的另外一種方法-與設備無關
blkid [OPTION] [DEVICE]--塊設備屬性信息查看 -U UUID 根據指定的UUID來查找對應的設備
-L LABEL 根據指定的LABEL來查找對應的設備
e2label:管理ext系列文件系統的LABEL e2label DEVICE [LABEL]
findfs :查找分區
findfs [options] LABEL=<label> findfs [options] UUID=<uuid>
2、mount掛載
將額外文件系統與根文件系統某現存的目錄創建起關聯關係,進而使得此目錄作爲其它文件訪問入口的行爲
mount經過查看/etc/mtab文件顯示當前已掛載的全部設備
mount[-fnrsvw][-t vfstype][-o options]device dir
device:指明要掛載的設備;
(1) 設備文件:例如/dev/sda5
(2) 卷標:-L 'LABEL', 例如 -L 'MYDATA'
(3) UUID, -U 'UUID':例如 -U '0c50523c-43f1-45e7-85c0-a126711d406e'
(4) 僞文件系統名稱:proc, sysfs, devtmpfs, configfs
dir:掛載點
事先存在,建議使用空目錄
進程正在使用中的設備沒法被卸載
mount經常使用命令選項 --經過mount命令查看掛載設備
-t vsftype 指定要掛載的設備上的文件系統類型
-r readonly,只讀掛載
-w read and write, 讀寫掛載
-n 不更新/etc/mtab,6mount不可見 cat /etc/mtab
cat /proc/mounts查看內核追蹤到的已掛載的全部設備
centos6 /etc/mtab /proc/mounts
-a自動掛載全部支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
-L 'LABEL' 以卷標指定掛載設備
-U 'UUID' 以UUID指定要掛載的設備
-B, --bind 綁定目錄到另外一個目錄上(掛載目錄)
-當兩個文件inode同樣時多是目錄掛載
-mount -B /boot/grub2 /mnt/grub2
卸載命令
findmnt MOUNT_POINT|device--查看文件是否以掛載 $?的值判斷
查看正在訪問指定文件系統的進程
lsof MOUNT_POINT--查看誰在訪問
fuser -v MOUNT_POINT--查看誰在訪問
終止全部在正訪問指定的文件系統的進程
fuser -km MOUNT_POINT
卸載 umount DEVICE umount MOUNT_POINT
mount /dev/sda /mnt /sda--uuid或卷標均可掛 uuid掛載好有惟一性
文件系統空間佔用等信息的查看工具
df [OPTION]... [FILE]...
-H 以10爲單位 -T 文件系統類型 -h human-readable -i inodes instead of blocks
-P 以Posix兼容的格式輸出
查看某目錄整體空間佔用狀態
du [OPTION]... DIR -h human-readable -s summary 總和
--max-depth=# 指定最大目錄層級
。。。
空洞文件或稀疏
dd if=/dev/zero of=/data/bigfile bs=1M count=1023 seek=2048
ls -h bigfile 3G --看到的邏輯大小
du -sh bigfile 1G --只佔用1G df/data看到的都是實際大小
loop設備關聯文件
ll /dev/loop c6查看loop設備默認0-78個
dd if=/dev/zero of=/data/bigfile bs=1M count=1023 seek=2048
mkfs.ext4 /data/bigfile
losetup /dev/loop6 /data/bigfile--設備關聯
losetup -a
losetup -d
。。。。
mknod建立特殊文件基本什麼均可以建立
mknod /dev/loop100 b 7 8 --建立loop設備
rm -rf loop100
/boot/grub/grub.conf 下面能夠 max_loop=100 重啓
ll /devloop
mount -o ptions:多個選項使用逗號分隔
async.異步模式sync.同步模式,內存更改時,同時寫磁盤
atime/noatime包含目錄和文件(存放時間超過一天才會更新或mtime>atime時間
diratime/nodiratime 目錄的訪問時間戳
auto/noauto 是否支持自動掛載,是否支持- a選項
exec/noexec 是否支持將文件系統上運行應用程序
dev/nodev 是否支持在此文件系統上使用設備文件
suid/nosuid 是否支持suid和sgid權限
remount 從新掛載
ro 只讀 rw 讀寫
user/nouser 是否容許普通用戶掛載此設備,/etc/ fstab使用
acl 啓用此文件系統上的acl功能
loop 使用loop設備
文件掛載配置文件
/etc/fstab每行定義一個要掛載的文件系統
一、要掛載的設備或僞文件系統
設備文件 LABEL:LABEL="" UUID:UUID=""
僞文件系統名稱:proc, sysfs
二、掛載點
三、文件系統類型:ext4,xfs,iso9660,nfs,none
四、掛載選項:defaults ,acl,bind -o 的選項
五、轉儲頻率:0:不作備份 1:天天轉儲 2:每隔一天轉儲
六、fsck檢查的文件系統的順序:容許的數字是0 1 2
0:不自檢
1:首先自檢;通常只有rootfs才用
2:非rootfs使用
。。。
/dev/sdr6 /mnt/sda6 ext4 defaults 0 3
空洞文件用uuid在fstab寫入掛載
/boot /mnt/boot none bind 0 0 文件掛文件配置
mount-a自動掛載全部支持自動掛載的設備且掛載選項中有auto功能
3、swap
交換分區是系統RAM的補充,Swap分區支持虛擬內存。當沒有足夠的RAM保存系統處理的數據時會將數據寫入 swap 分區
當系統缺少swap空間時,內核會因RAM內存耗盡而終止進程。配置過多swap空間會形成存儲設備處於分配狀態但閒置,形成浪費,過多 swap 空間還會掩蓋內存泄露
掛載交換分區--基本設置包括:•建立交換分區或者文件
•使用mkswap寫入特殊簽名•在/etc/fstab文件中添加適當的條目•使用swapon -a 激活交換空間
啓用:swapon
swapon [OPTION]... [DEVICE]
-a:激活全部的交換分區
-p PRIORITY:指定優先級
/etc/fstab 在第4列中:pri=value
禁用:swapoff [OPTION]... [DEVICE]
SWAP的優先級
能夠指定swap分區0到32767的優先級,值越大優先級越高
若是用戶沒有指定,那麼核心會自動給swap指定一個優先級,這個優先級從-1開始,每加入一個新的沒有用戶指定優先級的swap,會給這個優先級減一
先添加的swap的缺省優先級比較高,除非用戶本身指定一個優先級,而用戶指定的優先級(是正數)永遠高於核心缺省指定的優先級(是負數)
優化性能:分佈存放,高性能磁盤存放
。。。
分swap分區 free -h 看內存使用狀況
fdisk /dev/sdc p m t L 19 改分區盤id w (gpt)
mkswap 建立swap文件系統=mkswap/dev/sdc1
寫到fstab文件 free -h 沒看到
swapon -a 開啓swap free -h
cat /proc/swaps 查看swap分區具體有多少=swapon -s
swapoff /dev/sdc1禁用
補充
dd 命令:convert and copy a file
dd if=/PATH/FROM/SRC of=/PATH/TO/DEST bs=# count=#
if=file 從所命名文件讀取而不是從標準輸入
of=file 寫到所命名的文件而不是到標準輸出
ibs=size 一次讀size個byte
obs=size 一次寫size個byte
bs=size block size, 指定塊大小(既是是ibs也是obs)
cbs=size 一次轉化size個byte
skip=blocks 從開頭忽略blocks個ibs大小的塊
seek=blocks 從開頭忽略blocks個obs大小的塊
count=n 複製n個bs
conv=conversion[,conversion...]用指定的參數轉換文件 轉換參數:
dd if=/data/file of=fstab conv=ucase
ascii 轉換 EBCDIC 爲 ASCII
ebcdic 轉換 ASCII 爲 EBCDIC
lcase 把大寫字符轉換爲小寫字符
ucase 把小寫字符轉換爲大寫字符
nocreat 不建立輸出文件
noerror 出錯時不中止
notrunc 不截短輸出文件
sync把每一個輸入塊填充到ibs個字節,不足部分用空(NUL)字符補齊
fdatasync寫完成前,物理寫入輸出文件,判斷讀寫速度
備份MBR
dd if=/dev/sda of=/tmp/mbr.bak bs=512 count=1
破壞MBR中的bootloader
dd if=/dev/zero of=/dev/sda bs=64 count=1 seek=446
有一個大與2K的二進制文件fileA。如今想從第64個字節位置開始讀取,須要讀取的大小是128Byts。又有fileB,想把上面讀取到的128Bytes寫到第32個字節開始的位置,替換128Bytes,實現以下
dd if=fileA of=fileB bs=1 count=128 skip=63 seek=31 conv=notrunc
一、備份:
dd if=/dev/sdx of=/dev/sdy
將本地的/dev/sdx整盤備份到/dev/sdy
dd if=/dev/sdx of=/path/to/image
將/dev/sdx全盤數據備份到指定路徑的image文件
dd if=/dev/sdx | gzip >/path/to/image.gz
備份/dev/sdx全盤數據,並利用gzip壓縮,保存到指定路徑
恢復:
dd if=/path/to/image of=/dev/sdx
將備份文件恢復到指定盤
gzip -dc /path/to/image.gz | dd of=/dev/sdx
將壓縮的備份文件恢復到指定盤
二、拷貝內存資料到硬盤
dd if=/dev/mem of=/root/mem.bin bs=1024
將內存裏的數據拷貝到root目錄下的mem.bin文件
三、從光盤拷貝iso鏡像
dd if=/dev/cdrom of=/root/cd.iso
拷貝光盤數據到root文件夾下,並保存爲cd.iso文件
四、銷燬磁盤數據
dd if=/dev/urandom of=/dev/sda1
利用隨機的數據填充硬盤,在某些必要的場合能夠用來銷燬數據,執行此操做之後,/dev/sda1將沒法掛載,建立和拷貝操做沒法執行
五、獲得最恰當的block size
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000
dd if=/dev/zero of=/root/1Gb.file bs=2048 count=500000
dd if=/dev/zero of=/root/1Gb.file bs=4096 count=250000
經過比較dd指令輸出中命令的執行時間,便可肯定系統最佳的block size大小
六、測試硬盤寫速度
dd if=/dev/zero of=/root/1Gb.file bs=1024 count=1000000 conv=fdatasync
測試硬盤讀速度
dd if=/root/1Gb.file bs=64k | dd of=/dev/null conv=fdatasync
軟件運行和編譯
ABI:應用程序的二進制接口,與操做系統相關,若是一個二進制程序建立完成要在操做系統上面運行,就要符合操做系統的二進制標準,標註就爲API
Windows與Linux不兼容 LSB爲Linux的二進制標準 PE32爲Windows二進制標準
虛擬化支持:
Linux:WINE(能夠在上面跑Windows程序) Windows:Cywin(能夠在上面跑Linux程序)
API:應用程序開發接口,調用編譯好的二進制文件要經過API接口調用
靜態庫:.a
動態庫:.so
ldd "二進制文件" :用來查看這個二進制文件調用了哪些庫
有不少庫會被多個文件同時調用
包管理器
二進制應用程序的組成部分
二進制文件、庫文件、配置文件(小工具不具有配置文件)、幫助文件
軟件包管理器:
debian:deb文件,dpkg包管理器 redhat:rpm文件,rpm包管理器
包命名和工具
包:分類和拆包
Application-VERSION-ARCH.rpm 主包
Application-devel-VERSION-ARCH.rpm 開發子包
Application-utils-VERSION-ARHC.rpm 其餘子包
Application-libs-VERSION-ARHC.rpm 其餘子包
包之間:可能存在依賴關係,甚至循環依賴
解決依賴包的管理工具:
yum:rpm包管理器的前段工具
apt-get:deb包管理器前段工具
zypper:suse上的rpm前段管理工具
ndf:Fedora 18+ rpm包管理器前端管理工具
管理和查看本機裝載的庫文件
ldconfig 加載庫文件
-v:查看目前全部正在加載的庫文件
配置文件:/etc/ld.so.conf.d/
軟件包管理器:
功能:可用來安裝、卸載、管理rpm後綴的文件
/var/lib/rpm數據庫中存儲了系統上安裝好的一系列rpm包信息,很重要,此目錄下的文件不能丟失
管理程序包的方式
使用包管理器:rpm 使用前段工具:yum
獲取程序包途徑:
(1)系統發版的光盤或官方服務器; Centos鏡像: http://www.centos.org/download/ http://mirrors.aliyun.com http://mirrors.sohu.com http://mirrors.163.com 第三方組織 Fedora-EPEL:光盤中沒有的軟件包會放在epel源中;
rpm包管理
安裝、卸載、升級、查詢、校驗、數據庫維護
安裝:
rpm {-i|--install}[install-options]包文件 -v:顯示安裝的詳細過程 -vv:更詳細的安裝過程 -h:安裝的時候顯示進度條 rpm -ivh 包名
[install-options]
--test:測試安裝,不真實安裝 --nodeps:忽略依賴關係 --replacepkgs 替換包(若是有一個包已經安裝,使用這個選項則是從新安裝,但同時也會覆蓋修改過的配置文件,若是不想覆蓋,則使用rpm2cpio "包名" | cpio -id 不想被覆蓋的文件路徑位置;則能夠實現單獨恢復某一個文件,可是複製過去屬性不必定一致,因此使用這種方法要注意) --replacefiles 兩個rpm包中有個別文件衝突的時候,要覆蓋的話則使用此選項
rpm包升級
rpm [-U|--upgrade] [install-options] 包名(若是有就版本升級,不存在舊版本則安裝,能夠當升級也能夠當安裝) rpm [-F|--freshen] [install-options] 包名(只能當升級,若是沒有舊版本就不安裝了) --oldpackage:降級使用,就是若是安裝的一個包比已經安裝的包的版本低,還須要它們同時存在的話,就須要使用這個選項,即便這樣安裝了,原先老的那個包仍是存在 --force:強制安裝
若是安裝了軟件而且修改了軟件內的一些文件,再卸載以後,配置文件會自動保存備份下來
rpm包查詢
rpm {-q|--query} [select-options] [query-options] rpm2cpio 包名 | cpio -tv (查看包裏面包括哪些文件) rpm -qlp rpm文件(表示一個包還沒裝)
[select-options]:
-q:查詢某個包是否安裝(通常要執行的操做全都要附上這個選項) -a:查詢全部安裝的包 -f:用來查詢文件是來自於哪個包 -p:針對未安裝的程序包文件作查詢操做 --whatprovides 包提供的功能:查詢哪個包擁有某一個功能 --whatrequires 哪一個包依賴的功能:查詢哪個包依賴這個功能 -e:卸載某個包
[query-options]:
--changelog:查詢rpm包的更改日誌 -c:查詢程序的配置文件 -d:查詢程序的文檔 -i:查詢包的信息 -l:查詢某個包安裝完成後生成的配置文件列表 --scripts:查詢某個包中是否帶有特定腳本 -R:查詢指定包依賴於什麼功能 --provides:與--whatprovides同樣的功能
包卸載:
rpm -e [--allmatches][--nodeps][--noscripts][--notriggers][--test] 包名
包校驗:
檢查包來源的合法性以及完整性
完整性嚴重:SHA256 來源合法性認證:RSA
公鑰加密:
對稱加密:加密、解密使用同一密鑰
非對稱加密:密鑰是成對兒的
public key: 公鑰,公開全部人
secret key: 私鑰, 不能公開
導入所須要公鑰
rpm -K rpmfile 檢查包的完整性和(簽名:包的一系列信息) rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 CentOS 7發行版光盤提供的公鑰:RPM-GPG-KEY-CentOS-7 rpm -qa "gpg-pubkey*"(查詢公鑰的位置)
Yum工具
注意:baseurl寫的yum倉庫的位置必定是repodata的上級目錄
本機配置yum,baseurl就要寫file://開頭的後面跟文件位置 yum第一次執行會將yum倉庫中的包元數據以及包組信息緩存到本地 當要使用新的yum倉庫的時候要清除緩存
yum:用於解決包之間的依賴性關係
yum的配置文件位置在/etc/yum.conf裏
$basearch:基礎平臺;i386, x86_64
$releasever:當前OS的發行版的主版本號
rpm包的元數據存放在repodata中
yum倉庫的設置
要在/etc/yum.repos.d下面建立一個後綴爲.repo文件,當中寫入配置文件信息
小技巧:當開機添加物理硬件系統不識別的時候,則可使用"echo '- - -' > /sys/class/scsi_host/host2/scan"命令
本地源的配置格式以下:
name="隨機的名字"
baseurl=file:///misc/cd(寫yum倉庫的存放位置)
gpgcheck=0(不檢查包的完整性以及可用性,不寫的話默認是開啓的)
enabled={0|1}(1是啓用這個yum倉庫,0則是暫時不啓用)
若是要開啓檢查包完整性可用性,則要在.repo文件中寫gpgkey=file:///"RPM-GPG-KEY-CentOS-7存在的位置"
一個文件中也能夠配置多個yum倉庫位置,當光盤中存在的包不夠充足的時候則須要配置epel源,yum也會自動去epel源的位置尋找
網絡yum源:
阿里雲:
https://mirrors.aliyun.com/centos/$releasever/os/x86_64/
EPEL的yum源:
阿里雲:
https://mirrors.aliyun.com/epel/$releasever/x86_64
當只有rpm包時將其製做成yum源的步驟
createrepo "位置" 就能夠製做出一個yum源
yum命令的用法:
yum [options] [command] [package ...]
顯示倉庫列表:
yum repolist [all|enabled|disabled]
顯示程序包:
yum list
yum list [all | glob_exp1(通配符)] [glob_exp2] [...]
yum list {available|installed|updates} [glob_exp1]
安裝程序包:
yum install package1 [package2] [...]
yum reinstall package1 [package2] [...] (從新安裝)
[options]
-q:靜默安裝
-y:不作交互式處理自動安裝
yum-config-manager --add-repo="yum倉庫位置"(直接建立一個.repo的文件,可是gpgcheck=0須要手動添加)
yum-config-manager --disable "倉庫名" 禁用倉庫
yum-config-manager --enable "倉庫名" 啓用倉庫
yum命令:
檢查可用升級:
yum check-update
升級程序包:
yum update 包名
yum downgrade 包名 (降級)
卸載程序包:
yum remove 包名
查看程序包信息:
yum info 包名
清理本地緩存:
清除/var/cache/yum/$basearch/$releasever緩存
yum clean [ packages | metadata | expire-cache |
rpmdb | plugins | all ]
構建緩存:
yum makecache
搜索:
yum search "關鍵字"
查看指定包所依賴的能力:
yum deplist 包名
查看yum操做歷史:
yum history [info|list|packages-list|packages-info|
summary|addon-info|redo(從新作一遍某一步)|undo(取消某一步的操做)|rollback|new|sync|stats]
yum history
例子:yum history info 6:查看第6部的歷史操做
例子:yum history undo 6:取消第6部的歷史操做
安裝及升級本地程序包:
yum install 包名(使用yum安裝rpm包,能夠自動解決依賴性問題)
yum update 包名
包組管理的相關命令:
yum groupinstall 包組名(安裝某個包組)
yum groupupdate 包組名(升級某個包組)
yum grouplist 包組名(查看包組信息)
yum groupremove 包組名(卸載某個包組)
yum groupinfo 包組(查看包租中包括的包)
yum常見選項:
yum install remove list -y repolist (clean all清除緩存) history