(转)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.mzph.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。 消息队列应用场…