ubuntu清理空间技巧 包含【系统日志、缓存、无用包、内核、VScode、conda、snap、pip】

本文提供了一系列详尽的方法来清理Ubuntu 18.04的内存,包括查看磁盘使用、日志文件管理、虚拟机缓存、软件包管理、VSCode缓存、anaconda清理、Snapd、内核管理、pip缓存等,帮助用户释放空间并提高系统性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

可以通过在ubuntu18.04中打开左下角9个点的显示应用程序->工具->Disk usage Analyzer查看空间大小,或者终端输入下面指令查看:

baobab

或者通过

du -sh *   

命令查看文件夹下的软件占用内存

方法一

在/var/log/journal/垃圾日志文件,可以看到他的内存占用是比较大的,那么我们可以通过如下命令来清除这些日志文件

journalctl --disk-usage        # 检查日志大小
sudo journalctl --vacuum-time=1w    # 只保留一周的日志

sudo journalctl --vacuum-size=500M    # 只保留500MB的日志

rm -rf /var/log/journal/askd342fh35aewfhagf67iuro1(垃圾文件)    # 直接删除/var/log/journal/目录下的日志文件

du -sh ~/.cache/thumbnails       # 检查缩略图缓存的大小
rm -rf ~/.cache/thumbnails/*     # 清除缩略图缓存

方法二

如果是虚拟机的话,可以删除.cache/vmware/drag_and_drop/路径下缓存区数据,因为通过vmware安装的虚拟机时会安装vmware tools,其中为了方便拷贝数据,会在ubuntu系统.cache/vmware/drag_and_drop/路径下创建一些缓存目录,从windows中拷贝过来会先存储在这里,粘贴完了我们自然可以把他删除。

方法三

下三个命令主要清理升级缓存以及无用包

sudo apt-get autoclean                # 删除旧版本软件缓存
sudo apt-get clean                    # 删除系统内所有软件缓存
sudo apt-get autoremove             # 删除系统不再使用的孤立软件

方法四

如果电脑装有VScode可以删除VScode中ipch文件(可以在磁盘分析器baobab中查看下面路径内容)

/home/用户名/.cache/vscode-cpptools/ipch

Cache:在计算机存储系统的层次结构中,介于中央处理器和主存之间的高速小容量存储器。它和主存储器一起构成一级的存储器。高速缓存存储器和主存存储器之间信息的调度和传送是由硬件自动进行的。
Ipch:这些文件是Visual Studio用来保存预编译版的头文件和Intellisense用的。如果删除后,重新加载项目会重建这些文件,但VSCode中设定范围后就不会产生超过这个数的缓存大小。
ipch文件内包含缓存的预编译头文件(PCH),vscode使用的时间越长,那么这个文件夹内的缓存就越多,最终会造成较大的内存占用。当我们不用来运行很大的文件时,只是利用它来敲代码,用不到预编译头文件时可以关闭这个功能。
操作
在VSCode菜单栏中 文件->首选项->设置(ctrl+,),然后搜索C_Cpp.intelliSenseCacheSize,修改其默认值5120为512

方法五

如果装有anaconda软件,当使用一段时间之后会占用相当一部分磁盘空间到pkgs文件夹下,在conda的设计中,目录’pkgs’是下载、存放缓存,当通过pip下载一些软件时,先去缓存区查找有无目标,若无目标会下载包至缓存区当中,再解压安装到指定环境当中的lib/pythonx.x/site-packages中。
同时,anaconda一起携带的包也会放在pkgs中。我们在构建一些envs的时候,对一些包的依赖会通过硬盘链接链接到pkgs目录,这样虚拟环境生成的速度大大加快,占用空间就大大减小了。

conda clean -p  # 这个命令会检查哪些包没有在包缓存中被硬依赖到其他地方,并删除它们
conda clean --packages  # 删除从不使用的包
conda clean --tarballs  # 删除tar包
conda clean -a  # 更强力些,删除索引缓存、锁定文件、未使用过的包和tar包

方法六

在 /var/lib路径下能查到snapd文件占用内存很大,通过百度发现snap是一款开源的压缩,只读文件系统,基于GPL协议发行的软件打包格式。一旦snap被安装后,其就有一个只读的文件系统和一个可写入的区域。应用自身的执行文件、库、依赖包都被放在这个只读目录,意味着该目录不能被随意篡改和写入。
所以说snap不是一个必须要用到的软件,后续用到也可以再次下载。
通过下面命令删除snapd

sudo apt autoremove --purge snapd

方法七

删除多余内核

uname -a   # 首先第一步是要查看当前内核,千万不要把当前内核有关信息给干没了

显示

Linux 【username】 5.4.0-81-generic #91~18.04.1-Ubuntu SMP time x86_64 x86_64 x86_64 GNU/Linux

这里的【5.4.0-81-generic】就是当前使用的Ubuntu版本内核,千万别删!!!
下面我们要查看当前的所有内核,可删除旧版内核:

dpkg --get-selections | grep linux

显示:

binutils-x86-64-linux-gnu			install
console-setup-linux				install
libselinux1:amd64				install
linux-base					install
linux-firmware					install
linux-generic-hwe-18.04				install
linux-headers-5.4.0-81-generic			install
 linux-headers-5.4.0-74-generic         install
 linux-hwe-5.4-headers-5.4.0-74         install
 linux-image-5.3.0-28-generic           install
 linux-image-5.4.0-65-generic           install
 linux-image-5.4.0-66-generic           install
 linux-image-5.4.0-74-generic            install
 linux-modules-5.3.0-28-generic           install
 linux-modules-5.4.0-65-generic           install
 linux-modules-5.4.0-66-generic           install
 linux-modules-5.4.0-74-generic           install
 linux-modules-extra-5.3.0-28-generic      install
 linux-modules-extra-5.4.0-65-generic       install
 linux-modules-extra-5.4.0-66-generic       install 
 linux-modules-extra-5.4.0-74-generic       install
linux-headers-generic-hwe-18.04			install
linux-hwe-5.4-headers-5.4.0-81			install
linux-image-5.4.0-81-generic			install
linux-image-generic-hwe-18.04			install
linux-libc-dev:amd64				install
linux-modules-5.4.0-81-generic			install
linux-modules-extra-5.4.0-81-generic		install
linux-sound-base				install
pptp-linux					install
syslinux					install
syslinux-common					install
syslinux-legacy					install
util-linux					install

然后就是删除与我们现在使用的内核不同的内核相关信息了,这里连配置文件也一起删了,所以用purge命令

sudo apt-get purge \
 linux-headers-5.4.0-74-generic \
 linux-hwe-5.4-headers-5.4.0-74 \
 linux-image-5.3.0-28-generic \
 linux-image-5.4.0-65-generic \
 linux-image-5.4.0-66-generic \
 linux-image-5.4.0-74-generic \
 linux-modules-5.3.0-28-generic \
 linux-modules-5.4.0-65-generic \
 linux-modules-5.4.0-66-generic \
 linux-modules-5.4.0-74-generic \
 linux-modules-extra-5.3.0-28-generic \
 linux-modules-extra-5.4.0-65-generic \
 linux-modules-extra-5.4.0-66-generic \
 linux-modules-extra-5.4.0-74-generic

最后更新系统引导

sudo update-grub

方法八

删除不用的pip缓存

sudo rm -r ~/.cache/pip
<think>首先,用户的问题是关于ROS(Robot Operating System)清理磁盘空间的命令。用户提到参考了之前的引用,这些引用讨论了清理ROS日志的方法。 关键点来自引用: - 引用[2]:建议使用`rosclean`命令来清理ROS日志文件。 - 引用[3]:提到ROS日志文件占用大量空间,并介绍了清理办法。 - 引用[4]:描述了ROS2工作空间的结构,括log日志空间。 用户的问题直接是:“请问ROS 清理磁盘空间命令”,所以我需要提供具体的命令来清理ROS相关的磁盘空间。 根据引用: - 使用`rosclean`命令。具体来说: - `rosclean check`:检查日志文件的大小。 - `rosclean purge`:删除所有日志文件。 引用[2]说:建议使用‘rosclean’命令。rosclean check 和 rosclean purge。 引用[3]提到清理办法,但没有给出具体命令,但结合引用[2],应该是`rosclean`。 此外,引用[1]和[4]提供了上下文,但没有直接命令。 所以,核心命令是: - `rosclean check`:检查日志文件的大小。 - `rosclean purge`:删除所有日志文件。 在回答中,我需要: - 使用系统级指令:所有行内数学表达式用$...$,独立公式用$$...$$。但这个问题不涉及数学表达式,所以可能不需要。 - 使用中文回答。 - 生成相关问题。 - 回答结构清晰,逐步解决问题。 - 引用的段落末尾添加引用标识,如[^1]。 回答结构: 1. **理解问题**:简要解释ROS日志可能占用空间,并引用相关部分。 2. **提供命令**:给出具体的命令和解释。 3. **步骤说明**:如何执行这些命令。 4. **注意事项**:提醒用户谨慎操作,因为删除日志可能不可逆。 5. **生成相关问题**:在最后添加相关问题。 生成相关问题: - 基于ROS清理空间的主题。 - 例如:如何防止ROS日志占用过多空间?ROS2中的清理命令是否相同?其他清理ROS空间的方法? 最终回答: - 以中文呈现。 - 自然地添加引用标识。</think>### ROS 清理磁盘空间命令详解 ROS(Robot Operating System)在运行过程中会生成大量日志文件,这些文件可能占用大量磁盘空间(例如,有时可达数十GB)。为了有效清理空间,ROS 提供了专门的命令工具。以下是基于参考内容的逐步指南,确保操作安全可靠。 #### 步骤 1: 检查日志文件大小 在清理前,先确认日志文件的大小和位置。ROS 的日志文件通常存储在用户主目录下的 `.ros/log` 文件夹中(例如 `/home/你的用户名/.ros/log`)。使用 `rosclean` 命令检查当前占用情况: ```bash rosclean check ``` - **输出示例**:如果日志超过一定大小(如1GB),会显示警告:`WARNING: disk usage in log directory [/home/你的用户名/.ros/log] is over 1GB. It’s recommended that you use the ‘rosclean’ command`。这有助于判断是否需要清理[^2]。 #### 步骤 2: 清理日志文件 如果确认需要清理,使用 `rosclean purge` 命令删除所有日志文件: ```bash rosclean purge ``` - **作用**:该命令会安全删除 `.ros/log` 目录下的所有日志文件,释放磁盘空间- **注意事项**: - 删除后日志不可恢复,建议在运行此命令前备份重要数据。 - 清理后,ROS 会在下次运行时自动生成新日志,不影响系统功能。 - 根据引用,此方法可有效解决日志占用数十GB空间的问题[^3]。 #### 补充说明 - **ROS1 与 ROS2 的区别**:以上命令适用于 ROS1(如 Noetic、Kinetic)。对于 ROS2,日志结构类似,但清理命令可能不同。ROS2 的工作空间括 `log` 目录,可以直接手动删除其内容: ```bash rm -rf ~/.ros/log/* # 手动删除ROS1日志 rm -rf ~/你的工作空间/log/* # ROS2中,日志通常在具体工作空间的log目录下[^4] ``` - **其他清理建议**:除了日志,还可以清理ROS缓存和临时文件: - 删除未使用的ROS:`sudo apt autoremove ros-*`(谨慎使用,避免删除必要组件)。 - 清理系统级缓存:结合引用[^1]中的方法,如使用 `sudo apt clean` 清理APT缓存。 通过以上步骤,你可以高效释放ROS占用的磁盘空间。如果日志频繁过大,建议定期运行 `rosclean check` 进行监控。 ### 相关问题 1. 如何防止ROS日志文件占用过多磁盘空间? 2. ROS2中的日志清理命令与ROS1有何不同? 3. 除了日志清理,ROS工作空间中的build和install目录如何安全清理? [^1]: 除了文章【ubuntu清理空间技巧 包含系统日志缓存无用内核VScodecondasnappip】_Code->Y的博客-优快云博客_ubuntu怎么清理空间】提到的各种方法,如果你的机器上有ROS系统,也可以清理ros的日志,我的机器上居然有好几个G的ros log。 [^2]: .ros空间清理。.ros空间清理: WARNING: disk usage in log directory [/home/cyun/.ros/log] is over 1GB. It’s recommended that you use the ‘rosclean’ command. 该警告是ROS(Robot Operating System)生成的日志文件占用了超过1GB的磁盘空间。为了解决这个问题,建议你使用rosclean命令来清理ROS的日志文件。 rosclean check. [^3]: ubuntu Ros log文件清理。由于需要使用Ros不慎入了Ubuntu的坑,从此一去不复回,除了一些特殊情况很少再用windows。使用半年期间,/home目录常常出现空间不足。也查不到文件信息。今天才发现是由于ros的日志文件占用了36G空间。今天介绍下清理办法。 [^4]: ros入门教程--3.ROS2工作空间。 目录 一、引言二、工作空间概述2.1 工作空间的定义2.2 工作空间的作用2.3 ROS1和ROS2工作空间的区别 三、ROS2工作空间的结构3.1 src代码空间3.2 build编译空间3.3 install安装空间3.4 log日志空间 四、创建和使用ROS2工作空间4.1 创建工作空间4.2 编译工作空间4.3 设置环境变量 五、总结。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值