CentOS分割槽操作詳解
磁碟分割槽
分割槽格式的兩種選擇:MBR和GPT
分割槽命令:
parted的操作都是實時生效的,小心使用,主要是用於大於2T硬碟,支援MBR和GPT兩種格式。
用法:parted [選項]… [裝置[命令[引數]…]…]
parted /dev/sdb mklabel gpt|msdos
//選擇分割槽格式parted /dev/sdb print
//檢視分割槽parted /dev/sdb mkpart primary 1 200 (預設M)
//分出一個199M的分割槽parted /dev/sdb rm1
//刪除分割槽1==parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 1 1G
parted /dev/sdb print
parted /dev/sdb mkpart primary 1001 20G
parted /dev/sdb mkpart logical 20G 80G
parted /dev/sdb rm 1==
gdisk 主要是去分GPT格式 (支援2T以上)
gdisk -l [-u] [device…]
子命令:
- p 分割槽列表
- t 更改分割槽型別
- n 建立新分割槽
- d 刪除分割槽
- w 儲存並退出
- q 不儲存並退出
gdisk /dev/sdb Command (? for help): n Partition number (3-128, default 3):3 First sector (34-419430366, default = 44042240) or {+-}size{KMGTP}: Last sector (44042240-419430366, default = 419430366) or {+-}size{KMGTP}: +20g Hex code or GUID (L to show codes, Enter = 8300):一個ID號,預設就好 Command (? for help): p Command (? for help):w 存檔退出
fdisk 分MBR格式(2T以下推薦使用)
fdisk -l [-u] [device…]
子命令:
- p 分割槽列表
- t 更改分割槽型別
- n 建立新分割槽
- d 刪除分割槽
- w 儲存並退出
- q 不儲存並退出
fdisk /dev/sdb Command (m for help): m Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-419430399, default 2048): Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399):+1G(必須嚴格區分大小寫) Command (m for help): p Command (m for help): w
fdisk 實現非互動式分割槽:
echo -e "n\np\n1\n\n+1G\nw\n" |fdisk /dev/sdb
echo -e 啟用轉義符
- \a 發出警告聲
- \n 回車
檢視機器上有幾個分割槽的方法:
- lsblk
- fdisk -l
- ls /dev/sd*
- cat /proc/partitions
- echo ‘- - -’ > /sys/class/scsi_host/host2(可能不止一個)/scan(新插磁碟用這個可以看出來)
同步分割槽資訊:
cetos 5或者7 :partprobe-重新設定記憶體中的核心分割槽表版本
centos6 :
新增分割槽同步: partx -a /dev/sda
刪除分割槽同步: partx -d –nr 7-8 /dev/sda
查工具來自哪個包:
yum list |grep xfs 找安裝包
MBR和GPT格式相互轉換:
parted /dev/sdb mklabel msdos
**注意:分割槽名稱不穩定
分割槽同步問題
執行完每個命令一定要看下,驗證下結果,再做下一步。**
檔案系統
檔案系統是作業系統用於明確儲存裝置或分割槽上的檔案的方法和資料結構;即在儲存裝置上組織檔案的方法。作業系統中負責管理和儲存檔案資訊的軟體結構稱為檔案管理系統,簡稱檔案系統。
Linux檔案系統:ext2(Extended file system), ext3, ext4, xfs(SGI), btrfs(Oracle), reiserfs, jfs(AIX), swap
光碟:iso9660
Windows:fat32, ntfs
Unix: FFS(fast), UFS(unix), JFS2
網路檔案系統:NFS, CIFS
叢集檔案系統:GFS2, OCFS2(oracle)
分散式檔案系統:fastdfs,ceph, moosefs, mogilefs, glusterfs, Lustre
RAW:未經處理或者未經格式化產生的檔案系統
說明:
centos 7 預設 XFS
centos 6 預設 ext4
centos 5 預設 ext3
ext2與ext3相差一個日誌功能(journal)
blkid 檢視當前系統已有檔案系統
建立檔案系統
mkfs命令:
mkfs.FS_TYPE/dev/DEVICE
[[email protected]: /root]# mkfs.ext4 /dev/sdb1
[[email protected]: /root]# blkid
/dev/sdb1: UUID="fe5ae367-e43e-4a1e-b94e-43a472e3c941" TYPE="ext4"
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:關閉指定特性
[[email protected]: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3
blkid:塊裝置屬性資訊檢視
-U UUID: 根據指定的UUID來查詢對應的裝置
[[email protected]: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3
/dev/sda6-L LABEL:根據指定的LABEL來查詢對應的裝置
[[email protected]: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 //給裝置/dev/sdb2建立一個卷標/mnt/sdb2
[[email protected]: /root]# blkid
/dev/sdb2: LABEL=”/mnt/sdb2” UUID=”bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a”TYPE=”ext4”
[[email protected]: /root]# blkid -L /mnt/sdb2
/dev/sdb2
e2label:管理ext系列檔案系統的LABEL
e2label DEVICE [LABEL]
[[email protected]: /root]# blkid
/dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"
[[email protected]: /root]# e2label /dev/sdb2 /app/sdb2
[[email protected]: /root]# blkid
/dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"
findfs:查詢分割槽
findfs[options] LABEL=
[[email protected]: /root]# findfs LABEL="/app/sdb2"
/dev/sdb2
findfs[options] UUID=<uuid>
[[email protected]: /root]# findfs UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a"
/dev/sdb2
tune2fs:重新設定ext系列檔案系統可調整引數的值
-l:檢視指定檔案系統超級塊資訊;super block
-L ‘LABEL’:修改卷標
-m #:修預留給管理員的空間百分比
-j: 將ext2升級為ext3
-O: 檔案系統屬性啟用或禁用,–O
^has_journal
-o: 調整檔案系統的預設掛載選項,–o ^acl
-U UUID: 修改UUID號
dumpe2fs:
-h:檢視超級塊資訊,不顯示分組資訊
[[email protected]: /root]# dumpe2fs /dev/sdb1
tune2fs -l /dev/sdb1 查超級塊的資訊
# 檔案修復
- 常發生於宕機或者非正常關機之後
掛載為檔案系統標記為“no clean”
注意:一定不要在掛載狀態下修復
fsck: File System Check
fsck-t FS_TYPE
-p: 自動修復錯誤
-r: 互動式修復錯誤
FS_TYPE一定要與分割槽上已經檔案型別相同
e2fsck:ext系列檔案專用的檢測修復工具
-y:自動回答為yes
-f:強制修復
fsck /dev/sdb2 -y
注意:修復操作生產中慎用,儘量請專業公司來修復。
掛載
掛載:將額外檔案系統與根檔案系統某現存的目錄建立起關聯關係,進而使得此目錄做為其它檔案訪問入口的行為
解除安裝:為解除此關聯關係的過程
把裝置關聯掛載點:mount Point
解除安裝時:可使用裝置,也可以使用掛載點
umount
掛載點下原有檔案在掛載完成後會被臨時隱藏
掛載點目錄一般為空
掛載前一點要先檢視下掛載情況,一旦已經掛載某個裝置的目錄,一定不要去掛載其他裝置,不然以前目錄下裝置的檔案被隱藏,導致以前目錄中檔案無法訪問,嚴重話可能會導致部分服務宕機。
用mount命令掛載檔案系統
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 /dev/sdb1 /mnt/sdb1 //掛載
df //檢視
/dev/sdb1 999320 2564 927944 1% /mnt/sdb1
mount常用命令選項
- -t vsftype:指定要掛載的裝置上的檔案系統型別
- -r: readonly,只讀掛載
- -w: read and write, 讀寫掛載
- -n: 不更新/etc/mtab,mount不可見(隱藏掛載,只能使用cat /proc/mounts)
- -a:自動掛載所有支援自動掛載的裝置(定義在了/etc/fstab檔案中,且掛載選項中有auto功能)
- -L ‘LABEL’: 以卷標指定掛載裝置
- -U ‘UUID’: 以UUID指定要掛載的裝置
- -B, –bind: 繫結目錄到另一個目錄上
**檢視核心追蹤到的已掛載的所有裝置:
cat /proc/mounts**
-o options:(掛載檔案系統的選項),多個選項使用逗號分隔
async:非同步模式
sync:同步模式,記憶體更改時,同時寫磁碟
atime/noatime:包含目錄和檔案
diratime/nodiratime:目錄的訪問時間戳
auto/noauto:是否支援自動掛載,是否支援-a選項
exec/noexec:是否支援將檔案系統上執行應用程式
dev/nodev:是否支援在此檔案系統上使用裝置檔案
suid/nosuid:不否支援suid和sgid許可權
remount:重新掛載
ro:只讀
rw:讀寫
user/nouser:是否允許普通使用者掛載此裝置,預設管理員才能掛載
acl:啟用此檔案系統上的acl功能
Defaults:相當於rw, nosuid, dev, exec, auto, nouser, async
檢視掛載情況:
findmnt MOUNT_POINT
檢視正在訪問指定檔案系統的程序:
lsof MOUNT_POINT
fuser -v MOUNT_POINT
終止所有在正訪問指定的檔案系統的程序:
fuser -km MOUNT_POINT
取消掛載解除安裝:
umount DEVICE
umount MOUNT_POINT
檢視掛載關係
mount
cat /etc/mtab
cat /proc/mounts //隱藏掛載也可以看到
檔案掛載配置檔案
/etc/fstab每行定義一個要掛載的檔案系統;
#cat /etc/fstab
UUID=6ef6b1fe-1da4-406f-a028-3530d277e279 / ext4 defaults 0 0
從左到右依次解釋:
- 要掛載的裝置或偽檔案系統
- 掛載點
- 檔案系統型別
- 掛載選項
- 轉儲頻率
- 自檢次序
- 要掛載的裝置
目錄掛目錄的配置檔案寫法:
/boot /mnt/boot none bind 0 0
檔案系統掛檔案的配置檔案寫法:
/root/partfile /mnt/file ext4 loop 0 0
生效: mount -a
重新掛載某個裝置:
mount -o remount /mnt/sdb1
處理交換檔案和分割槽
交換分割槽是系統RAM的補充
基本設定包括:
建立交換分割槽或者檔案:
分割槽完需要改ID為82,預設為83,按t更新,L可以檢視可以更改的型別。
使用mkswap寫入特殊簽名
[[email protected]: /root]# mkswap /dev/sdb5 -L swap2
•在/etc/fstab檔案中新增適當的條目
vim /etc/fstab
:r!blkid /dev/sdb2 //vim下讀取某個分割槽的UUID
UUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2 swap defaults 0 0
•使用swapon -a 啟用交換空間
[[email protected]: /root]# swapon -a //重新讀取配置檔案生效
- swapon -s 檢視誰提供swap
U盤插入使用
U盤顯示的裝置名稱Sdd
sync強制寫U盤,使用三次。
光碟做ISO檔案
cp /dev/sro /root/centos6.iso
U盤做ISO
dd if=centos6.iso of=/dev/sdd
目錄做成ISO檔案
mkisofs -r -o etc.iso /etc/
直接掛載該檔案:
mount -o loop etc.iso /nmt/cdrom //只能做yum原始碼
eject -t /dev/sro //彈出光碟
tune2fs -l /dev/sdb1 查超級塊的資訊
掛載次數: mount count
tune2fs -C 33 /dev/sdb1
maximun mount
count:達到次數觸發檢查
tune2fs -c 33 /dev/sdb1
check interval: 天為單位
tune2fs -i 33w /dev/sdb1
default mount options: (none)
拒絕wang使用者訪問a檔案
setfacl -m u:wang:0 a
設定該項時可能系統不支援
1.需要掛載的時候加選項進去,
改配置檔案
/dev/sdb1 /mnt/sdb1 ext4 acl 0 0
2.tune2fs -o acl /dev/sdb1
tune2fs -l acl /dev/sdb1 //檢視超級塊資訊
看有沒有acl選項
1. tune2fs -l acl /dev/sdb1
2.mount
使用者線上的情況下,想要取消ACL功能
mount -o remout,noacl /mnt/sdb1
centos6 安裝系統時候的分割槽預設是有acl功能的。
centos7預設都有。
記住一個重要資訊:只要存到磁碟的資料就不會丟失,存到記憶體關機可能會丟失。
補充知識點:
ACL 是什麼?
ACL的全稱是 Access Control List (訪問控制列表) ,一個針對檔案/目錄的訪問控制列表。它在UGO許可權管理的基礎上為檔案系統提供一個額外的、更靈活的許可權管理機制。它被設計為UNIX檔案許可權管理的一個補充。
ACL允許你給任何的使用者或使用者組設定任何檔案/目錄的訪問許可權。
檢查是否支援ACL
ACL需要Linux核心和檔案系統的配合才能工作,當前我們能見到的大多數Linux發行版本預設都是支援的。但最好還是能夠先檢查一下:
sudo tune2fs -l /dev/sda1 |grep “Default mount options:”
Default mount options: user_xattr acl
我們能夠看到預設情況下(Default mount options:)已經加入 acl 支援了。
如何設定ACL
我們可以使用setfacl和getfacl命令來設定或觀察檔案/目錄的acl許可權。
setfacl
引數不多,直接列出來了:
setfacl [-bkRd] [{-m|-x} acl引數] 檔案/目錄名
-m :配置後面的 acl
引數給檔案/目錄使用,不可與 -x 合用;
-x :刪除後續的 acl 引數,不可與 -m 合用;
-b :移除所有的 ACL 配置引數;
-k :移除預設的 ACL 引數;
-R :遞迴配置 acl;
-d :配置“預設 acl
引數”,只對目錄有效,在該目錄新建的資料會引用此預設值;
getfacl
getfacl 檔案/目錄名
[[email protected]: /root]# setfacl -m u:xiangge:rwx aaa4
[1002][[email protected]: /root]# ll aaa4
-rw-rwxr--+ 1 root root 0 Apr 25 10:22 aaa4
[1003][[email protected]: /root]# getfacl aaa4
# file: aaa4
# owner: root
# group: root
user::rw-
user:xiangge:rwx
group::r--
mask::rwx
other::r--
針對組的提權使用 g就行
子檔案/目錄繼承父目錄的許可權
這是一個很棒的例子,它能讓我們建立的子檔案或者子資料夾繼承父資料夾的許可權設定!
mkdir mydir
ll -d mydir
drwxr-xr-x 2 root root 4096 May 28 09:35 mydir
setfacl –m d:u:apache:rwx mydir
注意引數 d 在這裡起到了決定性的作用。
檢視下屬性的變化:
getfacl mydir
...
default:user::rwx
default:user:apache:rwx
default:group::r-x
default:mask::rwx
default:other::r-x
多了些 default開頭的項,在mydir下建立一個新檔案試試:
touch mydir/abc
getfacl mydir/abc
...
user:apache:rwx #effective:rw-
group::r-x #effective:r--
mask::rw-
...
相關推薦
CentOS分割槽操作詳解
磁碟分割槽 分割槽格式的兩種選擇:MBR和GPT 分割槽命令: parted的操作都是實時生效的,小心使用,主要是用於大於2T硬碟,支援MBR和GPT兩種格式。 用法:parted [選項]… [裝置[命令[引數]…]…] pa
centos磁碟安裝與磁碟分割槽方案詳解
安裝前須知: 前幾天自己研究了下幾個linux系統,還是覺著centos要好一些。相對穩定點,起碼桌面系統還是比 ubuntu 強 安裝centos並不難,安裝方法多得是,像硬碟安裝,U盤安裝,最簡單方便得當然是光碟安裝,而且燒錄一張管盤僅僅需要10分鐘,比硬碟安裝和U盤安裝需要仔細研究大量得說明
hive開發中對分割槽的各種操作詳解
hive開發中,在儲存資料時,為了更快地查詢資料和更好地管理資料,都會對hive表中資料進行分割槽儲存。所謂的分割槽,在hive表中體現的是多了一個欄位。而在底層檔案儲存系統中,比如HDFS上,分割槽則是一個資料夾,或者說是一個檔案目錄,不同的分割槽,就是資料存放在根
MongoDB增刪改查操作詳解
添加多個 負數 指定 cal lib 定位 也會 pan str 一、插入 MongoDB的插入操作很簡單,使用insert方法,這裏演示從創建數據庫、創建集合到插入文檔、查詢文檔。 集合創建方法參數說明: size:集合最大空間 max:集合最多文檔數量 (超出si
CentOS Apache配置詳解
先來 page over oca 基於ip chmod 程序 ror 接收 要想在linux上實現網頁服務器(www)需要Apache這個服務器軟件,不過Apache僅能提供最基本的靜態網站數據而已,想要實現動態網站的話,最好還是要PHP與MySQL的支持,所以下面我們將會
轉載:centos安裝gitlab詳解
smtp發送郵件 下載 ror mage package nload git clone 輸入 clas 原文地址:http://blog.csdn.net/jiangtao_st/article/details/73612298 一, 服務器快速搭建gitlab方法 可以
CentOS安裝流程詳解
菜鳥取經路之linux系統安裝 對於剛剛接觸Linux的人們來說,遇到的第一個問題便是如何快速安裝一個Linux系統。我初次接觸 Linux時也是摸索許久才安裝成功。鑒於此,今天就給大家帶來完整詳細的Linux安裝過程。一、準備安裝所需的軟件 1、VMwareWorkstation
Git遠程操作詳解
命令使用 eight conf 分支 master 選項 pull pru ase 一、git clone git clone <版本庫網站> git clone https://github.com/jquery/jquery.git 克隆jQuery的版
【轉】 C語言文件操作詳解
pri void rfi 識別 archive format 隨機 stat 文本文 轉自:http://www.cnblogs.com/likebeta/archive/2012/06/16/2551780.html C語言中沒有輸入輸出語句,所有的輸入輸出功能都用
JMeter數據庫操作詳解
idt .cn username logs word api family -1 用戶名 Jmeter提供了JDBC連接的插件,通過執行SQL語句的java API,實現對數據庫的訪問和查詢。 一、安裝驅動包 將需要連接JDBC的jar包放入jmeter安裝文件的lib
DNS基本概念及操作詳解----------------轉載
dns介紹 DNS基本概念及操作詳解目錄:1.DNS協議2.DNS查詢 2.1遞歸查詢 2.2跌代查詢 2.3反向查詢3.域維護 3.1全量AXFR傳輸 3.2增量IXFR傳輸 3.3通過NOTIFY 3.4動態更新4.DNS安全 在很多人看來,DNS只是為外部提供DNS解析服務(我以前也是這麽認為
CentOS 6安裝詳解及PXE 安裝
ges ide 運行 name partition top 遠程 nec cal Linux系統安裝詳解 註: Tab鍵 編輯選項 esc鍵可以返回去 vmlinuz initrd=initrd.img 後面加 rescue相當於進入
(轉載)Resize Instance 操作詳解
可能 compute api 消息 confirm 詳細分析 tin 相同 .cn (轉載)Resize Instance 操作詳解 - 每天5分鐘玩轉 OpenStack(41) 原文路徑:https://www.cnblogs.com/CloudMan6/p/55482
VB ListView控件各種操作詳解
auto .com 設置 查看 右鍵 src 行為 ade 在線 VB ListView控件各種操作詳解 [vb] view plaincopy Private Sub Form_Load() ‘ListView1.SmallIcon
SQL Server2008及以上 表分區操作詳解
value 詳細 分享 指令 pos 分割 分區方案 別了 分區 1. 創建分區函數 2. 創建分區方案 3. 對表進行分區 下面將對每個步驟進行詳細介紹。 步驟一:創建一個分區函數 此分區函數用於定義你希望SQL Server如何對數據進行分
Git遠程操作詳解(新手必備)
tar etc rename 也有 mas 本地文件 轉載 其中 efault Git是目前最流行的版本管理系統,學會Git幾乎成了開發者的必備技能。 Git有很多優勢,其中之一就是遠程操作非常簡便。本文詳細介紹5個Git命令,它們的概念和用法,理解了這些內容,你就會完全掌
C語言學習系列——文件讀寫操作詳解
記錄 源程序 8.4 lib 令行 stdio.h 空串 表示 參數 當文件按指定的工作方式打開以後,就可以執行對文件的讀和寫。下面按文件的性質分類進行操作。針對文本文件和二進制文件的不同性質,對文本文件來說,可按字符讀寫或按字符串讀寫;對二進制文件來說,可進行
linux零基礎學習之Linux sed 命令常用操作詳解
延伸 進行 數據 12px -i 空白 字符串 options 信息 sed是Linux系統中一個很好的文件處理工具,可以對數據進行替換、刪除、新增以及選取等操作,使用起來也十分方面,以下是全面的sed操作介紹。sed命令行格式:sed [options] 'com
CentOS DNS服務詳解與基於bind的智能DNS
cfa oba 主從 err 正向解析 程序 管理員 hint 查詢方式 Linux中通常使用bind來實現DNS服務器的架設 安裝bind 安裝DNS服務軟件Bind和相應工具包 #yum install bind bind-utils -y #service named
二叉搜索樹的刪除操作詳解(BST)
子節點 沒有 解釋 找到 bst 左右 直接 元素 改變 一、思想:分類討論 二、二叉搜索樹的刪除操作具體討論分如下四種情況:(記我們要刪除的節點為D) 1、如果D節點既沒有左孩子,也沒有右孩子,那麽直接刪除就好了; 2、如果D節點只有左孩子,沒有右孩子,那麽只