#1 Le 11/07/2011, à 07:13
- YannUbuntu
Connaitre l'archi (32/64) d'un OS non utilisé ?
Bonjour
je cherche a determiner l'architecture (32/64 bits) de tous les Linux presents sur le PC. (pour le developpement de la v3 de Boot-Repair )
Apres quelques tests, il me semble que la commande uname ne donne l'archi que de l'OS en cours d'utilisation, meme en la lancant depuis un chroot.
--> Comment faire pour savoir si un Linux est 32 ou 64 bits sans l'utiliser ? est-ce que c'est indiqué dans un fichier de conf ?
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#2 Le 11/07/2011, à 07:55
- serged
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Dans /boot la commande "file" sur vmlinuz* doit pouvoir te dire :
serge@pastix:/boot$ sudo file vmlinuz-2.6.38-8-generic
vmlinuz-2.6.38-8-generic: Linux kernel x86 boot executable bzImage, version 2.6.38-8-generic (buildd@vernad, RO-rootFS, root_dev 0x801, swap_dev 0x4, Normal VGA
Évidemment, faut voir lequel est utilisé, et pour cela décortiquer la config de grub ou autre bootloader...
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#3 Le 11/07/2011, à 10:28
- jnq
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Terminal puis commande uname -a
Ubuntu 24.04.1 LTS
Hors ligne
#4 Le 11/07/2011, à 11:24
- wido
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
tu as une variable:
$ echo $MACHTYPE
x86_64-unknown-linux-gnu
dans l'archive /proc/config.gz
tu as ces infos là:
#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.39 Kernel Configuration
# Sat Jul 9 14:33:31 2011
#
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
sous archlinux.
Hors ligne
#5 Le 11/07/2011, à 14:39
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Merci pour vos réponses, même si apparemment aucune n'apporte la solution
@serged: ca me renvoie la même chose (Linux kernel x86..) depuis un OS 64bits et un 32bits.
@jnq: visiblement tu n'as même pas pris le temps de lire la question.
@Wido : /proc est vide sur un OS non utilisé, non ? et /proc/config.gz n'existe pas sur mon Ubuntu 64bits.
Par contre vous pouvez peut-etre m'aider :
- sur Ubuntu 64 bits il y a les dossiers /lib32 et /lib64 qui n'existent pas sur Ubuntu 32bits.
- pouvez-vous svp vérifier si c'est pareil sur les autres distros Linux que vous connaissez ? Wido, qu'en est-il sur Archlinux par exemple ?
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#6 Le 11/07/2011, à 15:20
- wido
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
effectivement:
$ ls /lib
lib/ lib64/
mais dans le dossier lib64, il n'y a pas grand chose.
$ ls /usr/
bin etc include lib lib32 libexec local man sbin share src var
Dernière modification par wido (Le 11/07/2011, à 15:22)
Hors ligne
#7 Le 11/07/2011, à 15:52
- jnq
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Bonjour, connaître l'architecture d'un linux sans l'utiliser et sans uname est impossible. Ce fier à la présence de dossier et librairie est aussi illusoire car elles peuvent être présentes pour des questions de compatibilité sans être utilisés !
#!/bin/bash
arch=$(uname -m)
if [ "$arch" == 'x86_64' ]
then
echo "x86_64"
else
echo "i686"
fi
Dernière modification par jnq (Le 11/07/2011, à 15:58)
Ubuntu 24.04.1 LTS
Hors ligne
#8 Le 11/07/2011, à 16:38
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
@wido: Merci. Tu n'as pas de dossier /lib64 a la racine de ton systeme ? ni de dossier /usr/lib64 ?
(sur Ubuntu pas de dossier /lib/lib64 , par contre il y a bien un dossier /usr/lib64 et un dossier /lib64 )
connaître l'architecture d'un linux sans l'utiliser et sans uname est impossible.
source stp ?
elles peuvent être présentes pour des questions de compatibilité
Effectivement, mais je pense que ca ne me bloquera pas. Par exemple dans mon Ubuntu 32bits, j'ai aussi un dossier /usr/lib64 mais il ne contient qu'un sous-dossier /usr/lib64/libfakeroot , alors que dans mon Ubuntu 64bits le dossier /usr/lib64 contient une multitude de sous-dossiers.
Je pourrais donc faire un test sur le nombre de dossiers dans ../lib64.
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#9 Le 11/07/2011, à 16:43
- wido
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Tu n'as pas de dossier /lib64 a la racine de ton systeme ? ni de dossier /usr/lib64 ?
oui j'ai bien un dossier pour /lib64 à la racine et dans ce dossier il n'y a que deux liens symboliques vers ld-linux-x86-64.so.2 et ld-2.14.so.
$ ls /
bin build etc lib lost+found mnt proc run srv tmp var
boot dev home lib64 media opt root sbin sys usr
$ ls -al /lib64/
total 8
drwxr-xr-x 2 root root 4096 25 juin 13:57 .
drwxr-xr-x 23 root root 4096 27 juin 22:59 ..
lrwxrwxrwx 1 root root 17 25 juin 13:57 ld-2.14.so -> ../lib/ld-2.14.so
lrwxrwxrwx 1 root root 27 25 juin 13:57 ld-linux-x86-64.so.2 -> ../lib/ld-linux-x86-64.so.2
et non je n'ai pas de dossier /usr/lib64
et c'est assez logique, /usr/lib pour le 64 bits et /usr/lib32 pour 32 bits. alors que sous ubuntu apparemment c'est différent.
Dernière modification par wido (Le 11/07/2011, à 16:45)
Hors ligne
#10 Le 11/07/2011, à 16:54
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
le test sur la presence du dossier /lib64 pourrait donc etre une solution valable sur plusieurs distros ... il faudrait pouvoir verifier sur d'autres distros si ce dossier existe...
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#11 Le 11/07/2011, à 18:06
- wido
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Sous fedora 15 64 bits
présence du dossier /lib64 et /usr/lib64
Hors ligne
#12 Le 13/07/2011, à 03:36
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Merci.
@tous: petite enquete: http://forum.ubuntu-fr.org/viewtopic.ph … 1#p5342961
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#13 Le 13/07/2011, à 08:02
- serged
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
/lib64 :
Notons que /lib64 est un lien symbolique vers /lib... Peut-être plus judicieux de tester la présence de /lib32 ?
Idem pour /usr/lib64...
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#14 Le 13/07/2011, à 08:30
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Salut
D'apres Wido (post #5), sur Arch il y a un dossier /lib64 mais pas de /lib32 , c'est pourquoi le test sur /lib64 me semble plus "universel".
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#15 Le 13/07/2011, à 09:10
- f.x0
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Re-bonjour YannUbuntu,
j'ai répondu à ton enquête,
mais je tiens à préciser ceci :
ATTENTION !!!
Sur DEBIAN Squeeze 64 Bits, j'ai un dossier /lib32,
qui à dû s'installer avec wine
SOPI
Hors ligne
#16 Le 13/07/2011, à 09:23
- lann
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Le fichier /etc/motd te donne l'architecture de l'ordi
chez moi :
Linux lann 2.6.32-5-amd64 #1 SMP Tue Jun 14 09:42:28 UTC 2011 x86_64
mais il peut être modifié
<Modéré>
Hors ligne
#17 Le 13/07/2011, à 09:28
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
@f.x0 : sur ma Ubuntu 64 bits aussi. Il faudrait voir sur une Ubuntu 64bits de base si ce dossier existe ou pas.
Ce qui est sur, c'est que sur une Ubuntu 32bits de base ce dossier /lib32 n'existe pas.
Bref pour l'instant le meilleur indicateur c'est le dossier (ou lien) /lib64 .
@lann : merci je vais regarder. EDIT : raté , il ne donne que la valeur du systeme utilise. Par exemple si je consulte celui de mon Ubuntu10.10 32 depuis mon Ubuntu11.04 64, il me donne:
Welcome to Ubuntu 11.04 (GNU/Linux 2.6.38-8-generic x86_64)
Dernière modification par YannUbuntu (Le 13/07/2011, à 09:35)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#18 Le 13/07/2011, à 09:35
- f.x0
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
D'autres pistes :
/boot/vmlinuz-2.6.32-5-amd64
/boot/initrd.img-2.6.32-5-amd64
/boot/config-2.6.32-5-amd64
/usr/bin/x86_64
/usr/bin/base64
/usr/bin/linux64
/usr/src/linux-headers-2.6.32-5-amd64
/var/lib/initramfs-tools/2.6.32-5-amd64
/var/lib/dpkg/info/linux-headers-2.6.32-5-amd64.postinst
/lib/modules/2.6.32-5-amd64
SOPI
Hors ligne
#19 Le 13/07/2011, à 09:36
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
@f.x0 : merci, je vais regarder tout ca
EDIT: en comparant mes Ubuntu 32 et 64, il n'y a que /usr/bin/x86_64 qui est bon (existe sous Ubuntu 64 mais pas sous 32). @Wido : peux-tu regarder sur Arch et Fedora stp ?
Dernière modification par YannUbuntu (Le 13/07/2011, à 09:55)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#20 Le 13/07/2011, à 10:37
- f.x0
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Ok YannUbuntu,
par contre tu me surprends, tu as amd64 à la fin des fichiers sur la 64 Bits ???
/boot/vmlinuz-2.6.32-5-amd64
/boot/initrd.img-2.6.32-5-amd64
/boot/config-2.6.32-5-amd64
/usr/src/linux-headers-2.6.32-5-amd64
/var/lib/initramfs-tools/2.6.32-5-amd64
/lib/modules/2.6.32-5-amd64
Dernière modification par f.x0 (Le 13/07/2011, à 11:59)
SOPI
Hors ligne
#21 Le 13/07/2011, à 11:58
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
non: sur mon Ubuntu 64bits, je n'ai pas les -amd64 a la fin de ces fichiers.
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#22 Le 13/07/2011, à 17:59
- wido
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
ArchLinux:
$ ls /boot/
grub kernel26-lts.img vmlinuz26
kernel26-fallback.img lost+found vmlinuz26-lts
kernel26.img System.map26
kernel26-lts-fallback.img System.map26-lts
$ ls /usr/src/
linux-2.6.32-lts linux-2.6.39-ARCH
$ ls /lib/modules/
2.6.32-lts 2.6.37-ARCH 2.6.39-ARCH
dossier /var/lib/initramfs-tools/ n'existe pas.
$ ls /usr/bin/*x86_64*
/usr/bin/extra-x86_64-build
/usr/bin/staging-x86_64-build
/usr/bin/testing-x86_64-build
/usr/bin/x86_64
/usr/bin/x86_64-unknown-linux-gnu-c++
/usr/bin/x86_64-unknown-linux-gnu-g++
/usr/bin/x86_64-unknown-linux-gnu-gcc
/usr/bin/x86_64-unknown-linux-gnu-gcc-4.6.1
/usr/bin/x86_64-unknown-linux-gnu-gfortran
$ ls /usr/bin/*64*
/usr/bin/base64
/usr/bin/extra-x86_64-build
/usr/bin/linux64
/usr/bin/staging-x86_64-build
/usr/bin/testH264VideoStreamer
/usr/bin/testH264VideoToTransportStream
/usr/bin/testing-x86_64-build
/usr/bin/wine64
/usr/bin/wine64-preloader
/usr/bin/x264
/usr/bin/x86_64
/usr/bin/x86_64-unknown-linux-gnu-c++
/usr/bin/x86_64-unknown-linux-gnu-g++
/usr/bin/x86_64-unknown-linux-gnu-gcc
/usr/bin/x86_64-unknown-linux-gnu-gcc-4.6.1
/usr/bin/x86_64-unknown-linux-gnu-gfortran
Fedora:
je teste et j'éditerai le post après.
/boot/ bien deux fichiers finissant par x86_64
/lib/modules/ bien un fichier finissant par x86_64
/usr/bin/base64
/usr/bin/linux64
/usr/bin/x86_64
pour les autres dossiers que je n'ai pas énoncé il n'y a rien en rapport au 64 bits.
Dernière modification par wido (Le 13/07/2011, à 18:28)
Hors ligne
#23 Le 14/07/2011, à 03:12
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
ok merci. Pour l'instant il semble que pour toutes les distros on a : /lib64 et /usr/bin/x86_64 qui sont presents sur 64bits et pas sur 32bits.
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne
#24 Le 28/08/2011, à 03:51
- YannUbuntu
Re : Connaitre l'archi (32/64) d'un OS non utilisé ?
Bonjour
pour info, je viens de tomber sur un OS 32bits ayant des librairies 64bits (ayant servi a compiler Octave):
The results of ls /lib64 are
ld-2.13.so libm-2.13.so libnss_nisplus.so.2
ld-linux-x86-64.so.2 libmemusage.so libnss_nis.so.2
libanl-2.13.so libm.so.6 libpcprofile.so
libanl.so.1 libnsl-2.13.so libpthread-2.13.so
libBrokenLocale-2.13.so libnsl.so.1 libpthread.so.0
libBrokenLocale.so.1 libnss_compat-2.13.so libresolv-2.13.so
libc-2.13.so libnss_compat.so.2 libresolv.so.2
libcidn-2.13.so libnss_dns-2.13.so librt-2.13.so
libcidn.so.1 libnss_dns.so.2 librt.so.1
libcrypt-2.13.so libnss_files-2.13.so libSegFault.so
libcrypt.so.1 libnss_files.so.2 libthread_db-1.0.so
libc.so.6 libnss_hesiod-2.13.so libthread_db.so.1
libdl-2.13.so libnss_hesiod.so.2 libutil-2.13.so
libdl.so.2 libnss_nis-2.13.so libutil.so.1
libgcc_s.so.1 libnss_nisplus-2.13.soThe packages are these are from are
g++-4.5-multilib (4.5.2-8ubuntu4)
g++-multilib (4:4.5.2-1ubuntu3)
gcc-4.5-multilib (4.5.2-8ubuntu4)
gcc-multilib (4:4.5.2-1ubuntu3)
gfortran-4.5-multilib (4.5.2-8ubuntu4)
gfortran-multilib (4:4.5.2-1ubuntu3)
lib64gcc1 (1:4.5.2-8ubuntu4)
lib64gfortran3 (4.5.2-8ubuntu4)
lib64gfortran3-dbg (4.5.2-8ubuntu4)
lib64gomp1 (4.5.2-8ubuntu4)
lib64stdc++6 (4.5.2-8ubuntu4)
libc6-amd64 (2.13-0ubuntu13)
libc6-dev-amd64 (2.13-0ubuntu13)
à consulter/améliorer: Guide du Débutant, Logiciels, Ecole, Travail, Maison
Hors ligne