linux根目录空间太小需要重装并保留原有数据和环境

Posted 长理小生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux根目录空间太小需要重装并保留原有数据和环境相关的知识,希望对你有一定的参考价值。

双系统之重装linux系统并保持原软件和配置不变

前言

我第一次装ubuntu时,只是想学会使用linux操作系统,因此装的双系统,并且只给ubuntu分派了小小的20G硬盘,以至于后面根本不够用,中间又从windows压缩10G挂载到根目录的一个目录下,但后面还是不够用,而且自动挂载的空间用起来不方便。而且现在已经习惯在linux下编程了,但是平时办公又用习惯了windows,而且windows下的office一系列功能确实要强大许多。于是决定继续双系统,在某个周末鼓起勇气要重装ubuntu系统,给它多分配一些空间。
重装ubuntu并完整恢复原来的环境和软件,如编程环境、IDE、其他应用如Chrome、办公文件。来吧,兄弟,我有重装十多遍的教训要告诉你,每个步骤都带图,要是看不懂,你打我。

面临以下问题:

  • 怎么备份ubuntu系统里的数据?
  • 怎么完全卸载ubuntu?
  • 怎么重装?
  • 怎么恢复环境和数据?

开始操作前

我有很多IDE诸如idea,pycharm,webstore等,还有jdk、python、node的环境,还有装得wine+QQ,wine+钉钉,还有chrome等等,还有一些服务的配置如ssh服务等等,我希望我这些东西都能在重装系统后能够一如往常的使用。

我们的思路是先把数据备份,然后卸载ubuntu重装后再把数据恢复,下面马上操作起来。

一、数据备份

准备一个U盘,用tar命令打包归档,保留各文件之间的权限信息。

1. 切换root并来到u盘挂载的目录

2. tar命令备份目录

tar cvpzf usr.tgz /usr

上面的命令的效果是把/usr打包为usr.tgz并存放在当前的目录下。
除了/usr还有/opt /home,这三个必须打包备份,然后还有自己定义的目录,比如我有个自定义的目录/new,我也打包好。

/etc可以打包也可以不打包,如果你希望新装的系统继续保持现在的各个用户名和密码,就也打包。至于其他目录不用打包了,比如 /boot /bin cdrom dev media mnt等,打包了也是没用的,因为他们要么在新系统无法使用,要么就算效果和信息系统一样,比如 /bin里面都是命令,新系统并不缺命令, 再如/media是根本派不上用场的。(下图中我还打包了 /lib,其实不用,而且后面解压这个数据到新系统会引起驱动不适配导致系统崩溃)

二、卸载ubuntu

3. 制作U盘启动盘

关键是找好iso镜像文件,然后用刻录工具来制作启动盘。

ubuntu自带启动盘制作器,windows下也可以制作,可以参考我以前的文章
《如何安装windows和linux双操作系统?》: https://blog.csdn.net/qq_43289711/article/details/110312956.

4. 关机进入windows来卸载干净ubuntu

  • (1).首先进入磁盘管理,然后选择ubuntu所在的分区直接右击然后删除卷使得其成为未分配状态。

  • (2).然后win+x,选择(windows PowerShell(管理员))然后按照下面命令操作

diskpart					# 进入系统dispart组件
list disk					# 查看系统所有磁盘,并找到window系统所安装的磁盘,(会出现列表,比如你有两个硬盘,0和1)
select disk $				# 选择磁盘 $ 指window所安装的磁盘(列表,磁盘后的数字)(例如select disk 0)
list partition				# 找到类型为系统的分区(列表会显示)
select partition $			# $为类型为系统的分区 (例如select partition 0)
assign letter=p				# 将分区分配到磁盘P中,p是直接写得,不和c,d,e等盘冲突就可以了
exit 						# 退出diskpart

再搜索记事本,以管理员身份打开,然后如图操作删除ubuntu:

然后在回到管理员命令行,移除p盘

diskpart 					# 再次进入到diskpart
select  disk $				# $是之前选择的盘符,如果记不住了,用list disk查看
select	partition	$		# $是之前选择的分区,如果记不住了,用list partition查看
remove letter=p 			# 删除P盘,
exit						# 退出

至此,ubuntu无论是磁盘上的数据,还是开机时的条目,都被清理掉。

三、安装ubuntu

5. 插U盘重启,进入Bios选择U盘启动盘。

依旧可以参考我以前的文章
《如何安装windows和linux双操作系统?》: https://blog.csdn.net/qq_43289711/article/details/110312956.

每个不同的机器要按不同的键来进入BIOS,我的华硕是esc,所以我在开机时多按几次,
依次进入下面两个画面:


选择Install Ubuntu就开始安装。

6. 进入ubuntu安装向导

这里基本都很简单,语言选中文简体,正常安装,在最后的磁盘分区上选择与windows共存,然后开始安装把分区设置写入硬盘。不用多久就可以安装完成。
!!!注意!!注意!!!:在设置你第一个用户名的时候,一定要设置成你上一台机器第一个设置的用户,也就是你的sudo用户,如果你不这样的话,那么在后面,请不要导入/etc,否则覆盖用户后,系统会找不到当前登录的用户,之后关机重启会有各种问题(很有可能循环登录无法进入图形界面),并且家目录也需要自己手动的复原了。

四、恢复数据

7. 切换root并进入保存数据的U盘的数据所在目录

有同学可能就疑惑了,不知到root用户的密码,因为自己只设置了当前的sudo用户的密码。那么我来教你改root的密码。

sudo -i
可以输入当前用户密码然后就切换root用户了,然后再:
passwd root
设置新密码

8.恢复数据

使用tar命令来恢复数据

tar xvpfz usr.tgz -C /

这条命令的意思是把usr.tgz解压到/下,并且新系统的/usr就会被替代掉。
对应自己备份的数据来操作所有的包。

注意!!!!注意!!!!注意
不是任何原来系统的包都可以随意替代新系统的,除了本文讲到的/usr /home opt和新系统没有的自定义目录外,其他包都是要特殊处理的,否则可能系统关机后就等着重装吧。

我们的配置信息都在系统级配置都在/etc,我们在将其来替代新系统的/etc时注意:

  • 开始说好的,当前第一次注册的用户名要和以前的一样
  • 把新系统的/etc/fstab文件先换个地方保存起来,等到整个/etc被替换后,再把它替换回来,因为它里面保存的是当前系统挂载的硬盘的物理首地址,这个地址每次重装都不一样,如果被修改了,新系统在重启时直接找不到自己的硬盘,你就可以再次重装了。

大功告成,检查有无异常

一般都每什么问题,我自己现在空间从之前的20G变成现在的74G

然后,我的软件也都可以用,数据也都在,和重装前感觉一样

再看编程环境:

都还在,还好还好。

以上是关于linux根目录空间太小需要重装并保留原有数据和环境的主要内容,如果未能解决你的问题,请参考以下文章

LINUX系统重新安装

11月技术考核:LINUX系统重新安装

ubuntu根目录空间太小的数据备份并恢复完整重装双系统重装必看!!(systemback自定义iso镜像卸载ubuntuiso镜像重装)

ubuntu根目录空间太小的数据备份并恢复完整重装双系统重装必看!!(systemback自定义iso镜像卸载ubuntuiso镜像重装)

Linux系统原有分区/data 有数据,再不格式化/data分区的情况下重装系统

如何在不使用电子锻造重定向到根目录的情况下进行热重装并做出反应