由于年少无知,在安装ubuntu系统的时候,以为/temp是软件包安装时解压的缓冲,所以给/temp留了10G,而以为/var只是记录一些log而已,因此把仅存的1G分配给了它。随后在安装软件时出现“设备空间不够”的报错,看了log才知道解压的路径是在/var里。进入/var目录,发现/var目录里也有/temp和/cache。

https://www.tldp.org/LDP/Linux-Filesystem-Hierarchy/html/var.html

http://blog.leanote.com/post/jesse/Linux%EF%BC%9A%E5%88%86%E5%8C%BA%E6%8C%87%E5%8D%97

  因此需要扩大/var的分区大小,df -h命令可知/var挂载在/dev/sda8下,我当时也是把sda剩下的区域分配给它,所以是最后这一块分区sda8。在网上查询的话,大部分推荐的是一个工具Gparted(https://gparted.org/)。该工具可以在电脑运行时打开,也可以像启动盘、winPE那样从光盘或者u盘进入。电脑运行时打开的缺点在于一些磁盘正在被使用,因此可能某些分区存在数据读写的过程,尤其像/var这样的目录。因此我决定制作一个U盘版的。

1、首先是下载镜像文件(https://gparted.org/download.php

2、然后使用一个工具Tuxboot,来将镜像文件烧录进U盘中。因为Tuxboot不支持win10,因此我是在ubuntu中操作的。(https://gparted.org/liveusb.php#linux-setup

在ubuntu中安装Tuxboot很简单(https://tuxboot.org/download/)。安装完后打开的界面大致如下。因为已经下载了镜像文件,所以选择下面的diskimage,然后选择iso文件,接着选择要写入的已格式化的U盘,然后点击ok即可。但是值得注意的是,u盘必须被格式化为FAT32格式,否则即使写入了镜像文件也没用。

最后将镜像文件写入U盘中成功的界面如下。

3、制作好U盘后,像平时装系统那样,U盘插入电脑,开机进入Gparted Live。前面是一些键盘映射和语言设置等等,我都使用默认的,即英语。(https://gparted.org/display-doc.php?name=gparted-live-manual

界面如下图所示,显示了各个分区。

4、接下来开始对分区进行操作,已知最后一块分区/dev/sda8被我挂载了/var,计划将/dev/sda3(90+G)保留50G,剩下的45G左右给/var。

接下来的操作主要是参考:https://gparted.org/display-doc.php?name=help-manual

①首先是选择/dev/sda3,然后点击Resize/Move。preceding是释放前面的空间,而following是释放后面的空间。

确定之后即可看到出现了一个45G的未分配分区,并且操作队列多了Shrink(收缩)这个操作。

②接着选择/var所在的分区/dev/sda8,点击Copy,然后再选择这个未分配的分区,选择Paste。/sda8中的内容主要就是/var目录。

复制到未分配分区后,再点击Resize/Move,得到如下。现在Copy of /dev/sda8中的内容与/dev/sda8的内容是相同的,只是空间变为了45G。并且可以看到操作队列多了Copy和Grow两个操作。点击Apply后操作队列才会执行,上述操作才会生效,并且可以看到Copy of /dev/sda8会被命名为/dev/sda9。

(注:以Gparted Live形式进入,所有的分区都是not mounted状态的,方便操作)

③由于/dev/sda8和它的复制副本内容相同,因此可以预见到进入系统会出现/var,会起冲突,因此应该需要将/dev/sda8的内容删除。

删除/var原来所在的/dev/sda8分区,然后得到一个未分配的分区(unallocated),在那里创建(create)一个分区,如下图所示,在这里,分区的名字和label我都没有输入,然后创建出来。点击上方的Apply(应用后),操作队列中(如图中红框处)的操作便会执行。新分区(New Partition #1)便会变成/dev/sda8。

因为涉及到删除分区,因此会弹出下图提示,即删除会使该分区的数据丢失。因此实际上最好是先做备份,可能会安全一些。但是我当时是没有备份/var的。

④ 上述执行完后,关闭该窗口,然后双击桌面的Exit,关机(Shutdown)。

⑤Gparted分区后重启,命令行输入df -h,可看到/var的分区已经变为45G。

因此基本成功了,但是后面我发现了一个小缺陷,就是新创建的1.3G分区(也即原来的/var删除后的那个分区)没有挂载在哪个目录下,因此像一个驱动器插在电脑上那样,应该是还没有mount上来,后面再去弄一下吧。

Gparted Live分区调整的更多相关文章

  1. 小米3移动版 分区 调整/合并教程(16GB/64GB)

    (必读)版权声明:米3移动版TWRP Recovery为XueferH适配,分区脚本以及双数据置换脚本的知识产权,智力成果权归XueferH所有. 注:此教程仅适用于Xiaomi MI 3-移动版(1 ...

  2. centOS 6.8下使用Gparted进行分区扩容

    centOS 6.8下使用Gparted进行分区扩容 ​ 机器环境:windows上运行的VMware虚拟机,系统为centOS 6.8. ​ 由于前期分区分配空间过小,无法满足后续的数据存储预期,所 ...

  3. ubuntu文件系统分区调整(解决目录空间不足、分配不均问题)

    1. 安装 tuxboot (ubuntu下烧写工具) sudo apt-add-repository ppa:thomas.tsai/ubuntu-tuxboot sudo apt-get upda ...

  4. linux交换分区调整

      SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用.它和Windows系统的交换文件作用类似,但是它是一段连续的磁盘空间,并且 ...

  5. CentOS7上lvm分区调整(resize2fs: Bad magic number in super-block while trying to open ...)

    问题描述:根目录空间占用率100% 首先用传统resize2fs方式调整分区: resize2fs -p /dev/mapper/centos-home 50Gresize2fs 1.42.9 (28 ...

  6. HQL之动态分区调整

    动态分区插入可以基于查询语句分出出要插入的分区名称.比如,下面向分区表插入数据的SQL: insert into table chavin.emp_pat partition(dname,loc) s ...

  7. gparted 当分区空间大于1T 用gparted分区

    lsblkfdisk -lparted -s /dev/sdb mklabel msdos parted -s /dev/sdb mkpart primary 0 100%lsblk dfparted ...

  8. 第4节 hive调优:动态分区调整问题

    执行如下截图中的语句时卡住了: 原因:yarn未启动,hive底层是要提交mapreduce到yarn上才能计算结果的. 之前启动yarn时,未执行jps查看是否已经启动.其实未启动成功: [root ...

  9. 记录4-Ubuntu 16.04用gparted调整分区

    几天在安装双系统时,没注意居然把swap分区设置成了50G.今天才发现,于是用gparted重新分区. 1. sudo apt-get install gparted 2. 重新用u盘启动进入ubun ...

随机推荐

  1. EffectiveC++ 第3章 资源管理

    我根据自己的理解,对原文的精华部分进行了提炼,并在一些难以理解的地方加上了自己的"可能比较准确"的「翻译」. Chapter 3 资源管理 条款13: 以对象管理资源 有时即使你顺 ...

  2. 算法时间计算:logA(N)与O(n)

    算法运行时间估算常见O(log(n))log:求对数例:a^b=na为底数,b为n的对数记作:logA(n)=b  ->求N的对数 计算器验算:计算器的log默认以10为底  输入 10,log ...

  3. scala可变var与不可变val的理解

    我们定义变量的时候分为var可变变量和val不可变变量. 我们使用容器的时候也分为可变容器和不可变容器. List和Tuple本身就是不可变的,set和map分为可变和不可变的,默认为不可变. 我们看 ...

  4. Java 线程安全LocalTime 和LocaldateTime 新的Date和Time类 -JDK8新时间类的简单使用

    不可变类且线程安全 LocalDate .java.time.LocalTime 和LocaldateTime  新的Date和Time类 DateTimeFormatter ==https://ww ...

  5. Vue2.0的三种常用传值方式、父传子、子传父、非父子组件传值

    参考链接:https://blog.csdn.net/lander_xiong/article/details/79018737

  6. Django组件-分页器

    Django的分页器(paginator) view from django.shortcuts import render,HttpResponse # Create your views here ...

  7. Django目录

    app和ORM的操作与介绍 框架简介 中间件 form介绍 Django自带用户认证 cookie和session 模版 模板2 ORM操作 所有ORM操作(第二版) Django请求生命周期 Dja ...

  8. mysql只删除表不删除库

    1.备份数据库mysqldump -uroot -P13306 -h10.1.50.14 -p 库名 > /opt/20190109.sql2.删除所有表mysql -uroot -P13306 ...

  9. PyMysql的LIKE查询%问题

    今天写一个模糊匹配的接口的时候,发现PyMysql的防注入方式会将%给转义,就算是写两个%%也是无用,依旧查不出来结果 Google翻了,Baidu翻了,一样没有适用的解决方法. 后来灵机一动想到了方 ...

  10. 大一上c语言学习总结

    一: 近期C语言知识点易错点整理(1)main()----在c语言中称之为“主函数”,一个c程序有且仅有一个main函数,任何一个c程序总是从main函数开始执行,main函数后面的一对圆括号不能省略 ...