Red*_*ket 20 rhel disk-usage locale
我需要减小locale-archive
某些 RHEL6 系统上的文件大小。
这是我系统上的那个文件:
[root@-dev-007 locale]# ls -l
total 96800
-rw-r--r--. 1 root root 99158704 Sep 9 15:22 locale-archive
-rw-r--r--. 1 root root 0 Jun 20 2012 locale-archive.tmpl
Run Code Online (Sandbox Code Playgroud)
所以我做了这个...
[root@-dev-007 locale]# localedef --list | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
Run Code Online (Sandbox Code Playgroud)
......所以我想我可以摆脱zh_CN
这样......
[root@-dev-007 locale]# localedef --delete-from-archive zh_CN
Run Code Online (Sandbox Code Playgroud)
......我可以看到zh_CN
不再像这样被列出......
[root@-dev-007 locale]# localedef --list | grep zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
Run Code Online (Sandbox Code Playgroud)
...但尺寸locale-archive
并没有变小...
[root@-dev-007 locale]# ls -l
total 96800
-rw-r--r--. 1 root root 99158704 Sep 9 17:16 locale-archive
-rw-r--r--. 1 root root 0 Jun 20 2012 locale-archive.tmpl
Run Code Online (Sandbox Code Playgroud)
……还有什么我需要做的吗?
Joe*_*lor 27
您可以首先通过执行以下操作删除所有不需要的语言环境:
$localedef --list-archive | grep -v -i ^en | xargs localedef --delete-from-archive
Run Code Online (Sandbox Code Playgroud)
Where^en
可以替换为您希望保留的语言环境
然后
$build-locale-archive
Run Code Online (Sandbox Code Playgroud)
如果这给您类似的错误
$build-locale-archive
/usr/sbin/build-locale-archive: cannot read archive header
Run Code Online (Sandbox Code Playgroud)
然后试试这个
$mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
$build-locale-archive
Run Code Online (Sandbox Code Playgroud)
如果仍然失败,请检查您的版本。根据此页面,较新的版本没有必要的文件来重建存档以节省空间。你需要跑
yum reinstall glibc-common
Run Code Online (Sandbox Code Playgroud)
在 Red Hat Enterprise Linux 的更高版本中,您可以使用dnf
类似的应用程序。