apt-get falha na localidade LC_NUMERIC

2

Meu sistema não atualizará com 'atualizador de software', 'software Ubuntu' ou a linha de comando.

sudo apt-get upgrade retorna muito texto (veja abaixo). Meu palpite é que essa parte identifica o problema:

/usr/sbin/update-info-dir: 2: /etc/environment: LC_NUMERIC: not found

Se eu tentar apenas update-info-dir , recebo o mesmo erro.

sudo dpkg-reconfigure locales retorna:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en_US:en",
    LC_ALL = "en_US.UTF-8",
    LC_PAPER = "en_US.UTF-8",
    LC_ADDRESS = "en_US.UTF-8",
    LC_MONETARY = "en_US.UTF-8",
    LC_NUMERIC = "en_US.UTF-8",
    LC_TELEPHONE = "en_US.UTF-8",
    LC_IDENTIFICATION = "en_US.UTF-8",
    LC_MEASUREMENT = "en_US.UTF-8",
    LC_TIME = "en_US.UTF-8",
    LC_NAME = "en_US.UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_CTYPE to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_MESSAGES to default locale: No such file or directory
/usr/bin/locale: Cannot set LC_ALL to default locale: No such file or directory
Generating locales (this might take a while)...

/usr/bin/locale retorna:

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=en_US.UTF-8

Então eu tentei:

sudo locale-gen "en_US.UTF-8"
sudo locale-gen --purge --no-archive
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8

Fazendo login novamente

sudo apt-get upgrade ainda produz o mesmo resultado.

Baseado em outra resposta no Ask Ubuntu eu tentei

sudo apt install locales e apt-get -f install , mas isso não será executado pelo mesmo motivo.

Meu arquivo /etc/environment contém:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
LC_NUMERIC = "en_US.UTF-8"
LC_MONETARY = "en_US.UTF-8"
LC_PAPER = a4
LC_MEASUREMENT = "en_US.UTF-8"
LC_TIME = "en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"

O arquivo /etc/default/locale contém:

#  File generated by update-locale
LANG=en_US.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_MONETARY="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"
LANGUAGE="en_US:en"
LC_ALL=en_US.UTF-8

Minha variável PATH é:

/home/henkjan/bin:/home/henkjan/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

O resultado completo de sudo apt-get upgrade :

Reading package lists...
Building dependency tree...
Reading state information...
Calculating upgrade...
The following packages have been kept back:
  linux-generic linux-headers-generic linux-image-generic
The following packages will be upgraded:
  apparmor appmenu-qt5 desktop-file-utils eject firefox firefox-locale-en
  firefox-locale-nl flashplugin-installer gir1.2-appindicator3-0.1
  gir1.2-gst-plugins-base-1.0 gir1.2-gtk-3.0 gnome-software
  gnome-software-common grub-common grub-pc grub-pc-bin grub2-common
  gstreamer1.0-alsa gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
  gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-x imagemagick
  imagemagick-6.q16 libapparmor-perl libarchive13 libevent-2.0-5 libexiv2-14
  libgd3 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-good1.0-0
  libgtk-3-bin libimage-magick-perl libimage-magick-q16-perl
  liblightdm-gobject-1-0 libmagick++-6.q16-5v5 libmagickcore-6.q16-2-extra
  libmetacity-private3a libnm-glib-vpn1 libnm-glib4 libnm-gtk-common
  libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 liboxideqt-qmlplugin
  liboxideqtcore0 liboxideqtquick0 libpci3 lightdm linux-libc-dev makedev
  metacity-common multiarch-support network-manager network-manager-gnome
  oxideqt-codecs-extra pciutils python-pil python3-pil resolvconf snap-confine
  snapd sni-qt thermald thunderbird thunderbird-gnome-support
  thunderbird-locale-en thunderbird-locale-en-gb thunderbird-locale-en-us
  thunderbird-locale-nl ubuntu-software wget
75 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
1 not fully installed or removed.
Need to get 0 B/146 MB of archives.
After this operation, 3316 kB of additional disk space will be used.
Do you want to continue? [Y/n] Preconfiguring packages ...
Setting up install-info (6.1.0.dfsg.1-5) ...
/usr/sbin/update-info-dir: 2: /etc/environment: LC_NUMERIC: not found
dpkg: error processing package install-info (--configure):
 subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
 install-info
    
por HenkJan van der Pol 05.04.2017 / 23:02

1 resposta

1

Você deve remover tudo de /etc/environment , exceto a primeira linha (a configuração de PATH ). Além do fato de que as variáveis LANG e LC_* não pertencem lá ( /etc/default/locale é o lugar para elas), os espaços antes e depois do caractere = tornam as entradas inválidas.

    
por Gunnar Hjalmarsson 05.04.2017 / 23:12