linux總結

Liunx--總結

磁盤存儲和文件系統
磁盤存儲

機械硬盤:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等幾個部分組成
固態硬盤:用固態電子存儲芯片陣列而製成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成

一、硬盤存儲術語
head:磁頭
track:磁道
cylinder:柱面--同一磁道稱爲柱
sector:扇區,512bytes

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

二、磁盤兩種分區方式: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字節爲分區項1、分區項2、分區項3、分區項4
3.結束標誌字,偏移地址01FE--01FF的2個字節值爲結束標誌55AA

GPT分區:GPT:GUID(Globals Unique Identifiers) partition|table(分區表)支持128個分區,使用64位,支持8Z( 512Byte/block )64Z ( 4096Byte/block)

使用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 查看文件系統
一、創建文件系統命令 (下面命令兩兩一組,每組的選項基本通用)
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>

二、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每行定義一個要掛載的文件系統
1、要掛載的設備或僞文件系統
設備文件 LABEL:LABEL="" UUID:UUID=""
僞文件系統名稱:proc, sysfs
2、掛載點
3、文件系統類型:ext4,xfs,iso9660,nfs,none
4、掛載選項:defaults ,acl,bind -o 的選項
5、轉儲頻率:0:不做備份 1:每天轉儲 2:每隔一天轉儲
6、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功能

三、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

1、備份:
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
將壓縮的備份文件恢復到指定盤

2、拷貝內存資料到硬盤
dd if=/dev/mem of=/root/mem.bin bs=1024
將內存裏的數據拷貝到root目錄下的mem.bin文件

3、從光盤拷貝iso鏡像
dd if=/dev/cdrom of=/root/cd.iso
拷貝光盤數據到root文件夾下,並保存爲cd.iso文件

4、銷燬磁盤數據
dd if=/dev/urandom of=/dev/sda1
利用隨機的數據填充硬盤,在某些必要的場合可以用來銷燬數據,執行此操作以後,/dev/sda1將無法掛載,創建和拷貝操作無法執行

5、得到最恰當的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大小

6、測試硬盤寫速度
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"命令

本地源的配置格式如下:

base

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章