(轉)CentOS分區操作詳解

CentOS分區操作詳解

原文:http://blog.csdn.net/yonggeit/article/details/77924393

磁盤分區

分區格式的兩種選擇: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

 [root@centos6: /root]# mkfs.ext4 /dev/sdb1 
[root@centos6: /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:關閉指定特性

[root@centos6: /root]# mke2fs -t ext3 -b 4096 -L /mnt/sdb3 -i 8192 -m 3 /dev/sdb3

blkid:塊設備屬性信息查看

  • -U UUID: 根據指定的UUID來查找對應的設備

    [root@centos6: /root]# blkid -U 7e927cef-2b89-4091-a5ec-6170b0fbedb3?
    /dev/sda6

  • -L LABEL:根據指定的LABEL來查找對應的設備

    [root@centos6: /root]#mkfs.ext4 -L /mnt/sdb2 /dev/sdb2 //給設備/dev/sdb2創建一個卷標/mnt/sdb2?
    [root@centos6: /root]# blkid?
    /dev/sdb2: LABEL=”/mnt/sdb2” UUID=”bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a”TYPE=”ext4”?
    [root@centos6: /root]# blkid -L /mnt/sdb2?
    /dev/sdb2

e2label:管理ext系列文件系統的LABEL

e2label DEVICE [LABEL]

 [root@centos6: /root]# blkid
/dev/sdb2: LABEL="/mnt/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4" 
[root@centos6: /root]# e2label  /dev/sdb2 /app/sdb2
[root@centos6: /root]# blkid
/dev/sdb2: LABEL="/app/sdb2" UUID="bdd7338f-c2c4-44ff-8ab2-ee6c4b46480a" TYPE="ext4"

findfs:查找分區

findfs[options] LABEL=

[root@centos6: /root]# findfs LABEL="/app/sdb2"
/dev/sdb2
findfs[options] UUID=<uuid>
[root@centos6: /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:查看超級塊信息,不顯示分組信息

    [root@centos6: /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

注意:

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/fstabUUID=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寫入特殊簽名

[root@centos6: /root]# mkswap  /dev/sdb5  -L swap2

?在/etc/fstab文件中添加適當的條目

 vim /etc/fstab:r!blkid  /dev/sdb2 //vim下讀取某個分區的UUIDUUID=09149535-ae7e-4b41-bba7-917aa8d1cc19 /mnt/swap2  swap  defaults 0 0

?使用swapon -a 激活交換空間

 [root@centos6: /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 文件/目錄名

   [root@localhost: /root]# setfacl -m u:xiangge:rwx aaa4 [1002][root@localhost: /root]# ll aaa4 -rw-rwxr--+ 1 root root 0 Apr 25 10:22 aaa4[1003][root@localhost: /root]# getfacl aaa4 # file: aaa4# owner: root# group: rootuser::rw-user:xiangge:rwxgroup::r--mask::rwxother::r--

針對組的提權使用 g就行

子文件/目錄繼承父目錄的權限

這是一個很棒的例子,它能讓我們創建的子文件或者子文件夾繼承父文件夾的權限設置!

 mkdir mydirll -d mydirdrwxr-xr-x 2 root root 4096 May 28 09:35 mydirsetfacl –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-
...

轉載于:https://www.cnblogs.com/liujiacai/p/7798897.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252978.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252978.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252978.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux驅動中地址空間轉換

在linux kernel 中&#xff0c;物理地址是不能直接使用的&#xff0c;必須通過轉換才可以。轉換分為兩種&#xff0c; 靜態和動態。 靜態就是下面那種&#xff0c;不過&#xff0c;靜態的地址轉換&#xff0c;還需要在kernel 初始化的時候作映射。 動態映射是使用 ioremap 函…

getClass()和.class的區別

getClass()和.class的區別 在學習反射時想到了這個問題&#xff0c;.getClass()和.class有沒有什么區別&#xff1f; 當然&#xff0c;最明顯的區別就是.getClass()是一個對象實例的方法&#xff0c;只有對象實例才有這個方法&#xff0c;具體的類是沒有的。類的Class類實例是通…

華為敏捷 DevOps 實踐:產品經理如何開好敏捷回顧會議

開篇小故事&#xff1a;前幾年&#xff0c;一本叫《沉思錄》的書在國內突然曝光度很多&#xff0c;因為前某國家領導人“擺案頭&#xff0c;讀百遍”。《沉思錄》是古羅馬皇帝馬可奧勒寫給自己的書&#xff0c;內容大部分是在鞍馬勞頓中寫的。其實有一句“我們所聽到的不過只是…

斐波那契數列的鬼畜的性質

斐波那契數列的鬼畜的性質 斐波那契數列定理1 \(gcd(f[i],f[i1])1\) 利用輾轉相減法 證明&#xff1a;\(gcd(f[i],f[i1])\)\(gcd(f[i1]-f[i],f[i])\)\(gcd(f[i-1],f[i])\)\(....\)\(gcd(f[1],f[2])1\) 斐波那契數列定理2 \(f[mn]f[m-1]f[n]f[m]f[n1]\) 證明&#xff1a;\(f[mn]…

xml與java對象轉換 -- XStreamAlias

XStreamAlias使用 一、 特點: 簡化的API; 無映射文件; 高性能,低內存占用; 整潔的XML; 不需要修改對象;支持內部私有字段,不需要setter/getter方法 提供序列化接口; 自定義轉換類型策略; XStream的優點很多&#xff0c;但是也有一些小bug&#xff0c;比如在定義別名中的下劃線…

windows下安裝zabbix_agent

Server端在linux系統上&#xff0c;server端版本為2.2.6&#xff0c;是以前就裝好的已經跑了很久的穩定版。目前的需求是要將新業務的服務器添加到該監控隊列。而這些服務器是windows系統。 第一次下載了最新版的zabbix_agent for windows。按照正常程序安裝完成后&#xff0c;…

JS和Jquery獲取和修改label的值

獲取值&#xff1a; label標簽在JS和Jquery中使用不能像其他標簽一樣用value獲取它的值&#xff1a; var labeldocument.getElementById("id");var valuelabel.value;var value$("#id").val();可以這樣&#xff1a;JS: var labeldocument.getElementById(&…

Linux內核訪問外設I/O--動態映射(ioremap)和靜態映射(map_desc)

本篇文章主要介紹了"Linux內核訪問外設I/O--動態映射(ioremap)和靜態映射(map_desc)"&#xff0c;主要涉及到Linux內核訪問外設I/O--動態映射(ioremap)和靜態映射(map_desc)方面的內容&#xff0c;對于Linux內核訪問外設I/O--動態映射(ioremap)和靜態映射(map_desc)感…

點擊顯示隱藏盒子函數

示例&#xff1a;&#xff08;手機導航欄&#xff09; <header> <div class"logo"></div> <p class"text">微蜂傳媒</p> <div class"nav_btn" οnclick"showHide(.dropdown_menu)"></div> …

MyBatis 緩存機制

Mybatis 有兩級緩存&#xff1a; 一級緩存&#xff1a; 也稱為本地緩存&#xff0c;SqlSession級別的緩存。一級緩存是一直開啟的&#xff1b; 與數據庫同一次會話期間查詢到的數據會放在本地緩存中&#xff0c;以后如果需要獲取相同的數據&#xff0c;直接從緩存中拿&#xff…

Android虛擬化引擎VirtualApp探究

2019獨角獸企業重金招聘Python工程師標準>>> 介紹 首先需要說明的是&#xff0c;VirtualApp并不是前些陣子滴滴開源的插件化框架VirtualApk。 VirtualApp是一個更加黑科技的東西&#xff0c;他可以創建一個虛擬空間&#xff0c;你可以在虛擬空間內任意的安裝、啟動和…

揭開全景相機的創業真相

&#xff08;Bubl全景相機&#xff09; 國外一開源&#xff0c;國內就自主。這在VR&#xff08;虛擬現實&#xff09;領域體現的淋漓盡致——Google的Cardborad一開源&#xff0c;國內就有數百家廠商蜂擁做了各種插手機的VR盒子。到了全景相機&#xff0c;這一幕似乎又開始重演…

一個厲害的網站

2019獨角獸企業重金招聘Python工程師標準>>> dromara 發現一個網站&#xff0c;發現上面的開源項目真的都非常厲害誒。 轉載于:https://my.oschina.net/miaojiangmin/blog/2934221

最全VR產業鏈全景圖(必收藏)

http://www.360doc.com/content/16/0324/20/28622037_544974325.shtml

本地計算機綁定域名訪問

我們知道localhost綁定的是本地主機IP&#xff08;127.0.0.1&#xff09;&#xff0c;那么我們能不能自定義綁定本地主機IP地址呢&#xff1f;答案是肯定的&#xff0c;同修改hosts文件&#xff0c;我們可以實現上面的需求。 打開本地C盤&#xff0c;找到Windows文件夾-->Sy…

Tomcat配置及原理文章

同一tomcat實現多端口多域名訪問 tomcat源碼分析(第一篇 從整體架構開始) tomcat源碼分析(第二篇 tomcat啟動過程詳解) tomcat源碼分析(第三篇 tomcat請求原理解析--Connector源碼分析) tomcat源碼分析(第四篇 tomcat請求處理原理解析--Container源碼分析)轉載于:https://www.c…

windwon安裝macaca環境

一 安裝配置java1.安裝java_jdk &#xff0c;安裝過程中順帶一起安裝jre(1)選擇【新建系統變量】--彈出“新建系統變量”對話框&#xff0c;在“變量名”文本框輸入“JAVA_HOME”,在“變量值”文本框輸入JDK的安裝路徑&#xff0c; 如“C&#xff1a;/Java/jdk1.6.0_25”(2)在“…

三星要用Exynos 9芯片打造獨立VR頭顯

【天極網VR虛擬現實頻道】近期有數據顯示&#xff0c;2016年全球VR虛擬現實設備的出貨量達到了630萬臺&#xff0c;其中三星Gear VR以451萬臺出貨量稱霸全球VR市場&#xff0c;占據高達71%的市場份額。不過三星的眼光并不局限于手機VR設備&#xff0c;這家公司正在計劃推出一款…

消息隊列常見的 5 個應用場景

消息隊列中間件是分布式系統中重要的組件&#xff0c;主要解決應用耦合&#xff0c;異步消息&#xff0c;流量削鋒等問題&#xff0c;實現高性能、高可用、可伸縮和最終一致性架構。使用較多的消息隊列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、RocketMQ。 消息隊列應用場…