Linux学习第十七篇--设置开机挂载和建立swap

来源:互联网 发布:网络配线架有什么用 编辑:程序博客网 时间:2024/06/06 20:03

前言

在上一篇博客中,我们聊到了可以使用文件系统的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 镜像文件 挂载点 的形式来挂载镜像文件.

同样,如果我们在分区完成后,忽然间想加一个分区,但是又没有了空闲的内容,我们可以使用挂载大文件的方式来实现伪分区.

具体的步骤大概如下:

第一步,建立一个大文件,

使用下面命令建立一个超大空文档.
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=10241024+0 records in1024+0 records out1073741824 bytes (1.1 GB) copied, 17.6851 s, 60.7 MB/s
我们查看一下目录下面是不是有了该文件
[root@iZwz92os3ijinexllkh4f6Z panda]# ll -htotal 1.1G-rw-r--r-- 1 root root 1.0G Jun 21 22:55 bigfile
ok.我们已经创建了一个空的文件
[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) yDiscarding device blocks: done                            Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks65536 inodes, 262144 blocks13107 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=2684354568 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376Allocating group tables: done                            Writing inode tables: done                            Creating journal (8192 blocks): doneWriting 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

听起来很简单的样子,因为我没有空闲的空间建立swap,所以此处使用刚才学过的大文件方式来模拟分区.

[root@iZwz92os3ijinexllkh4f6Z panda]# #首先我们建立一个大文件,用作伪分区[root@iZwz92os3ijinexllkh4f6Z panda]# dd if=/dev/zero of=/tmp/panda/swapDemo bs=1M count=10241024+0 records in1024+0 records out1073741824 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 KiBno label, UUID=4bea1c66-60ff-4b29-b9b3-9c87ce1e6e62[root@iZwz92os3ijinexllkh4f6Z panda]# #最后我们启动该swap[root@iZwz92os3ijinexllkh4f6Z panda]# #不对,我们应该先查看一下当前内存[root@iZwz92os3ijinexllkh4f6Z panda]# free              total        used        free      shared  buff/cache   availableMem:        1882312      590752       76528         328     1215032     1092344Swap:             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   availableMem:        1882312      591444       75832         328     1215036     1091652Swap:       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,搞定,收工~


阅读全文
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 四海翻腾云水怒 云水怒免费观看 云水怒剧情介绍 嘉和城依云湾 宝龙云滨湾 依云雍景湾 中粮珑湾祥云 海峡城云璟湾 高速云水湾 云水湾 云水瑶 南靖土楼云水瑶 云水禅心 云在青天水在瓶 依云水价格 云水禅心简谱 云水肴 云水 云水谣二手房 云水谣插曲 云水谣住宿信息 云水谣住宿客栈 云水谣古镇图片 厦门到云水谣 英德云水谣 云水谣一日游 福建云水谣古镇 南靖到云水谣 云水谣旅游攻略 云水谣图片 厦门到云水谣怎么坐车 云水谣门票团购 漳州云水谣旅游攻略 厦门云水谣一日游 厦门怎么去云水谣 云水谣好玩吗 云水谣在哪 厦门到云水谣多少公里 云水谣古镇一日游 福建云水谣一日游 云水谣二日游