uname -m
Дает мне
x86_64
,но
getconf LONG_BIT
дает
32
Так у меня 64- или 32-битная система? (это Gentoo и у меня нет прав root)
решение1
Ваш процессор 64-битный. Ваше ядро 64-битное. Что-то еще 32-битное, но трудно сказать, что именно. Возможно, то, getconf
что стоит первым на вашем пути, — 32-битное. Ищите /usr/libexec/getconf
подсказки.
Обновлять: Похоже, что у вас в основном 32-битное пользовательское пространство. Возможно, кто-то просто установил 64-битную ОС, чтобы получить поддержку более 4 ГБ физической памяти. Возможно, у вас есть некоторые 64-битные исполняемые файлы. Но теперь очевидно, что у вас смешанная среда.
решение2
Попробуйте arch
, если он печатает x86_64, у вас 64 бита. Вы получаете 32 для LONG_BIT, потому что некоторые приложения, которые вы используете, являются 32-битными, в вашем случае это может быть gcc, скомпилированный как 32-битный.
Итак, ваш Arch на самом деле 64-битный, и вы можете запускать 64-битные приложения, но вы установили 32-битный gcc.
решение3
Я не помню, нужен ли вам доступ root, чтобы прочитать make.conf в Gentoo, но попробуйте
grep CHOST /etc/make.conf
Если вы получите
CHOST="x86_64-pc-linux-gnu"
Тогда ваша система настроена на компиляцию и установку 64-битных пакетов. В противном случае, если вы получаете
CHOST="i686-pc-linux-gnu"
Тогда ваша система настроена на 32-битную версию.
Если вы не получаете ни того, ни другого, вам могут понадобиться права root. Учитывая ваши uname
мысли, я бы ожидал, что ваша система будет 64-битной.