Como reduzo o tamanho do arquivo de localidade?

15

Eu tenho a necessidade de reduzir o tamanho do arquivo locale-archive em alguns dos meus sistemas RHEL6.

Aqui está esse arquivo no meu sistema:

[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

Então eu fiz isso ...

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

... então eu percebi que poderia me livrar de zh_CN como assim ...

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

... e posso ver que zh_CN não é mais listado assim ...

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

... mas o tamanho do locale-archive não diminui ...

[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

... há algo mais que eu precise fazer?

    
por Red Cricket 09.09.2013 / 23:22

1 resposta

18

Em primeiro lugar, você pode remover todos os locais desnecessários:

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

Onde ^en pode ser substituído pela localidade que você deseja manter

Então

$build-locale-archive

Se isso lhe der um erro semelhante a

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

Então tente isso

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

Se isso ainda falhar, verifique sua versão. De acordo com esta página , as versões mais recentes não têm os arquivos necessários para reconstruir o arquivo para economizar espaço. Você precisará executar

yum reinstall glibc-common

Em versões posteriores do Red Hat Enterprise Linux, você pode usar o dnf , um aplicativo similar.

    
por 10.09.2013 / 01:06