Rhel

如何減小 locale-archive 的大小?

  • February 4, 2019

我需要減小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

所以我做了這個……

[root@-dev-007 locale]# localedef --list | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

…所以我想我可以像這樣擺脫zh_CN

[root@-dev-007 locale]# localedef --delete-from-archive zh_CN

…我可以看到zh_CN不再像這樣列出…

[root@-dev-007 locale]# localedef --list | grep zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8

…但是尺寸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

……我還有什麼需要做的嗎?

您可以首先刪除所有不需要的語言環境:

$localedef --list-archive | grep -v -i ^en | xargs localedef --delete-from-archive

在哪裡^en可以替換為您希望保留的語言環境

然後

$build-locale-archive

如果這給你一個類似於

$build-locale-archive
/usr/sbin/build-locale-archive: cannot read archive header

然後試試這個

$mv /usr/lib/locale/locale-archive /usr/lib/locale/locale-archive.tmpl
$build-locale-archive

如果仍然失敗,請檢查您的版本。根據此頁面,較新的版本沒有必要的文件來重建存檔以節省空間。你需要執行

yum reinstall glibc-common

在 Red Hat Enterprise Linux 的更高版本中,您可以使用dnf類似的應用程序。

引用自:https://unix.stackexchange.com/questions/90006