【全网最全】Ubuntu基本操作 | 您所在的位置:网站首页 › 12promax储存空间不足 › 【全网最全】Ubuntu基本操作 |
目录 1、基本现象 (1)现象1 编辑(2)现象2 (3)现象3 2、解决思路与方法 (1)查看文件/目录磁盘使用的空间情况 1)du与df命令 2)通过Ubuntu自带的软件进行查看使用情况 (2)现象分析与解决方法 1)现象1:GParted扩展根目录空间 2)现象2:清除缓存或扩展硬盘空间 3、VMware虚拟机占用空间过大 (1)整理碎片 (2)清理Ubuntu系统内部的内存 1)删除Vmware tools 产生的缓冲文件 2)清除不使用的磁盘空间 (3)windows下清理(慎用) 1、基本现象当长期在Ubuntu中进行开发,特别是涉及到相关系统内核源码的编译,会出现提示空间不足的情况,大体有如下几种情况: (1)现象1 The volume "Filesystem root" has only 0 bypes disk space remaining. (2)现象2在执行apt install给出了类似如下的提示 Need to get 2,478 MB of archives. After this operation, 4,716 MB of additional disk space will be used. E: You don't have enough free space in /var/cache/apt/archives/. (3)现象3现象3的本质和处理方式同上述现象2 cannot create temp file for here-document, no space left on device 2、解决思路与方法 (1)查看文件/目录磁盘使用的空间情况 1)du与df命令1--区别 df命令:显示目前在Linux系统上的文件系统的磁盘使用情况统计。 du命令:显示指定的目录或文件所占用的磁盘空间。 2--基本使用 A.命令df 常用命令: df -h其他参数说明: -a或--all:包含全部的文件系统; --block-size=:以指定的区块大小来显示区块数目; -h或--human-readable:以可读性较高的方式来显示信息; -H或--si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes; -i或--inodes:显示inode的信息; -k或--kilobytes:指定区块大小为1024字节; -l或--local:仅显示本地端的文件系统; -m或--megabytes:指定区块大小为1048576字节; --no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;B.命令du 常用命令: A.查看指令目录的大小: du -sh + 目录路径或直接到相应的目录下执行 du -sh例如 :查看根目录下/root的大小 方式1: 方式2: B.要看目录下各个子目录的大小,包括子目录的子目录,但不包含文件: du -h若需包含文件,则使用 : du -h *若不需要包含子目录的子目录,则使用: du -sh *若需要看子目录,则使用: du -ah 2)通过Ubuntu自带的软件进行查看使用情况方式一:通过Disks查看 方式二:通过 Disk Usage Analyzer 查看 (2)现象分析与解决方法 1)现象1:GParted扩展根目录空间该情况由于在根文件系统中直接进行了编译或者下载,使得根文件系统空间不足,要么清除已下载的部分,要么对根目录进行扩容。 1--腾出空间,考虑卸载一个或若干个占用空间较大的不常用的应用软件 注意:若重启后没有桌面且打不开terminal的话,建议先使用Ctrl+Alt+F1进入tty1界面进行登录操作。这主要是因为系统在存储空间不足时给出可提示,如果选择了Ignore(忽略),系统可以继续运行,但是重启后桌面可能就没有了。 2--腾出一定空间的目的是为了可以进行一些系统的基本命令操作,尤其是接下来需要安装扩容软件——GParted A.安装 sudo apt-get install gpartedB.启动 sudo gpartedC.选择需要扩展的部分,然后先压缩其右边区域,再进行扩展。如下,需要扩展文件系统部分的空间(即上图中/dev/sda3),首先对右边的sda4区域进行压缩。 注意:可以看到开辟的空间都带有钥匙标记,这时不能对分区进行操作,需要先卸载(unmount)或者停止(swapoff)。 2)现象2:清除缓存或扩展硬盘空间该情况由于系统硬盘空间不足,即在装Ubuntu的时候分配的硬盘空间不足,可通过清除缓存或者增大Ubuntu的硬盘空间来解决。 本解决方法中的清除缓存的核心思想是找出系统中的大文件,对不需要的进行清除。这实际上要求实践者对Linux系统根目录下各个文件夹的基本作用要有一定的了解,甚至熟悉,本文主要从以下几个维度提供解决的思路,其他的读者可以自行发掘然后补充。 1--清除缓存 清除缓存从以下几个维度进行: A.清除已下载和安装的软件包 a.清除所有已下载的过期安装包 sudo apt-get autocleanb.清除所有已下载的安装包 sudo apt-get clean【可选项】c.在某个空间大的分区建立一个目录,然后把/var/cache/apt/archives换成指向那个目录的软链接 mkdir -p "$HOME/debs/partial" sudo rm -rf /var/cache/apt/archives sudo ln -s "$HOME/debs" /var/cache/apt/archives说明:该步骤的目的非必须,要考虑清除,该步骤的意义是一般Linux通过apt install安装的软件都默认在/var/cache/apt/archives中,我们为了节约空间,可以将这个路径转到其他空间更大的位置中,因此该步骤根据实际情况慎重考虑。 上述A,B两个步骤也是为了清除/var/cache/apt/archives下已经安装的软件包,可分别在执行前和执行后进行查看。 B.清除一些无用的占用空间较大的容量 在Ubuntu中一般安装的软件的 log会存放在/var路径下,因此可以特别查看该目录相应的文件,必要时,可以直接rm -rf删掉无用的log文件。 根据上述查看空间大小的命令,可以执行如下命令进行查看 sudo du -sh /*C.清除一些无用的镜像文件 该方式在一定程度上可以有效地释放/boot下的空间。 随着使用时间的推移,被替换下来的老旧内核版本将会占用一定的磁盘空间而造成浪费。每个内核映像文件和相关的模块文件/header(头文件)会占用大约 200 – 400 M 的磁盘空间,如果频繁升级内核版本,老旧内核文件对空间的浪费将会迅速增加。 使用如下命令,可以查看到所有可引导版本的内核文件: ll /boot/找到 Linux 镜像:/boot/vmlinuz-x.xx.x-xx-generic 找到 initrd 镜像:/boot/initrd.img-x.xx.x-xx-generic 在正式开始清理之前,请大家一定注意至少保留两个最近的内核版本,以保证出问题之后还有一步退路。 Ubuntu 的内核映像文件主要包括以下类型的包: linux-image- :内核映像文件 linux-image-extra- :扩展内核模块 linux-headers- :内核头文件 dpkg --list | grep linux-imagedpkg --list | grep linux-headersa.查看目前系统中安装的内核镜像 sudo dpkg --get-selections |grep linux-imageb.查看目前系统所使用的内核镜像 sudo uname -rc.除了自己使用的镜像,其余的镜像都是多余的,可以手动删除 方式可参考下面的命令,根据自己系统不需要的镜像的版本替换到相应的位置即可。 方式一(推荐): 直接通过 apt-get purge 来进行删除,使用 apt-get remove 命令会保留相应的配置文件,所以还会有deinstall文件,这就是下述方法二为什么要删除多个文件,除了相应的镜像文件,还有相应的依赖。 注:两者区别 apt-get remove 会删除软件包而保留软件的配置文件 apt-get purge 会同时清除软件包和软件的配置文件 apt-get purge linux-image-版本-generic apt-get purge linux-headers-版本方式二: 注意这里可以同时删除不使用的镜像以及其相应的依赖,否则单独删除相应的镜像,系统可能会报错。 sudo apt-get remove linux-image-版本-generic linux-modules-extra-版本-generic sudo rm -rf /boot/vmlinuz-版本-generic sudo rm -rf /boot/initrd.img-版本-generic2--在虚拟机软件中增加Ubuntu主机硬盘空间,并在Ubuntu Disks中增大实际使用的硬盘大小。 该方式比较简单,只要进行简单的两个步骤即可完成。 A.关闭正在运行的虚拟机,进入如下图所示,增加Ubuntu的硬件空间。 说明: 第一,这里在扩展前,还可以进行碎片整理,对Ubuntu进行碎片整理后,会发现你的主机硬盘的空间会变大; 第二,扩展的前提是不能有相应的虚拟机快照,否则会出现如上图所示灰色按钮无法点击,可以先将快照删除即可。如果是经常需要使用Ubuntu进行软件系统开发,建议将硬盘的大小扩展到80G-120G最佳。 第三,合并多个vmdk虚拟磁盘的扩展问题: 多个vmdk虚拟磁盘由来原因 原因1:可能是在安装虚拟机时配置的选项问题,如上图所示,若选择了“将虚拟磁盘拆分成多个文件”原因2:可能是通过VMware虚拟磁盘管理器vmware-vdiskmanager.exe对磁盘进行管理,将虚拟磁盘拆分成多个文件,在文章的最后有提到。多个vmdk虚拟磁盘合并方式同样是借助VMware虚拟磁盘管理器vmware-vdiskmanager.exe。 进入vmware安装目录,例如下图所示 通过调用程序vmware-vdiskmanager.exe,跟上参数,指定需要合并的虚拟磁盘,具体如下图所示 -r :转换指定的磁盘; 需要指定目标磁盘类型。对于本地目标磁盘,必须指定磁盘类型。当出现下如所示,即合并成功: B.增加硬盘空间后,并不会自动增加Ubuntu的空间,还需要进入系统进行相应的扩展设置。 直接进入系统中的Disks软件,如上图最右边会多出相应的未分配的空间,可以将其分配给相邻的左边的磁盘即可。注意,该种方法,没有办法跨过相邻的区域对其他区域进行分配,如果有该需求,可见上述通过 GParted 软件。 分配方式如下图所示: 3、VMware虚拟机占用空间过大该点主要是因为虚拟机占用物理内存过大,可以通过一些方式方法进行优化。 (1)整理碎片在前面扩展磁盘空间部分提到,有一个选项为“碎片整理”,如下图所示,通过该方式,在一定程度上可以更加充分的利用物理磁盘空间。 (2)清理Ubuntu系统内部的内存该方式和前面提到的删除系统中无用的软件思路一直,具体有以下两个方式。 1)删除Vmware tools 产生的缓冲文件1--用户目录下 .cache/vmware/drag_and_drop,这个路径下的文件都可以删除说明:在vmware虚拟机下安装的ubuntu系统,为了在windows和ubuntu之间拷贝数据方便,所以在vmware上安装了vmware tools。上述目录即为缓存区目录,从windows拷贝文件的时候会先将文件拷贝到这个缓存区目录里面,这会导致ubuntu的可用空间急速下降。因此可以定期清理该缓存目录。 2--清除残留的安装包 :具体可按照上述提到的方法和步骤。 2)清除不使用的磁盘空间1--将碎片空间填充上0(注:结束的时候会提示磁盘空间不足,忽略即可) sudo dd if=/dev/zero of=/0bits bs=20M2--删除上述的0bits的填充(注:此时用df -h 会发现可用的虚拟空间增加许多,但是实际的磁盘空间没有缩减) (3)windows下清理(慎用)该方式是通过windows下VMware自带的管理工具进行请理,但是要注意,此步骤后会产生多个vmdk虚拟磁盘,会给后续的一些其他虚拟机磁盘设置带来不变(如扩展磁盘空间)。 1)打开Windows自带的terminal或者Windows PowerShell(推荐,直接菜单搜索即可) 2)进入vmware安装目录,例如下图所示 关于vmware-vdiskmanager.exe使用,这里不做详细表述,可参考如下文章: VMware虚拟磁盘管理器用法帮助 用法:vmware-vdiskmanager.exe_零点零一的博客-CSDN博客_vmware磁盘管理 3)通过调用程序vmware-vdiskmanager.exe,跟上参数k,缩小指定的虚拟磁盘,例如下图所示 等待如下图所示,表示虚拟机已经压缩成功。 |
CopyRight 2018-2019 实验室设备网 版权所有 |