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