[chroot] Il me manque libreadline6 ( résolu )

Questions et astuces concernant l'installation et la configuration d'archlinux
corpsy
newbie
Messages : 9
Inscription : ven. 11 mars 2011, 07:29

[chroot] Il me manque libreadline6 ( résolu )

Message par corpsy »

Bonjour.

J'ai fait quelques recherches mais je ne trouve pas grand chose du coup je poste ici.
D'une part j'ai fait la connerie du --force sur le libgc. Bon, suite à un poste j'ai démarré le liveCD ArchBang puis j'ai tapé ceci :

Code : Tout sélectionner

mv lib lib.old
ln -sf usr/lib lib
J'ai enfin pu atteindre le prompt de login, cependant maintenant je me retrouve avec un truc comme ça :

Code : Tout sélectionner

(none) login:
En gros il ne reconnait plus rien et si je tape quelque chose ça ne fait rien, les touches CTRL ALT SUPPR semblent faire planter le bouzin.
J'ai fais une recherche et je suis tombé sur un poste du forum ArchLinux Anglais, il est dit de chrooter pour faire un pacman -Syu.
Bon je fais la manip' du wiki fr, soit :

Code : Tout sélectionner

mount /dev/sdXY /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt /bin/bash
Mais là j'obtiens une erreur :

Code : Tout sélectionner

/bin/bash: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No sucj file or directory
Du coup il me manque cette lib', le soucis c'est que d'une part je ne sais pas si elle manque sur le liveCD ou sur mon Linux installé et d'une autre part je n'arrive pas à utiliser Pacman avec Archbang. Pacman -Qs [package] semble fonctionner mais pas pacman -S [package], qui me retourne :

Code : Tout sélectionner

error: target not found: [package]
J'ai bien internet sur le liveCD pourtant, d'ailleurs je peux faire la synchro de la database via -Sy.

J'espère que c'est clair, je continue de cherche en attendant.
Merci.

EDIT. Mon rc.conf upgrade via rc.conf.pacnew

Code : Tout sélectionner

#
# /etc/rc.conf - Main Configuration for Arch Linux
#

# -----------------------------------------------------------------------
# LOCALIZATION
# -----------------------------------------------------------------------
#
# LOCALE: available languages can be listed with the 'locale -a' command
# DAEMON_LOCALE: If set to 'yes', use $LOCALE as the locale during daemon
# startup and during the boot process. If set to 'no', the C locale is used.
# HARDWARECLOCK: set to "", "UTC" or "localtime", any other value will result
#   in the hardware clock being left untouched (useful for virtualization)
#   Note: Using "localtime" is discouraged, using "" makes hwclock fall back
#   to the value in /var/lib/hwclock/adjfile
# TIMEZONE: timezones are found in /usr/share/zoneinfo
#   Note: if unset, the value in /etc/localtime is used unchanged
# KEYMAP: keymaps are found in /usr/share/kbd/keymaps
# CONSOLEFONT: found in /usr/share/kbd/consolefonts (only needed for non-US)
# CONSOLEMAP: found in /usr/share/kbd/consoletrans
# USECOLOR: use ANSI color sequences in startup messages
#
LOCALE="en_US.UTF-8"
DAEMON_LOCALE="no"
HARDWARECLOCK="localtime"
TIMEZONE="Europe/Paris"
KEYMAP="fr-pc"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"

# -----------------------------------------------------------------------
# HARDWARE
# -----------------------------------------------------------------------
#
# MODULES: Modules to load at boot-up. Blacklisting is no longer supported.
#   Replace every !module by an entry as on the following line in a file in
#   /etc/modprobe.d:
#     blacklist module
#   See "man modprobe.conf" for details.
#
MODULES=(!ath_hal !ath_pci !ath_rate_amrr !ath_rate_onoe !ath_rate_sample !wlan !wlan_acl !wlan_ccmp !wlan_scan_ap !wlan_scan_sta !wlan_tkip !wlan_wep !wlan_xauth
  snd_seq_oss snd_pcm_oss snd_mixer_oss !pcspkr acpi-cpufreq k10tem vboxdrv)

# Udev settle timeout (default to 30)
UDEV_TIMEOUT=30

# Scan for FakeRAID (dmraid) Volumes at startup
USEDMRAID="no"

# Scan for BTRFS volumes at startup
USEBTRFS="no"

# Scan for LVM volume groups at startup, required if you use LVM
USELVM="no"

# -----------------------------------------------------------------------
# NETWORKING
# -----------------------------------------------------------------------
#
# HOSTNAME: Hostname of machine. Should also be put in /etc/hosts
#
HOSTNAME="corpsylaptop"

# Use 'ip addr' or 'ls /sys/class/net/' to see all available interfaces.
#
# Wired network setup
#   - interface: name of device (required)
#   - address: IP address (leave blank for DHCP)
#   - netmask: subnet mask (ignored for DHCP) (optional, defaults to 255.255.255.0)
#   - broadcast: broadcast address (ignored for DHCP) (optional)
#   - gateway: default route (ignored for DHCP)
# 
# Static IP example
# interface=eth0
# address=192.168.0.2
# netmask=255.255.255.0
# broadcast=192.168.0.255
# gateway=192.168.0.1
#
# DHCP example
# interface=eth0
# address=
# netmask=
# gateway=

interface=wlan0
address=
netmask=
broadcast=
gateway=

# Setting this to "yes" will skip network shutdown.
# This is required if your root device is on NFS.
NETWORK_PERSIST="no"

# Enable these netcfg profiles at boot-up. These are useful if you happen to
# need more advanced network features than the simple network service
# supports, such as multiple network configurations (ie, laptop users)
#   - set to 'menu' to present a menu during boot-up (dialog package required)
#   - prefix an entry with a ! to disable it
#
# Network profiles are found in /etc/network.d
#
# This requires the netcfg package
#
#NETWORKS=(main)

# -----------------------------------------------------------------------
# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
#   - prefix a daemon with a ! to disable it
#   - prefix a daemon with a @ to start it up in the background
#
# If something other takes care of your hardware clock (ntpd, dual-boot...)
# you should disable 'hwclock' here.
#
DAEMONS=(dbus acpid networkmanager syslog-ng !network !dhcdbd privoxy @tor sensors logmein-hamachi @alsa @openntpd)
Dernière modification par corpsy le sam. 21 juil. 2012, 16:15, modifié 1 fois.
Avatar de l’utilisateur
vlamy
yeomen
Messages : 268
Inscription : ven. 20 juil. 2012, 15:19
Localisation : Grenoble

Re: [chroot] Il me manque libreadline6

Message par vlamy »

Salut corpsy !
Je suis un noob archlinux, mais quand je lis ton topic, je ne peux m'empêcher de me poser la question : une réinstalle complète ne serait pas plus rapide?

Après c'est la solution du faible, mais bon des fois c'est pas mal d'être pragmatique :)
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [chroot] Il me manque libreadline6

Message par FoolEcho »

Y a déjà pas mal de sujets qui traitent de ça.
Par exemple, au plus près de ce dont tu as besoin à priori: http://forums.archlinux.fr/post98343.ht ... ase#p98343 (l'objectif étant de réinstaller carrément le groupe base, ça devrait déjà aller mieux).

@vlamy: ... *soupir*. :copain: :humour: :pastaper: :merci:
«The following statement is not true. The previous statement is true.» :nage:
corpsy
newbie
Messages : 9
Inscription : ven. 11 mars 2011, 07:29

Re: [chroot] Il me manque libreadline6

Message par corpsy »

Merci pour les réponses !

Effectivement je n'ai pas suffisamment cherché sur le forum, pourtant j'en étais persuadé...

J'ai essayé la commande pour installer glibc que j'ai trouvé sur le topic posté plus haut, soit :

Code : Tout sélectionner

pacman -r /point_cd_montage --noscriptlet -U http://www.archlinux.org/packages/core/x86_64/glibc/download/


J'ai bien le package qui s'est installé, cependant j'ai toujours mon erreur de libreadline.so.6 et donc je ne peux pas chrooter pour réinstaller Base...
Je comprends pas trop le soucis, c'est possible de réinstaller Base via le CD d'installation Arch ou je suis obligé d'utiliser le chroot ?

[Quelques mins plus tard] : Bon ben j'ai copier/coller les fichiers libreadline.so (lien symbolique) et libreadline.so.6 puis j'ai renommé libncursesw.so.5.9 en libncursesw.so.5
Je peux maintenant chrooter.

EDIT: Bon en fait ça ne fonctionne pas des masses, pacman me demande pleins de lib' dont une que je n'ai ni sur le Arch installé ni sur le ArchBang (liveCD). En fait c'est le foutoir dans mon /usr/lib/, j'avais un lien symbolique qui pointe sur lui-même par exemple... Je ne comprends rien.
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10711
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [chroot] Il me manque libreadline6

Message par FoolEcho »

corpsy a écrit :Je comprends pas trop le soucis, c'est possible de réinstaller Base via le CD d'installation Arch ou je suis obligé d'utiliser le chroot ?
Bien sûr. La même chose que tu as faite (nul besoin de chroot, il faut juste monter ta racine d'Arch): :)

Code : Tout sélectionner

pacman -r /point_cd_montage base
corpsy a écrit :[Quelques mins plus tard] : Bon ben j'ai copier/coller les fichiers libreadline.so (lien symbolique) et libreadline.so.6 puis j'ai renommé libncursesw.so.5.9 en libncursesw.so.5
Je peux maintenant chrooter.

EDIT: Bon en fait ça ne fonctionne pas des masses, pacman me demande pleins de lib' dont une que je n'ai ni sur le Arch installé ni sur le ArchBang (liveCD). En fait c'est le foutoir dans mon /usr/lib/, j'avais un lien symbolique qui pointe sur lui-même par exemple... Je ne comprends rien.
Évite ces bricolages, car nous aussi, on ne va plus rien comprendre. :?
«The following statement is not true. The previous statement is true.» :nage:
corpsy
newbie
Messages : 9
Inscription : ven. 11 mars 2011, 07:29

Re: [chroot] Il me manque libreadline6

Message par corpsy »

Oui en fait j'ai arrêter mon bricolage et j'ai tout simplement installer les bons packages avec pacman -r etc. :D

Maintenant j'ai des soucis dépendances et de versions quand j'essaye d'installer Base, rien d'anormal quoi. :lol:

En tout cas merci, je reviens si finalement tout se casse la tronche. :wink:
corpsy
newbie
Messages : 9
Inscription : ven. 11 mars 2011, 07:29

Re: [chroot] Il me manque libreadline6

Message par corpsy »

Bon.

J'ai eu ça comme erreur :
error: GPGME error: Inappropriate ioctl for device
error: [package]: missing required signature
error: failed to commit transaction (invalid or corrupted package)
Errors occurred, no packages were upgraded
Evidemment après avoir mis à jour pacman.conf via pacman.conf.pacnew et fait les manip' en rapport aux signatures. J'ai également réglé le " Siglevel " du fichier /etc/pacman.conf sur " Optional TrustAll " comme conseillé par un dev' d'Arch ( j'ai paumé le lien, désolé ).
Le soucis venait de la manière de monter le machin et de chrooter dedans, ce post m'a corrigé le soucis :
https://bbs.archlinux.org/viewtopic.php ... 5#p1038865
Soit rajouter cette ligne avant de chrooter :

Code : Tout sélectionner

mount --bind /dev/pts /mnt/dev/pts
Ensuite j'ai bloqué au boot, après avoir fait un pacman -Syu comme précisé dans l'une des news au sujet de filesystem.

Code : Tout sélectionner

Probing EDD (edd=off to disable)... ok
Decompressing Linux... Parsing ELF... done.
Booting the kernel.
ERROR: device ' /dev/disk/by-uudi/[le UUID de "/" qui est valide d'après /dev/disk/by-uudi]' not found
. skipping fsck.
ERROR: Unable to find root device ' /dev/disk/by-uuid/[le même UUID qu'en haut]'.
Your are being dropped to a recovery shell
   type 'exit' to try and continue booting [ça ne fonctionne pas, Segmentation fault en essayant de monter "/"]
sh can't access tty; job control turned off
[rootfs /]# ?
D'après le wiki Anglais sur pacman il faut faire ça :

Code : Tout sélectionner

# mkdir /mnt/arch
# mount /dev/sdaX /mnt/arch   #Your root partition.
# cd /mnt/arch
# mount -t proc proc proc/
# mount -t sysfs sys sys/
# mount -o bind /dev dev/
# mount /dev/sdaX boot/   #This step is only needed if you have a separate /boot partition.
# chroot .
# pacman -Syu udev mkinitcpio
# mkinitcpio -p linux
L'erreur est du à une mauvaise utilisation de --force avec pacman.
Maintenant je peux booter, lancer WMFS et ça à l'air de fonctionner. Enfin j'ai vu des !wlan_[machin] not found au boot donc je commmence un peu à paniquer, on verra bien.

Je passe le sujet sur résolu.
Répondre