¿Cómo hago para eliminar todos los paquetes de idiomas que no necesito?

11

Acabo de notar que /usr/share/helptengo los archivos de ayuda de ubuntu en 70 idiomas diferentes. Solo hablo 2, y realmente solo calculo en uno. También noté que está lleno de enlaces simbólicos rotos a / usr / share / help-langpack.

Solo quiero deshacerme de todos los idiomas que no necesito. ¿Cómo puedo hacer esto sin ser rm -rfeliz? Preferiblemente estoy buscando una manera de hacer esto sin instalar ningún paquete nuevo, ya que mi objetivo principal es eliminar el exceso de cosas en mi máquina. Me gustaría encontrar una manera de hacer esto preferiblemente con dpkg o apt.

blanket_cat
fuente
1
Esos enlaces simbólicos son parte de una configuración con el objetivo de evitar instalar archivos de ayuda en todos los idiomas en todas las máquinas. Entonces, sí, hay bastantes enlaces simbólicos 'rotos', pero eso es mejor que los archivos de ayuda, ¿verdad? Mi consejo: no te molestes. Los enlaces simbólicos pertenecen a varios paquetes y, si los elimina, volverán a aparecer la próxima vez que se actualice el paquete correspondiente.
Gunnar Hjalmarsson

Respuestas:

10


Puede verificar qué configuraciones regionales se generan y configuran en su sistema con el comando locale:

  • locale ... enumera la configuración regional actual
  • locale -a ... enumera todas las configuraciones regionales que se generaron en su sistema
  • locale -a -v ... enumera todas las configuraciones regionales y muestra información adicional útil (como los nombres de directorio que contienen los archivos de datos de información de la configuración regional)

El último comando de arriba te hace ver que todas las configuraciones regionales generadas están ubicadas /usr/lib/locale/, puedes eliminar cualquiera de ellas si no es necesario. Cada paquete de información local es un directorio que contiene archivos de texto y otros directorios.

Todas las configuraciones regionales que desea que su sistema admita se enumeran en los archivos de texto /var/lib/locales/supported.d/. Estos archivos tienen dos columnas, etiqueta de idioma y mapa de caracteres.

Quiero que mi sistema sepa solo inglés de EE. UU., Por lo que solo tengo un archivo, llamado en, que contiene una sola línea:

en_US UTF-8

Mensajes de
error Si se muestran mensajes de error al emitir el comando locale, por ejemplo:

locale: Cannot set LC_ALL to default locale: No such file or directory

asegúrese de que el archivo /etc/default/localeexiste y tiene el contenido adecuado, como:

LANG="en_US"
LANGUAGE="en_US:en"

Deshágase de los datos locales innecesarios: paso a paso

Ahora conocemos todos los detalles necesarios para comenzar a limpiar la información local de nuestro sistema:

  1. Edite los archivos de configuración regional /var/lib/locales/supported.d/y elimine todas las configuraciones regionales innecesarias (una configuración regional por línea)
  2. Crear y editar /etc/default/locale(ver arriba para un ejemplo)
  3. Eliminar todos los datos locales generados: rm -rfv /usr/lib/locale/*
  4. Vuelva a generar nuevas configuraciones regionales: locale-gen

¡Eso es todo! Reinicie su máquina para que sus cambios surtan efecto. Luego, ejecute uno o más de los ejemplos de comandos de configuración regional desde arriba para asegurarse de que el resultado sea el esperado.

~# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
~# 
~# locale -a -v
locale: en_US.utf8      directory: /usr/lib/locale/en_US.utf8
-------------------------------------------------------------------------------
    title | English locale for the USA
   source | Free Software Foundation, Inc.
  address | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
    email | [email protected]
 language | English
territory | USA
 revision | 1.0
     date | 2000-06-24
  codeset | UTF-8

Hay un paquete para Debian / Ubuntu que puede hacerse cargo de la eliminación de locales y la configuración regional archivos relacionados (por ejemplo, páginas del manual): localepurge. Puede instalarlo / ejecutarlo emitiendo:

sudo apt-get install localepurge

Una vez instalado, debe ejecutar esto:

dpkg --configure localepurge

para garantizar que la configuración de idioma esté configurada correctamente.

para ejecutarlo manualmente una vez instalado (aunque realmente no debería necesitarlo, ya que debería ejecutarse automáticamente después de cada dpkgejecución), simplemente puede hacer:

sudo localepurge

Sin embargo, lea la página de manual antes de usarla. Si puedes hacer tus cosas sin él, probablemente sea más seguro dejarlo ir.

de estos foros

ref:
1. LocaleConf en la documentación oficial
2. Linux man page
3. Locale en wikipeadia
4. man localepurge

αғsнιη
fuente
Gracias por la sugerencia, si no puedo encontrar una manera de hacer esto con lo que ya está instalado en mi computadora, definitivamente lo usaré.
blanket_cat
1
@knotech ¿Por qué no lo instala, lo ejecuta y lo desinstala? No estoy seguro de por qué eres tan tenso acerca de instalar un paquete.
Brian Graham el
1
@knotech vea la documentación oficial help.ubuntu.com/community/LocaleConf .
αғsнιη
Lo sentimos, pero no creo que localpurge aborde las preguntas de los OP de ninguna manera.
Gunnar Hjalmarsson
1
El OP le preguntó sobre los paquetes de idiomas ... Pero suponiendo que él también esté interesado en eliminar configuraciones redundantes, ¿por qué instalar localpurge? ¿Por qué no solo locale-gen --purge?
Gunnar Hjalmarsson
3

En cuanto a los idiomas instalados en realidad, vaya a Configuración del sistema -> Soporte de idiomas y haga clic en el Idiomas ... Instalación / Eliminación botón. Luego, desmarca los idiomas que no necesitas.

En cuanto a los enlaces simbólicos /usr/share/help, vea mi comentario sobre su pregunta.

Gunnar Hjalmarsson
fuente