前言
设定开机挂载在上一篇博客中,我们聊到了可以使用文件系统的label来挂载,那么如果我们想要修改一个文件系统的label怎么办?难道要重新格式化文件系统吗?这一部分属于补充部分,如果不感兴趣,可以直接跳到正文哟.修改文件系统的label
linux中有一个命令可以直接修改文件系统的label--e2label.e2label命令只有一个功能,就是修改ext系列文件系统的label.其使用格式如下:e2label 装置文件 新的标签名称额,就是这么简单粗暴...
调整文件系统参数
除了e2label命令外,tune2fs命令也可以修改文件系统的label,而且其功能更加强大.tune2fs命令用于调整文件系统的参数.他的可选项也挺多的,个人感觉对于像我这种学linux是因为乐趣的人来说,比较有用的选项应该是下面这几个:-f选项,加上该选项,即使e2label命令出错,也依然会执行完毕.-g,设置可以访问系统保留区的用户组.-j,添加日志文件系统到该文件系统内.-l,列出当前文件系统superblock的内容,以及当前可通过改程序设置的参数.-u,设置可以访问文件保留区的用户.当然这个命令还有一些其他的参数,但是嘛...感觉用不着,就不写了...啧啧...我是不是开始浮躁了...
获取or设置硬盘参数
警告!警告!嘟嘟嘟嘟~~~这个命令慎用!!!这个命令慎用!!!
这个命令慎用!!!
重要的事情说三遍!!!接下来我们学习的这个命令可以用来获取或者配置硬盘的参数--hdparm(这个命令在centos7需要安装).为了避免误操作,这里只写出部分不会影响硬盘的选项.-g选项,显示驱动器物理位置.-h选项,显示简要的实用信息.-i选项,显示引导驱动器时获得的识别信息.-v选项,显示所有的设置.-T选项,显示不存取磁盘直接读取缓存数据的速度.-t选项,显示不适用缓存的读取速度.注意区分-T和-t.
在前面的学习中,我们已经学会了如何挂载和移除文件系统,现在我们学习一下如何开机挂载文件系统.在我们之前学习mount和umount命令的时候,多次提到了一个文件/etc/fstab.在文件中配置的文件系统将会被开机挂载.这是我配置文件的信息,因为我只一块云硬盘,所以这里只有一条数据.UUID=cf632ca5-4a1a-4da4-9deb-cb472d5b8a83 / ext4 defaults 1 1
我们就可以看到这条数据大致可以分为六个部分.
UUID=cf632ca5-4a1a-4da4-9deb-cb472d5b8a83 装置文件(感觉叫驱动文件也不错)名称,或者UUID,或者lable等这个参数用来定位文件系统
/ 挂载点,这个没什么好说的.
ext4 文件系统类型
defaults 文件系统的参数,就是我们上一篇说的读写同步问题,只读/读写等
1 能否被dump指令备份,0表示不能备份,1表示可以备份.
1 开机时,是否以fsck来校验文件系统是否完整,0表示不校验,1表示校验.
.所以,如果,假设我们需要设置/dev/sda5开机装载的话,可以在该文件中添加./dev/sda5 / default ext4 1 1然后就ok了.
挂载镜像文件/其他大文件
这个才是我们今天学习的重点之一,加入我们搞了一个镜像文件(*.iso),我们总不能把他刻录成光盘,或者使用工具刻录到U盘等设备上再去使用里面的数据吧,
略微有点不切实际,那么我们应该样直接访问镜像文件里面的数据呢.
我们可以直接使用命令mount -o loop 镜像文件 挂载点 的形式来挂载镜像文件.
同样,如果我们在分区完成后,忽然间想加一个分区,但是又没有了空闲的内容,我们可以使用挂载大文件的方式来实现伪分区.
具体的步骤大概如下:
第一步,建立一个大文件,
建立内存置换空间(SWAP)使用下面命令建立一个超大空文档.执行这个命令,可能会耗费一旦时间.我们解释一下这条命令,dd if=/dev/zero of=/tmp/panda/bigfile bs=1M count=1024
dd命令用于转换和copy文件.他每次从输入文件读取指定大小的数据,然后写到输出文件中.其中if选项表示输入文件.of表示输出文件,bs表示每次读取的数据大小.count表示读取的次数.所以上面的目的就是建立一个1GB的空文件.OK,命令执行完毕.我们查看一下目录下面是不是有了该文件[root@iZwz92os3ijinexllkh4f6Z panda]# dd if=/dev/zero of=/tmp/panda/bigfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 17.6851 s, 60.7 MB/s
ok.我们已经创建了一个空的文件[root@iZwz92os3ijinexllkh4f6Z panda]# ll -h total 1.1G -rw-r--r-- 1 root root 1.0G Jun 21 22:55 bigfile
[root@iZwz92os3ijinexllkh4f6Z panda]# #Ok,我们已经创建了一个空文件. [root@iZwz92os3ijinexllkh4f6Z panda]# #下面我们格式化这个空文件. [root@iZwz92os3ijinexllkh4f6Z panda]# mkfs -t ext4 /tmp/panda/bigfile mke2fs 1.42.9 (28-Dec-2013) /tmp/panda/bigfile is not a block special device. Proceed anyway? (y,n) y Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262144 blocks 13107 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done [root@iZwz92os3ijinexllkh4f6Z panda]# #然后使用mount -o loop 挂载该文件 [root@iZwz92os3ijinexllkh4f6Z panda]# #但是实现我们需要创建一个挂载点 [root@iZwz92os3ijinexllkh4f6Z panda]# mkdir /tmp/panda/mountpoint [root@iZwz92os3ijinexllkh4f6Z panda]# mount -o loop /tmp/panda/bigfile /tmp/panda/mountpoint/ [root@iZwz92os3ijinexllkh4f6Z panda]# #ok,然后我们看一下是否挂载成功 [root@iZwz92os3ijinexllkh4f6Z panda]# df -h /tmp/panda/mountpoint/ Filesystem Size Used Avail Use% Mounted on /dev/loop0 976M 2.6M 907M 1% /tmp/panda/mountpoint
ok,挂载成功.
我们通过之前的学习已经知道了swap的作用,此处就不在赘述.
我们先了解一下建立内存置换空间的步骤.
第一步,先建立一个分区.
第二步,格式化swap格式.
第三步,启动该swap
听起来很简单的样子,因为我没有空闲的空间建立swap,所以此处使用刚才学过的大文件方式来模拟分区.
[root@iZwz92os3ijinexllkh4f6Z panda]# #首先我们建立一个大文件,用作伪分区 [root@iZwz92os3ijinexllkh4f6Z panda]# dd if=/dev/zero of=/tmp/panda/swapDemo bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 18.8586 s, 56.9 MB/s [root@iZwz92os3ijinexllkh4f6Z panda]# #然后我们修改该文件的权限为600 [root@iZwz92os3ijinexllkh4f6Z panda]# chmod 600 /tmp/ .font-unix/ .ICE-unix/ panda/ .Test-unix/ .X11-unix/ .XIM-unix/ [root@iZwz92os3ijinexllkh4f6Z panda]# chmod 600 /tmp/panda/swapDemo [root@iZwz92os3ijinexllkh4f6Z panda]# #然后我们使用mkswap命令来将其转换为swap格式 [root@iZwz92os3ijinexllkh4f6Z panda]# mkswap /tmp/panda/swapDemo Setting up swapspace version 1, size = 1048572 KiB no label, UUID=4bea1c66-60ff-4b29-b9b3-9c87ce1e6e62 [root@iZwz92os3ijinexllkh4f6Z panda]# #最后我们启动该swap [root@iZwz92os3ijinexllkh4f6Z panda]# #不对,我们应该先查看一下当前内存 [root@iZwz92os3ijinexllkh4f6Z panda]# free total used free shared buff/cache available Mem: 1882312 590752 76528 328 1215032 1092344 Swap: 0 0 0 [root@iZwz92os3ijinexllkh4f6Z panda]# #然后启动刚才新建的swap [root@iZwz92os3ijinexllkh4f6Z panda]# swapon /tmp/panda/swapDemo [root@iZwz92os3ijinexllkh4f6Z panda]# #再次查看一下 [root@iZwz92os3ijinexllkh4f6Z panda]# free total used free shared buff/cache available Mem: 1882312 591444 75832 328 1215036 1091652 Swap: 1048572 0 1048572 [root@iZwz92os3ijinexllkh4f6Z panda]# #ok,可以看到多了一个交换分区 [root@iZwz92os3ijinexllkh4f6Z panda]# #接下来将其卸载,然后删除 [root@iZwz92os3ijinexllkh4f6Z panda]# umount /tmp/panda/swapDemo ;rm-rf /tmp/panda/ umount: /tmp/panda/swapDemo: not mounted -bash: rm-rf: command not found [root@iZwz92os3ijinexllkh4f6Z panda]# #咦!!!?移除不是umount吗?为什么不行呢? [root@iZwz92os3ijinexllkh4f6Z panda]# #当我们需要移除swap,我们需要使用swapoff命令
[root@iZwz92os3ijinexllkh4f6Z panda]# swapoff /tmp/panda/swapDemo ;rm -rf /tmp/panda/
补充点:使用parted分区
parted是一个操作分区的程序.
通过parted -l 命令可以查看所有的分区
通过parted mklabel 类型 ,可以创建一个硬盘label或者分区label.
通过parted mkpart [分区类型(主/扩展/逻辑)] [文件系统类型] 开始节点 结束节点 可以创建一个新的分区
通过parted name 可以设置分区的名称
通过parted rm 可以删除分区
通过 parted 目录 print 显示指定分区表的信息
parted命令和fdisk命令最大的区别就在于parted命令可以fdisk不支持2TB以上的分区.
ok,搞定,收工~