Arch64 问答 (简体中文)
From ArchWiki
i18n |
---|
English |
Español |
Ελληνικά |
Italiano |
简体中文 |
Русский |
下面是关于Arch64的问答列表。
如何安装Arch64?
使用官方安装iso光盘.
移植完整吗?是否拥有所有Arch32环境下的软件包?
Core和Extra软件仓库都已移植,绝大部分都已是最新,只是滞后Arch Linux i686几小时或者几天。我们的TU正努力移植Community仓库。
目前的移植已经可以应付日常的桌面和服务器环境的使用。
64-bit是否意味着速度的飙升?
对于使用64-bit CPU寄存器(大型数据库之类)的应用,的确很多是这样的。某些多媒体应用程序的运行也明显更快。如果你知道哪个应用程序在使用SSE3扩展时运行更快,你可以自己重建这个软件包。我们只用SSE2(from march=x86_64)和-O2优化参数进行编译。 详情请阅读http://forums.gentoo.org/viewtopic.php?t=221045 或者 http://www.thejemreport.com/mambo/content/view/74/74/ 。
对于其它程序:如果需要等待输入的话,速度上不会有什么区别。
进一步详情请看Arch64_ToDoS。你将可以找到一个arch32/arch64软件包版本的比较列表。
对于个别启动问题请试试这些特殊内核启动标记:http://www.x86-64.org/lists/discuss/msg03747.html (死链接)
我现在运行着3个64-bit的Arch,它们在高负荷下运行得明显更好。It just seems to deliver more punch.
当你的glibc从2.4版本以下更新时请当心!
当你的glibc从2.4版本以下更新时,必须分步执行。因此仅当pacman -Su成功执行后才单独执行pacman -Sy glibc。否则库迁移可能会失败,而你只能用pacman.static修复。
如何提交bug?
请用Arch的flyspray错误跟踪系统提交。如果你认为这是和移植有关的问题,请在标题里注明x86_64!
有邮件列表吗?
当然,这里有个一般的关于arch移植的邮件列表。
我该设置哪个仓库给pacman使用?
所有仓库都支持移植。
我该如何获得Arch64的PKGBUILD?
和Arch 32-bit一样,我们有ABS。缺省保存在/var/abs。 abs从archlinux.org获取所有标记为CURRENT-64的CVS条目。
我该如何用已有的32-bit PKGBUILD来创建新的Arch64软件包?
我们有公有Arch32的PKGBUILD。你可以从CVS获取还未移植的32-bit PKGBUILD:
http://www.archlinux.org/cvs/
我该如何修补已有的PKGBUILD使它可以在Arch64下使用?
我们在所有移植了的包里加入这个变量:
arch=('i686' 'x86_64')
直接修补source和md5sum区域使得可以使用完全不同的来源:
[ "$CARCH" = "x86_64" ] && source=(${source[@]} 'other source') [ "$CARCH" = "x86_64" ] && md5sums=(${md5sums[@]} 'other md5sum')
在build区域可以这样修改:
[ "$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-bit:
- 没有Sun自带的Java plugin;KDE的 Konqueror内建有自己的原生运行64-bit JavaPlugin!这是近来浏览JavaApplets的最佳解决方法。另外还有一个gcj-web-plugin (AUR中叫gcjplugin)可以在Gecko核心的浏览器里运行Java-Applets。
- 只有extra仓库里的GPL gnash和swfdec部分真正支持的x86_64 Flash。
- 闭源应用如Skype ── 它们没有提供100%的statically built binaries,所以还是需要32-bit的库。
- 使用了x86 32-bit汇编代码的软件包(某些模拟器如zsnes和syslinux)
几乎所有软件都可以移植。如果你发现某个Arch32软件包可以在x86_64下编译而又没有移植,(例如你在其它64-bit发行版里发现不需要multilibs可以运行的),请联系开发人员。
我可以在Arch64下编译给i686用的32-bit软件包吗?
可以。你需要一个可用的i686 chroot (推荐在Arch64里使用i686 iso的"quickinstall"来安装)。从current仓库安装"linux32" 封装包,使得chroot象一个真正的i686系统。然后用这个脚本以root身份登录到chroot环境:
#!/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中用来创建软件包。
我能否在Arch64里运行32-bit应用程序?
可以!
不过: 我们的目标是成为最顶尖的发行版!32-bit已经过时。我们希望Arch64更先进,更纯粹。因此我们没有Multilib系统。我们不会在核心仓库里加入任何用来改善32-bit兼容性的软件包。也许我们会将它们放到AUR或者社区仓库。 不要期望开发人员对Arch64上运行32-bit应用程序会提供任何支持!
启动到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-bit应用程序(例如OpenOffice)可能需要其它绑定。下面几行可以放到rc.local里以确保满足所有32-bit应用程序的需要(假设fstab里已经挂载/mnt/arch32于):
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 #如果你不使用同一个home文件夹的话,可以注释掉下面这行 mount --bind /home /mnt/arch32/home
然后在终端里输入:
xhost +localhost sudo chroot /mnt/arch32 su your32bitusername /opt/openoffice/program/soffice
我可以无需重新安装将我的系统从i686升级/切换到x86_64吗?
不可以。不过,你可以用Arch64安装光盘启动系统,挂载磁盘,备份所有你希望保留的非32-bit二进制文件(例如/home和/etc,然后开始安装。