Difference between revisions of "64-bit FAQ (Русский)"

From ArchWiki
Jump to: navigation, search
(wikify some external links, use https for archlinux.org)
Line 1: Line 1:
 
[[Category:Arch64 (Русский)]]
 
[[Category:Arch64 (Русский)]]
[[Category:FAQ_(Русский)]]
 
 
[[cs:Arch64 FAQ]]
 
[[cs:Arch64 FAQ]]
 
[[el:Arch64 FAQ]]
 
[[el:Arch64 FAQ]]

Revision as of 08:27, 29 December 2012

Ниже приведён список часто задаваемых вопросов о Arch64.

Contents

Как узнать, является ли мой процессор x86_64 совместимым?

Запустите в терминале:

less /proc/cpuinfo

и проглядите значение "flags" на наличие флага "lm". Если он присутствует - ваш процессор является x86_64 совместимым.

Или попробуйте это:

grep "^flags.*\blm\b" /proc/cpuinfo

Какую версию Arch мне использовать - 32-битную или 64-битную?

Если ваш процессор поддерживает x86_64, Вам следует использовать Arch_64, если вы не планируете работать с этими программами . Помните, что Arch32 не поддерживает больше 3 Гб оперативной памяти по умолчанию: вам следует использовать Arch64 если у вас стоит больше.

Как установить Arch64?

Просто используйте наш официальный образ установочного CD.

Насколько полноценным является порт? Будут ли доступны все пакеты из моего окружения Arch32?

Репозитории Core и Extra портированы и абсолютно все пакеты вовремя обновляются, отставание по времени от Arch Linux i686 от нескольких часов до нескольких дней. Наши доверенные ползователи (TU) сейчас работают над портированием репозитория Community.

Порт уже готов для повседневного использования в качестве рабочего стола или сервера.

Означает ли 64-битность большой прирост производительности?

Для приложений использующих 64-битные регистры процессора (большие базы данных и т.п.) это в большинстве случаев соответствует действительности. Некоторые мультимедиа-приложения также будут выполняться заметно быстрее. Если вам известны приложения которые показывают большой прирост скорости при использовании расширений SSE3, вы можете пересобрать пакет самостоятельно. Мы компилируем с поддержкой только SSE2 (из march=x86_64) и с оптимизациями -O2. Для дальнейшей информации читайте http://forums.gentoo.org/viewtopic.php?t=221045 или http://www.thejemreport.com/mambo/content/view/74/74/ .

При интенсивных нагрузках 64-битные системы показывают себя значительно лучше, чем 32-битные, однако в большинстве случаев производительность будет такой же или даже еще ниже.

Внимание: при обновлении с версии glibc < 2.4!

Если вы обновлятесь с glibc версии ниже 2.4 важно выполнить это отдельным шагом. Выполните сначала

pacman -Sy glibc

и, если эта операция завершилась успешно,

pacman -Su

В противном случае обновление библиотек может дать сбой и вам придётся использовать pacman.static чтобы всё починить.

Как сообщить об ошибке?

Просто используйте багтрекер Arch, но в поле Architecture выберите x86_64 если вы думаете что проблема отностися именно к порту Arch64.

У вас есть список рассылки?

Да, существует общий список рассылки посвященный портам arch.

Какие репозитории я могу использовать в pacman?

Для этого порта поддерживаются все репозитории.

Как получить PKGBUILD'ы Arch64?

Мы используем ABS для 32-битного Arch. Рекомендуемое место для хранения - /var/abs. abs скачивает все файлы из CVS помеченные тегом CURRENT-64.

Как собрать новые пакеты для Arch64 используя существующие 32-битные PKGBUILD'ы?

У нас общие PKGBUILD'ы с Arch32. Вы можете получить ещё не портированные PKGBUILD'ы из CVS: https://www.archlinux.org/cvs/

Как модифицировать PKGBUILD'ы для использования в Arch64?

Для всех портированных пакетов мы добавляем следующую переменную:

arch=('i686' 'x86_64')

Небольшие изменения вносите непосредственно в исходники и раздел md5sums, а для совсем отдельных исходников используйте

[ "$CARCH" = "x86_64" ] && source=(${source[@]} 'other source')
[ "$CARCH" = "x86_64" ] && md5sums=(${md5sums[@]} 'other md5sum')

Для маленьких исправлений в сборочном разделе:

[ "$CARCH" = "x86_64" ] && (patch -Np0 -i ../foo_x86_64.patch || return 1)

Или, если вам нужно больше изменений:

if [ "$CARCH" = "x86_64" ]; then
    configure/patch/sed      # for x86_64
  else configure/patch/sed   # for i686
fi

Для разработчиков:

cvs commit -m "x86_64 updated/fixed or whatever"
cvs tag -cFR CURRENT-64 foo-package-directory (even for extra, community, unstable and testing)

Что я потеряю в Arch64?

Почти ничего. Все (или практически все) приложения уже поддерживают x64. Самой большой проблемой являются проприетарные программы и программы, содержащие x86-специфичный ассемблерный код (например, эмуляторы). Ранее эти приложения не поддерживали x64, но уже доступны в AUR и прекрасно работают:

  • Zsnes - это bin32-zsne
  • Плагин Acrobat Reader не доступен в x64, но вы можете запустить 32-битную версию в режиме совместимости. Также имеется достаточно свободных альтернатив для чтения pdf-файлов.

Всё остальное должно быть переносимым. Если вам не хватает какого-то пакета из Arch32 в нашем порте и вы знаете что он собирается под x86_64 (например вы нашли его в другом 64-битном дистрибутиве, без использования lib32), просто свяжитесь с разработчиками.

Могу ли я собирать 32-битные пакеты для i686 используя Arch64?

Да. Вы можете использовать

  • версии библиотек из репозитория [multilib] или
  • chroot-окружение i686.

Мультиверсионный Репозиторий - Multilib_Project

Чтобы использовать репозиторий [multilib] добавьте в ваш pacman.conf следующее:

[multilib]
Include = /etc/pacman.d/mirrorlist

Обновите базу:

pacman -Sy

и установите компилятор gcc-multilib с зависимостями:

pacman -S gcc-multilib gcc-libs-multilib binutils-multilib libtool-multilib lib32-glibc

Chroot

Вам необходимо создать работающее chroot-окружение i686 (рекомендуется инсталляция "quickinstall" с образа i686 для быстрой установки внутри Arch64 или смотрите Arch64 Install bundled 32bit system). Установите пакет с обертками (врапперами) "linux32" из current чтобы заставить chroot вести себя как реальная система i686. Далее используйте следующий скрипт для входа в chroot-окружение в качестве пользователя root:

#!/bin/bash
mount --bind /dev /path-to-your-chroot/dev
mount --bind /dev/pts /path-to-your-chroot/dev/pts
mount --bind /dev/shm /path-to-your-chroot/dev/shm
mount -t proc none /path-to-your-chroot/proc
mount -t sysfs none /path-to-your-chroot/sys
linux32 chroot /path-to-your-chroot

Если исходники хранятся на вашей x86_64 хост-системе вы можете добавить

mount --bind /path-to-your-stored-sources /path-to-your-chroot/path-to-your-stored-sources

чтобы сделать их доступными в chroot-системе для сборки пакета согласно /etc/makepkg.conf.

Могу я запускать 32-битные приложения внутри Arch64?

Да!

  • вы можете установить lib32-* библиотеки из репозитория [multilib]. Чтобы его задействовать добавьте следующее в ваш pacman.conf:
[multilib]
Include = /etc/pacman.d/mirrorlist

На данный момент (август 2010) он содержит wine, skype и flashplugin. Также доступен multilib компилятор.

  • вы можете создать chroot-окружение с 32-битной системой

Для создания 32-битного chroot-окружения:

Загрузитесь в Arch64, startx, откройте терминал.

xhost +local:
su
mount /dev/sda1 /mnt/arch32
mount --bind /proc /mnt/arch32/proc
chroot /mnt/arch32
su your32bitusername
/usr/bin/command-you want # or eg: /opt/mozilla/bin/firefox

Некоторые 32-битные приложения могут требовать дополнительных связей. Можно поместить следующие строки в rc.local чтобы убедиться что вы получите всё что нужно для 32-битных приложений (предполагается что /mnt/arch32 монтируется в fstab):

mount --bind /dev /mnt/arch32/dev
mount --bind /dev/pts /mnt/arch32/dev/pts
mount --bind /dev/shm /mnt/arch32/dev/shm
mount --bind /proc /mnt/arch32/proc
mount --bind /proc/bus/usb /mnt/arch32/proc/bus/usb
mount --bind /sys /mnt/arch32/sys
mount --bind /tmp /mnt/arch32/tmp
#comment the following line if you do not use the same home folder
mount --bind /home /mnt/arch32/home

Теперь вы можете набрать в терминале:

xhost +localhost
sudo chroot /mnt/arch32 su your32bitusername /opt/openoffice/program/soffice

Могу я обновить/переключить мою систему с i686 на x86_64 без переустановки?

Да. Об этом повествует топик, в котором описаны базовые шаги, позволяющие успешно обновить 32-битную систему до 64-битной без потери данных. Имейте в виду, что для этого нужен носитель большого объема.

Впрочем, вы также можете загрузиться с установочного диска Arch64, примонтировать разделы, сделать резервные копии всего, что не является 32-битными исполняемыми файлами (например /home и /etc) и выполнить установку.