btrfs的特性:
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站設(shè)計(jì)、嘉祥網(wǎng)絡(luò)推廣、微信小程序開發(fā)、嘉祥網(wǎng)絡(luò)營(yíng)銷、嘉祥企業(yè)策劃、嘉祥品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供嘉祥建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:aaarwkj.com
1.可擴(kuò)展性:
extent是最小的邏輯單元,每個(gè)extent是由一組連續(xù)的block組成;
ext文件系統(tǒng)的inode數(shù)量是一定的,btrfs的inode數(shù)量是動(dòng)態(tài)可調(diào)整的;
2.多物理卷支持:
btrfs可以跨越多個(gè)物理設(shè)備動(dòng)態(tài)的增加或減少設(shè)備來(lái)達(dá)到擴(kuò)容或縮容的目的;而且從技術(shù)角度來(lái)講,btrfs還支持raid0,raid1,raid5,raid10等;還可以支持在線添加,刪除及修改設(shè)備;
3.寫時(shí)復(fù)制更新機(jī)制(COW,Copy on Write)
所謂的COW就是每次寫磁盤數(shù)據(jù)的時(shí)候,先將當(dāng)前塊的數(shù)據(jù)復(fù)制到一個(gè)新塊中,在新塊中進(jìn)行數(shù)據(jù)更新寫入,當(dāng)新塊寫入完成后,只需將原來(lái)指向舊塊的指針指向新塊即可
4.雙重校驗(yàn)機(jī)制--數(shù)據(jù)及元數(shù)據(jù)都有校驗(yàn)碼:checksum
5.支持子卷:子文件系統(tǒng)
6.支持快照卷:
對(duì)父卷做快照
對(duì)子卷做快照
對(duì)快照卷左快照
7.透明壓縮,隱形壓縮:
mkfs.btrfs
-L:為即將創(chuàng)建的btrfs文件系統(tǒng)指定卷標(biāo)
-d:為數(shù)據(jù)存儲(chǔ)指定類型;可以選擇的類型:raid0, raid1, raid5, raid6, raid10 or single.
-m:指定元數(shù)據(jù)的存儲(chǔ)方式;可以選擇的類型有:raid0, raid1, raid5, raid6, raid10, single or dup.
-O:指定btrfs文件系統(tǒng)的特性,如果想要查看某些特性 mkfs.btrfs -O list-all
可以使用支持btrfs文件系統(tǒng)的mount命令中使用下列方式透明壓縮功能
mount -o compress={lzo|zlib} DEVICE MOUNT_POINT
btrfs
btrfs - control a btrfs filesystem
btrfs <command> [<args>]
btrfs filesystem show
查看btrfs文件系統(tǒng)的詳細(xì)屬性;
btrfs filesystem df /mnt/btrfs/(MOUNT_POINT)
查看文件系統(tǒng)的掛載和使用情況
例:btrfs filesystem df /mnt/btrfs/
在線修改文件系統(tǒng)
btrfs filesystem resize {+|-}SIZE[kKgGtTmMpPeE] MOUNT_POINT
例:btrfs filesystem resize -15G /mnt/btrfs/
btrfs filesystem resize +5G /mnt/btrfs/
btrfs filesystem resize max /mnt/btrfs/
向btrfs文件系統(tǒng)添加或刪除設(shè)備
btrfs device
btrfs device add [options] <device> [<device>...] <path>
向文件系統(tǒng)中添加一個(gè)新設(shè)備
btrfs device delete <device> [<device>...] <path>
從文件系統(tǒng)中刪除一個(gè)設(shè)備
平衡數(shù)據(jù)
btrfs balance start [options] <path>
開啟跨設(shè)備的chunk的數(shù)據(jù)平衡
-mconvert={radi0|raid1|raid5|radi10|raid6|single|dup}
改變?cè)獢?shù)據(jù)的數(shù)據(jù)平衡布局方式
例:btrfs balance start -mconvert=raid5 /mnt/btrfs/
-dconvert={radi0|raid1|raid5|radi10|raid6|single}
改變數(shù)據(jù)的數(shù)據(jù)平衡布局方式
例:btrfs balance start -dconvert=raid6 /mnt/btrfs/
btrfs balance pause <path>
暫停數(shù)據(jù)平衡
btrfs balance cancel <path>
取消正在運(yùn)行的或已經(jīng)暫停的數(shù)據(jù)平衡
btrfs balance resume <path>
Resume interrupted balance恢復(fù)被打斷的數(shù)據(jù)平衡
btrfs balance status [-v] <path>
顯示正在運(yùn)行的或已經(jīng)暫停的數(shù)據(jù)平衡的狀態(tài)信息
Show status of running or paused balance
子卷管理:
btrfs subvolume create [-i <qgroupid>] [<dest>/]<name>
創(chuàng)建子卷
例:btrfs subvolume create /mnt/btrfs/mysub1/
btrfs subvolume delete [options] <subvolume> [<subvolume>...]
刪除子卷
例:btrfs subvolume delete /mnt/btrfs/mysub1/
子卷類似于ext文件系統(tǒng)中將其他分區(qū)掛在到根目錄下的某個(gè)空閑子目錄的分區(qū)
快照
btrfs subvolume snapshot [-r] [-i <qgroupid>] <source> <dest>|[<dest>/]<name>
例:btrfs subvolume show <subvol-path>
顯示子卷的信息
btrfs subvolume show /mnt/btrfs/mysub1/
創(chuàng)建指定子卷的快照卷
btrfs subvolume snapshot /mnt/btrfs/mysub1/ /mnt/btrfs/snap_mysub1
將btrfs和ext系列進(jìn)行轉(zhuǎn)換
btrfs-convert
將ext系列文件系統(tǒng)裝換為btrfs
btrfs-convert /dev/sdb1
注意:/dev/sdb1分區(qū),必須事先格式化為ext系列文件系統(tǒng)
將文件系統(tǒng)btrfs回滾到ext
btrfs-convert -r /dev/sdb1
磁盤配額:
文件服務(wù)器:共享存儲(chǔ)空間,讓用戶能夠隨時(shí)存儲(chǔ)數(shù)據(jù);
FTP:
SMB:
網(wǎng)盤:急速上傳
磁盤配額主要是針對(duì)于這類文件服務(wù)器進(jìn)行用戶的磁盤空間使用限制而提出的
磁盤配額的設(shè)定對(duì)象
1.能夠?qū)嵤┳x寫操作的塊設(shè)備
2.要有正確的文件系統(tǒng);
磁盤配額主要限制哪些人的訪問(wèn)行為
1.用戶
為指定的用戶限定磁盤使用量
1)磁盤空間(塊);一個(gè)block的限制代表1kb存儲(chǔ)空間
2)inode
2.組
限制指定組中所有成員的磁盤使用量總和
磁盤配額的類型
1.soft limit:軟限制
當(dāng)用戶的磁盤使用量達(dá)到了軟配額限制將會(huì)啟動(dòng)寬限期倒計(jì)時(shí);在倒計(jì)時(shí)歸0之前,用戶可以正常使用剩余的配額量,一旦倒計(jì)時(shí)到0,意味著用戶將不能繼續(xù)使用磁盤空間,除非將數(shù)據(jù)進(jìn)行清理,低于軟限制,此時(shí)可以繼續(xù)使用磁盤空間;
2.hard limit: 硬限制
用戶所能使用的磁盤空間的真正上限
一般來(lái)講,軟限制要低于硬限制的數(shù)值,
在Linux中默認(rèn)寬限期為7天
需要一個(gè)用戶記錄用戶和組的磁盤使用量和配額量的數(shù)據(jù)文件
aquota.user
aquota.group
如果想要讓分區(qū)或卷能夠支持磁盤配額的設(shè)定,需要單獨(dú)的掛載選項(xiàng)
usrquota grpquota
1.mount -o usrquota,grpquota DEVICE MOUNT_POINT
2.ect/fstab
DEVICE(設(shè)備) MOUNT_POINT FYTYPE defaults,usrquota,grpquota 0 0
quotacheck
quotacheck - scan a filesystem for disk usage, create, check and repair quota files
-v:顯示整個(gè)操作過(guò)程的詳細(xì)信息
-g:創(chuàng)建,檢測(cè)和修復(fù)組配額文件
-u:創(chuàng)建,檢測(cè)和修復(fù)用戶配額文件
-c:經(jīng)過(guò)檢測(cè),如果沒有用戶配額文件或組配額文件,就按照用戶給定的選項(xiàng)進(jìn)行文件的創(chuàng)建
-a:所有的在/dec/fstab中包含了與磁盤配額有關(guān)的掛載選項(xiàng)的設(shè)備上是否有對(duì)應(yīng)選項(xiàng)的配額文件
用于編寫配額內(nèi)容的命令
edquota
-u:編寫用戶配額,默認(rèn)的功能
-g:編寫組配額,不推薦使用
-t:設(shè)置超出軟限制的寬限期,默認(rèn)7天,可以選擇以秒,分鐘,小時(shí),天等時(shí)間單位
使配額功能生效
quotaon,quotaoff
quotaon|quotaoff /dev/sdb1
查看配額使用情況
quota
repquota(只用root用戶可以使用)
注意:root不受磁盤配額限制;
Linux程序包管理
程序:指令+數(shù)據(jù)
面向?qū)ο蟪绦颍核惴?數(shù)據(jù)結(jié)構(gòu)
應(yīng)用程序的存在形式,
1.源代碼形式:包含了整個(gè)應(yīng)用程序的編程語(yǔ)言的所有代碼的文本文件
2.二進(jìn)制:將源代碼經(jīng)過(guò)一系列的轉(zhuǎn)換操作之后得到的可以直接執(zhí)行的文件
使用源代碼來(lái)安裝應(yīng)用程序
1.預(yù)處理(預(yù)處理器) -->編譯(編譯器) -->匯編(匯編器) -->鏈接(鏈接器) --> 可以直接執(zhí)行的二進(jìn)制程序文件
POSIX:POS,可移植操作系統(tǒng)
API:應(yīng)用編程接口
ABI:應(yīng)用二進(jìn)制接口
庫(kù)級(jí)別的兼容,庫(kù)級(jí)別的虛擬化;
cywin:在Windows系統(tǒng)中能模擬Linux的共享庫(kù)
winE:在Linux系統(tǒng)中模擬Windows的庫(kù)
應(yīng)用級(jí)編程語(yǔ)言
Java/Python/Perl/ruby/PHP/GO
系統(tǒng)級(jí)編程語(yǔ)言
C/C++
Linux
unix
要想能夠進(jìn)行源代碼的編譯,需要有編譯開發(fā)環(huán)境支持
C/C++:
編譯開發(fā)環(huán)境:預(yù)處理器,編譯器,頭文件,開發(fā)庫(kù)文件
Java/Python:
編譯開發(fā)環(huán)境:預(yù)處理器,編譯器,開發(fā)庫(kù)文件
通常情況下,源代碼文件是多個(gè)文件組成的,這些文件之間存在著一定的關(guān)聯(lián)關(guān)系,我們稱這種關(guān)聯(lián)關(guān)系為依賴關(guān)系;
autoconf
automake
軟件項(xiàng)目構(gòu)建工具:
C/C++:make
java:maven
Python:buildout
程序包管理器:
在指定的系統(tǒng)當(dāng)中進(jìn)行程序的安裝、卸載、升級(jí)、查詢及校驗(yàn)等工作;
不同的Linux發(fā)行版本有著不同的程序包管理器
Debian:dpt .deb后綴名的包文件; dpkg管理工具;
redhat:rpm,rpm管理工具,.rpm后綴名;
rpm成為L(zhǎng)inux的程序包管理器的行業(yè)標(biāo)準(zhǔn)
rpm是使用perl語(yǔ)言編寫的,用C語(yǔ)言重新rpm
rpm is package manager
S.u.S.E:rpm,.rpm后綴名,
Gentoo:采用了FreeBSd emerge管理工具
ArchLinux:pacman管理機(jī)制
以centos為例,rpm程序包管理器的相關(guān)內(nèi)容
centos的程序包的管理器:
程序包的命名規(guī)則:
源代碼包:
software_name-VERSION.tar.gz
VERSION:major.minor.release
major: 主版本號(hào),通常代表重大功能改進(jìn)的版本分支
minor:次版本號(hào),通常代表在某個(gè)版本的分支中的某個(gè)功能發(fā)生變化;
release:發(fā)行版本號(hào),修復(fù)了某些bug或者對(duì)某段代碼進(jìn)行了優(yōu)化;
rpm程序包命名規(guī)則
源碼包
software_name-VERSION.src.rpm
二進(jìn)制包
software_name-VERSION-[release].[os].arch.rpm
VERSION:major.minor.release
[release]: rpm封包的發(fā)行版本號(hào)
[os]:軟件所支持的操作系統(tǒng)的版本信息el6,el7,suse11···
arch:硬件平臺(tái)類型,i386,i686,sparc···
在制作rpm程序包的時(shí)候,通常其制作者會(huì)采用分包技術(shù)來(lái)構(gòu)建rpm程序包
根據(jù)程序的不同功能,構(gòu)建多個(gè)程序包
被分包的程序包一般包括兩類:
主程序包:
software_name-VERSION-[release].[os].arch.rpm
附屬功能包:
software_name-function-VERSION-[release].[os].arch.rpm
一般來(lái)講,主程序包和附屬功能包具有相同的版本號(hào),發(fā)行版本號(hào),操作系統(tǒng)及兼容平臺(tái)的標(biāo)識(shí)
所以,主程序包往往被所有的附屬功能包所依賴,不安裝主程序包,就不能安裝附屬功能包
function:devel,utils,libs,tools,manual···
程序包管理的前端工具:
RHEL|Centos系統(tǒng)的前端管理工具:yum,Yellow Dog Update Midifier
yum在實(shí)施安裝升級(jí)卸載等工作的時(shí)候,會(huì)開啟事務(wù);
所謂事務(wù),將整個(gè)操作過(guò)程視為一個(gè)整體,要么全執(zhí)行,要么全不執(zhí)行
debian系的前端工具:apt-get,apt-cache
apt-get:實(shí)現(xiàn)安裝、卸載等功能
apt-cache:實(shí)現(xiàn)基于關(guān)鍵字進(jìn)行搜索功能,管理本地緩存及緩存的元數(shù)據(jù)
suse前端工具:zypper
rpm程序包管理工具
1.rpm命令行工具
2.yum工具;
rpm命令行工具
功能:
1.將編譯好的應(yīng)用程序的各個(gè)組成文件打包成一個(gè)或多個(gè)程序包文件
2.軟件包的安裝、卸載、升級(jí)、查詢、校驗(yàn)及數(shù)據(jù)庫(kù)管理功能
rpm程序包中文件的組成清單:
1.程序的文件
2.文件清單
3.軟件安裝或卸載時(shí)所運(yùn)行的腳本文件 共分為4類:
preinstall:在正式的安裝操作開始之前所運(yùn)行的腳本,%pre
postinstall:在安裝完成之后所執(zhí)行的腳本,%post
preuninstall:在正式卸載操作開始之前所運(yùn)行的腳本, %preun
postuninstall:在卸載完成后所執(zhí)行的腳本,%postun
rpm數(shù)據(jù)庫(kù)(公共)
已經(jīng)安裝好的程序包名稱及版本
/var/lib/rpm
獲取程序包的途徑
1.系統(tǒng)的發(fā)行版的光盤
2.官方的文件服務(wù)器或者鏡像站點(diǎn); http://mirrors.aliyun.com https://mirrors.tuna.tsinghua.edu.cn
3.某個(gè)項(xiàng)目的官方站點(diǎn)
4.第三方組織制作的rpm程序包站點(diǎn) Fedora EPEL:紅帽光放的社區(qū)組織,在鏡像站點(diǎn)中也包含EPEL鏡像
特殊的搜索引擎: http://pkgs.org http://rpmfind.net
5.自己制作
建議:在獲得程序包之后,實(shí)施完整性檢查
來(lái)源合法性:
通過(guò)程序提供者的數(shù)字簽名加密的數(shù)據(jù),通過(guò)其公鑰進(jìn)行解密驗(yàn)證;
程序包完整性
校驗(yàn)碼sha-1
rpm和yum兩個(gè)工具的使用
rpm命令行工具:
安裝、卸載、升級(jí)(降級(jí))、查詢、文件校驗(yàn)、驗(yàn)證和數(shù)據(jù)庫(kù)維護(hù);
rpm命令的通用選項(xiàng)
-v:顯示安裝例程的信息,僅僅顯示安裝軟件名
-vv:顯示非常詳細(xì)的操作信息
安裝:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
install-options
-h:用50個(gè)#來(lái)表示安裝進(jìn)度
--test:并不是真正的安裝軟件包,僅僅是測(cè)試是否在安裝時(shí)能夠正常完成,dry run模式;
--nodeps:忽略因?yàn)橐蕾囮P(guān)系導(dǎo)致的安裝錯(cuò)誤,不建議使用;
--replacefiles:在安裝軟件包時(shí),軟件包中的文件會(huì)直接將原來(lái)安裝的文件替換
--replacepkgs:無(wú)需卸載軟件包而重新安裝
--noscripts:不運(yùn)行任何腳本
--nopre:安裝前腳本
--nopost:安裝后腳本
--nosignature:不考慮安裝包的來(lái)源是否合法
--nodigest:不考慮軟件包是否完整;
例:~]# rpm -ivh php-MySQL-5.3.3-40.el6_6.x86_64.rpm php-pdo-5.3.3-40.el6_6.x86_64.rpm
升級(jí)
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
如果選擇被安裝的程序包事先未被安裝,則全新安裝,如果已經(jīng)安裝了舊版本,則可以升級(jí)安裝
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
僅僅只能對(duì)已經(jīng)安裝的低版本的程序包進(jìn)行升級(jí)安裝
常用選項(xiàng)與安裝相同
--oldpackage:降級(jí)安裝,用老版本的程序包替換新版本的程序包
--force:強(qiáng)制升級(jí)
注意
1.強(qiáng)烈建議:不要對(duì)內(nèi)核進(jìn)行升級(jí)操作;Linux可以支持多內(nèi)核,可以直接安裝新版本的內(nèi)核,在啟動(dòng)界面可以手動(dòng)更換
2.升級(jí)安裝可能會(huì)帶來(lái)文件的變化,因此,系統(tǒng)默認(rèn)不會(huì)直接更改之前安裝過(guò)的軟件的配置文件,新程序包中的配置文件會(huì)被重命名,通常會(huì)是:FINENAME.rpmnew
卸載:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts]
[--notriggers] [--test] PACKAGE_NAME ...
--allmatches:卸載所有匹配指定名稱的程序包的各個(gè)版本;
--nodeps:卸載時(shí)忽略依賴關(guān)系,不推薦使用
--test:測(cè)試卸載,dry run模式
查詢:
rpm {-q|--query} [select-options] [query-options]
PACKAGE_NAME:直接給出程序包名
-a:查詢所有已經(jīng)安裝的程序信息
-f FILE:查找指定的文件是由哪個(gè)程序包提供的
-p PACKAGE_NAME:對(duì)還沒有安裝的程序包文件執(zhí)行查詢操作
--whatprovides CAPABILITY:查詢指定的CAPABILITY是由哪個(gè)程序包所提供的
--whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個(gè)程序包所依賴
query-options
--changelog:查詢r(jià)pm程序包的changelog
-c,--configfiles:查詢制定程序包中有哪些配置文件
-d,--docfiles:查詢制定程序包中有哪些文檔文件
-i,--info:查詢程序包相關(guān)的信息,包括版本號(hào),發(fā)行號(hào)等
-l,--list:列表顯示程序包安裝會(huì)生成哪些文件
--provides:列出指定程序包提供的所有的CAPABILITY;
-R,--requires:查詢指定程序包的依賴關(guān)系;
--scripts:查看程序包所攜帶的腳本的內(nèi)容;
具體使用方法:
-qf FILE
-qc|-ql|-qd|-qi PACKAGE_NAME
-qpl|-qpc|-qpd|-qpi PACKAGE_FILE
校驗(yàn):
rpm {-V|--verify} [select-options] [verify-options]
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
認(rèn)證:
rpm --import /PATH/TO/KEY_FILE
rpm -K /PATH/TO/PACKAGE_FILE
數(shù)據(jù)庫(kù)管理:
數(shù)據(jù)庫(kù)的初始化和重建
/var/lib/rpm
rpm {--initdb|--rebuilddb}
[--dbpath DIRECTORY]
網(wǎng)站題目:btrfs、磁盤、rpm等
標(biāo)題鏈接:http://aaarwkj.com/article38/pchjpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、小程序開發(fā)、網(wǎng)站收錄、全網(wǎng)營(yíng)銷推廣、網(wǎng)站排名、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)