Arch64 FAQ (Русский)

From ArchWiki

Jump to: navigation, search


i18n
Česky
English
Español
Ελληνικά
Italiano
简体中文
Русский

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

Contents

Как установить 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/ .

Для всех остальных частей системы: это не играет абсолютно никакой роли, если компьютер ждёт нажатия клавиш.

Для дальнейших деталей смотрите наш список TODO для Arch64. Там же вы найдёте список сравнивающий версии пакетов arch32/arch64.

На данный момент у меня работаю три машины с 64-битными arch'ами и они ведут себя намного лучше при интенсивных нагрузках. Видимо это всё-таки более эффективно.

Внимание: при обновлении с версии 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: http://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?

Известно, что следующие приложения несовместимы с 64-битами:

  • такие проприетарные приложения как Skype, TeamSpeak, некоторые игры
  • дополнительные win32-кодеки (... которые на самом деле никому не нужны)
  • пакеты использующие 32-битный ассемблерный код x86 (некоторые эмуляторы, такие как zsnes и syslinux)

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

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

Да. Вам необходимо создать работающее 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-* библиотеки из репозитория community
  • вы можете создать 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 без переустановки?

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

Personal tools