linux 精简存储

删除组安装包

在这里插入图片描述

[root@ton ~]#yum groupremove 'Japanese Support'     #卸载日语语言支持
...

Dependencies Resolved

=========================================================================================================
 Package                   Arch               Version                         Repository            Size
=========================================================================================================
Removing:
 poppler-data              noarch             0.4.0-1.el6                     @base                 11 M
Removing for dependencies:
 cups                      i686               1:1.4.2-81.el6_10               @updates              11 M
 poppler                   i686               0.12.4-12.el6_10.1              @updates             1.6 M
 poppler-utils             i686               0.12.4-12.el6_10.1              @updates             165 k

Transaction Summary
=========================================================================================================
Remove        4 Package(s)

Installed size: 24 M
Is this ok [y/N]: y
...

Removed:
  poppler-data.noarch 0:0.4.0-1.el6                                                                      

Dependency Removed:
  cups.i686 1:1.4.2-81.el6_10 poppler.i686 0:0.12.4-12.el6_10.1 poppler-utils.i686 0:0.12.4-12.el6_10.1

Complete!
[root@ton ~]#

包括如果不使用emacs也可以卸载。

删除旧版本内核

 uname     
      -s, --kernel-name
      -r, --kernel-release
[root@paly ~]#uname -r
2.6.32-754.35.1.el6.i686
[root@paly ~]#rpm -qa | grep kernel*    
dracut-kernel-004-411.el6.noarch
kernel-firmware-2.6.32-754.35.1.el6.noarch
kernel-2.6.32-754.35.1.el6.i686
kernel-headers-2.6.32-754.35.1.el6.i686
kernel-2.6.32-754.27.1.el6.i686
[root@paly ~]#yum remove kernel-2.6.32-754.27.1.el6.i686
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package kernel.i686 0:2.6.32-754.27.1.el6 will be erased
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================================================
 Package                         Arch                          Version                                        Repository                         Size
======================================================================================================================================================
Removing:
 kernel                          i686                          2.6.32-754.27.1.el6                            @updates                           97 M

Transaction Summary
======================================================================================================================================================
Remove        1 Package(s)

Installed size: 97 M
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Repository base is listed more than once in the configuration
  Erasing    : kernel-2.6.32-754.27.1.el6.i686                                                                                                    1/1 
warning:    erase unlink of /lib/modules/2.6.32-754.27.1.el6.i686/modules.order failed: No such file or directory
warning:    erase unlink of /lib/modules/2.6.32-754.27.1.el6.i686/modules.networking failed: No such file or directory
warning:    erase unlink of /lib/modules/2.6.32-754.27.1.el6.i686/modules.modesetting failed: No such file or directory
warning:    erase unlink of /lib/modules/2.6.32-754.27.1.el6.i686/modules.drm failed: No such file or directory
warning:    erase unlink of /lib/modules/2.6.32-754.27.1.el6.i686/modules.block failed: No such file or directory
  Verifying  : kernel-2.6.32-754.27.1.el6.i686                                                                                                    1/1 

Removed:
  kernel.i686 0:2.6.32-754.27.1.el6                                                                                                                   

Complete!
[root@paly ~]#rpm -qa | grep kernel*                    
dracut-kernel-004-411.el6.noarch
kernel-firmware-2.6.32-754.35.1.el6.noarch
kernel-2.6.32-754.35.1.el6.i686
kernel-headers-2.6.32-754.35.1.el6.i686
[root@paly ~]#

查看存储情况

[root@paly /]#df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_ton-lv_root
                       19G  8.8G  8.5G  51% /
tmpfs                 249M     0  249M   0% /dev/shm
/dev/sda1             477M   29M  423M   7% /boot
/dev/sda5             988M  161M  775M  18% /mnt/test

[root@paly /]# du -sh * | sort 
du: cannot read directory `home/test/public': No such file or directory
du: cannot read directory `misc/cd': No such file or directory
du: cannot access `proc/23485/task/23485/fd/4': No such file or directory
du: cannot access `proc/23485/task/23485/fdinfo/4': No such file or directory
du: cannot access `proc/23485/fd/4': No such file or directory
du: cannot access `proc/23485/fdinfo/4': No such file or directory
0       misc
0       net
0       proc
0       sys
13M     sbin
168K    dev
16K     lost+found
181M    mnt								#挂载文件
192M    lib
20K     tmp
2.4G    root								#根用户数据	
2.5G    home                           #用户数据
27M     boot
29M     etc								#配置文件
3.1G    usr								#程序文件
4.0K    cgroup
4.0K    media
4.0K    opt
4.0K    selinux
4.0K    srv
569M    var								#日志及临时文件
7.6M    bin
[root@paly /]#
[root@paly ~]#pwd
/root
[root@paly ~]#du -h --max-depth=1							#这里查看root为啥这么大,du看当前一级目录的使用情况
16K     ./.cmake
8.0K    ./.vim-fuf-data
8.0K    ./.lftp
4.0K    ./Mail
108K    ./.cache
4.0K    ./backup
12K     ./root
289M    ./php-5.5.10
1.1M    ./linux-0.11
1.9G    ./mysql-5.6.49
41M     ./busybox-1.20.2
4.0K    ./git
16K     ./.ssh
37M     ./.vim
12K     ./.config
20K     ./code_C++
8.0K    ./.pki
134M    ./test
2.4G    .
[root@paly ~]#

这里可以看到当年编译留下的php及mysql安装包很占内存,由于是安装包删除,记录好对应版本就可以删除了。

清除缓存

清除buffer

[root@tom-virtual-machine ~]# echo 1 > /proc/sys/vm/drop_caches

磁盘缓存清除时间(Disk flush intervals)可通过proc文件系统来修改磁盘缓存清除时间。下面的操作将默认的5秒时间间隔缩短到1秒。

echo "40 0 0 0 100 30000 60 0 0" > /proc/sys/vm/bdflush

删除邮件信息

[root@atom bin]#ls -lth /var/spool/mail
total 1.3M
-rw-------. 1 root mail 1.3M Oct 22 07:53 root
-rw-rw----. 1 tom  mail    0 Apr 12  2022 tom
-rw-rw----. 1 rpc  mail    0 Apr 12  2022 rpc
[root@atom bin]#
cat /dev/null > /var/spool/mail/root       #或许有重要的日志信息,慎重删除

处理日志

待写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将嵌入式Linux的代码精简到最少,可以采取以下几个步骤: 1. 选择合适的内核配置:在编译Linux内核时,通过配置文件选择只包含必要功能的最小配置,可以使用make menuconfig或make config等命令进行配置。只选择需要的设备驱动、文件系统、网络协议等,去掉不需要的功能和模块。 2. 精简启动过程:嵌入式系统通常可以通过bootloader进行启动,可以通过配置bootloader,如U-Boot,去掉不需要的功能和模块,减少启动时间和内存占用。 3. 优化内存使用:可以通过配置内存分配策略、使用轻量级数据结构等方式来优化内存使用。可以使用动态内存分配器(如malloc)的替代方案,如使用静态内存池或固定大小的内存分配器。 4. 移除不必要的库和应用程序:检查并移除不需要的库和应用程序,只保留必要的功能。可以使用静态链接代替动态链接,以减少库的依赖和体积。 5. 优化代码:对代码进行精简和优化,删除冗余代码、无用变量和函数。使用更高效的算法和数据结构,减少资源占用。 6. 压缩文件系统:使用压缩文件系统(如SquashFS)来减小文件系统的大小,节省存储空间。 7. 压缩可执行文件:使用工具(如strip)去除可执行文件中的调试信息和符号表,以减小文件大小。 需要注意的是,在精简代码的过程中,要确保删除的功能和模块不会影响系统的正常运行和所需功能。同时,为了提高可维护性和可扩展性,需要进行充分的测试和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值