LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 5540|回复: 17

兄弟们有没有兴趣翻译一下ArchWiKi上的文档?

[复制链接]
发表于 2004-10-26 11:05:32 | 显示全部楼层 |阅读模式
如题,兄弟们有没有兴趣啊?

请有兴趣的到http://arch.linuxsir.cn 上注册一个ID(没有收到密码可在置顶贴中跟贴),将你的翻译放到“官方文档翻译计划“中。

也可以在本论坛发帖,我们帮你整理过去。
发表于 2004-10-26 19:35:39 | 显示全部楼层
有,跟我联系,免得重复。
gan_luATcqpepsiDOTcomDOTcn
清转换一下,这是我在公司的邮件地址。
 楼主| 发表于 2004-10-27 14:38:39 | 显示全部楼层
就ganloo兄啊,没有其他人愿意一起干?
发表于 2004-10-29 20:06:13 | 显示全部楼层
xiaoma
我刚才到Neo的CLE站点看了下,发现有些地方可能他们已经翻译过的,注意不要重复用工了,复制即可。http://cle.linux.org.tw/index.ph ... Management%2FPacman
 楼主| 发表于 2004-10-29 20:53:28 | 显示全部楼层
他们已经翻译了pacman的部份了,我现在正在翻ABS的部份。
原来想等ABS翻完了就开始翻pacman,看来可以省点力气了
 楼主| 发表于 2004-11-1 10:19:24 | 显示全部楼层

Alsa Setup译文

Alsa Setup
本文阐述了怎样在2.4和2.6内核下使Alsa正常工作。
本文参考了Arjan Timmerman的Alsa Setup howto(http://www.soulfly.nl/arjan/archlinux/alsa-setup.html)。更详细信息见http://bbs.archlinux.org/viewtopic.php?t=2544.
1、安装软件包
a. 2.4及2.6内核都需要:
        #pacman -Sy alsa-lib alsa-utils
b. 2.4内核需要:
        #pacman -S alsa-driver
        #depmod -a
c. 建议安装但非必需:
        #pacman -S alsa-oss
注意,“alsa-driver”包中含有基于Arch stock kernel必需的模块!如果自己编译2.4内核,“alsa-driver”大多不会正常工作。你应该使用ABS建立你自己的“alsa-driver”包,并安装此包。
2.配置Alsa
a. 确定声卡的模块,参见http://www.alsa-project.org/alsa-doc/。模块是以"snd-"为前缀(例如:snd-via82XX)。也可以以root身份执行"alsaconf"。
b. 装入模块
        #modprobe snd-NAME-OF-MODULE
        #modprobe snd-pcm-oss
c. 打开音量
        #amixer set Master 100 unmute
        #amixer set PCM 100 unmute
或者你可以用图形界面的"alsamixer"。
注意,使用"alsamixer",一定要在调整音量的同时打开它(按M键)。
d. 找个波形文件试一试
        #aplay mywav.wav
e. 在/etc/rc.conf的MODULES中加入snd-pcm-oss和'snd-NAME-OF-MODULE'

2. DevFS下设置权限
如果你使用uDev,请跳过本节,阅“uDev下设置权限”。如果你不知道用的是DevFS还是uDev,那么你用的应该是DevFS。
a. 建立sound用户组
        #groupadd sound
b. 加入该组
        #gpasswd -a USERNAME sound
c. 在'/etc/devfsd.conf'中加入以下两行
        REGISTER sound/.* PERMISSIONS root.sound 660
        REGISTER snd/.* PERMISSIONS root.sound 660
d. 重启devfs
        killall -HUP devfsd
e. logout然后再login以确保sound用户组已载入。

3. uDev下设置权限
a. 建立sound用户组
        #groupadd sound
b. 加入该组
        #gpasswd -a USERNAME sound
c. 编辑'/etc/udev/permissions.d/udev.permissions'
   将
        #audio devices
        dsp*:root:root:0660
        audio*:root:root:0660
        midi*:root:root:0660
        mixer*:root:root:0660
        sequencer*:root:root:0660
        sound/*:root:root:0660
        snd/*:root:root:0660
        beep:root:root:0660
        admm*:root:root:0660
        adsp*:root:root:0660
        aload*:root:root:0660
        amidi*:root:root:0660
        dmfm*:root:root:0660
        dmmidi*:root:root:0660
        sndstat:root:root:0660

改成
        # audio devices
        dsp*:root:sound:0660
        audio*:root:sound:0660
        midi*:root:sound:0660
        mixer*:root:sound:0660
        sequencer*:root:sound:0660
        sound/*:root:sound:0660
        snd/*:root:sound:0660
        beep:root:sound:0660
        admm*:root:sound:0660
        adsp*:root:sound:0660
        aload*:root:sound:0660
        amidi*:root:sound:0660
        dmfm*:root:sound:0660
        dmmidi*:root:sound:0660
        sndstat:root:sound:0660
(译注:全改成sound用户组)

d. 重启uDev
        /etc/start_udev
        mount /dev/pts
        mount /dev/shm
e. logout然后再login以确保sound用户组已载入。

4. 启动
a. 执行'alsactl'一次,生成'/etc/asound.state'
        alsactl store
b. 将以下内容保存为'/etc/rc.d/alsamixer'

        #!/bin/bash

        . /etc/rc.conf
        . /etc/rc.d/functions

        case "$1" in
            start)
              stat_busy "Restoring Alsa mixer volumes"
             alsactl restore
             if [ $? -gt 0 ]; then
                 stat_fail
             else
                 add_daemon alsamixer
                  stat_done
              fi
              ;;
           stop)
             stat_busy "Storing Alsa mixer volumes"
             alsactl store
             if [ $? -gt 0 ]; then
                 stat_fail
             else
                  rm_daemon alsamixer
                 stat_done
             fi
              ;;
           restart)
              $0 stop
              sleep 1
              $0 start
              ;;
                    *)
              echo "Usage $0 {start|stop|restart}"
             ;;
        esac
c. 将其设置为可执行
        chmod 755 /etc/rc.d/alsamixer
d. 编辑'/etc/rc.conf',将'alsamixer'加入守护进程列表,使其在启动时运行。

5. KDE设置
a. 启动KDE
        #startx
b. 设置音量,想设多高随你定了(每个用户都有自己的设置)
        #alsamixer
c. KDE3.2,K Menu > Settings > Control Center > Sound & Multimedia > Mixer
确定选中了"Load volumes on login",并保存。
d. KDE 3.3,K Menu > Multimedia > KMix
        选择Settings > Configure KMix...
        取消"Restore volumes on logon"
        点OK,所有都设好了。现在你的音量无论是在KDE或在命令行下都一样。
 楼主| 发表于 2004-11-1 10:22:38 | 显示全部楼层

ABS - the Arch Build System译文

ABS - the Arch Build System
Arch Build System(以下简称ABS)用于:
  ①制作新的软件包
  ②根据自己的需要定制软件包(使用enabling或disabling选项)
  ③用你自己的编译选项重新编译整个系统(就像gentoo一样了)
对于Arch Linux来说,ABS不是必须的,但很有用。
本文将简要介绍ABS及Arch的软件包,这不是一个完全参考指南!如果您想详细了解,您应该去读一读手册页。

1.安装软件包
使用ABS之前,你必须先安装cvsup及wget:
        pacman -Sy cvsup wget
如果你已将软件包下载到一个名为foo的目录中:
        cd foo
        pacman -A cvsup-*.pkg.tar.gz wget-*.pkg.tar.gz

2.什么是软件包文件?
a.一般地,软件包文件就是一个名如foo.pkg.tar.gz的文件。
b.实际上,软件包文件只是一个用gzip压缩的tar档,包含:
  ①需安装的文件
  ②.PKGINFO :包含pacman处理该软件包的所有信息,依赖关系等等
  ③.FILELIST :软件包中所有文件的列表,用来删除软件或检查文件冲突
  ④.INSTALL :存放在安装/升级/删除软件后执行的命令(只有在PKGBUILD中指定,才会有此文件)。

3.PKGBUILD是什么?它包含哪些内容?
PKGBUILD文件包含软件包有关的一些信息,它只是一个简单的纯文本文件。这儿有一个例子:

        # $Id: PKGBUILD,v 1.12 2003/11/06 08:26:13 dorphell Exp $
        # Maintainer: judd <jvinet@zeroflux.org>
        # Contributor: Judd Vinet <jvinet@zeroflux.org>
        pkgname=foo
        pkgver=0.99
        pkgrel=1
        pkgdesc="short description of foo"
        url="http://www.foo.org"
        groups=
        provides=
        depends=('qt' 'python')
        makedepends=('guile')
        conflicts=('yafoo')
        replaces=('mffoo')
        backup=('/etc/foo/foo.conf')
        install=('foo.install')
        source=('http://www.foo.org/download/$pkgname-$pkgver.tar.gz')
        md5sums=('2c0cca3ef6330a187c6ef4fe41ecaa4d35175bee593a7cc7d6205584a94d8625')

        build() {
          cd $startdir/src/$pkgname-$pkgver
          ./configure --prefix=/usr
         make || return 1
          make prefix=$startdir/pkg/usr install
        }

以下是说明:
    # :#后为注释
    # $Id: PKGBUILD,v ... : 该软件包的cvs-tag(cvs标记),是由archlinux-cvs系统建立的。
    # Maintainer : 维护者。维护者负责维护此软件包的官方版本。
    # Contributor : 贡献人。为这个软件包写第一个PKGBUILD的人。
    pkgname : 该软件包的名字。
    pkgver : 该软件包的版本号。
    pkgrel : Arch软件包的发布号。它与版本号是不同的,发布号随PKGBUILD的修改而改变。有很多原因导致修改PKGBUILD,例如,你可能会为打开compile-time支持而改变PKGBUILD。
    pkgdesc : 该软件包的主要描述,这就是你在浏览软件包数据库(http://archlinux.org/packages.php)时所看到的。
    url : 包中软件的主页(当你在浏览软件包数据库时,点击软件包名就进入包中的软件的主页)。
    groups : 用于软件包组。例如,当你试图安装kde时,所有属于kde组的软件包都将被安装。
    provides : 表示该软件包作为另一个软件包的补充。例如,kernel-scsi作为kernel的补充。
    depends : 软件包的依赖关系(它需要哪些软件包)。
    makedepends : 编译该软件包时才需要的包,一旦完成编译就不再需要了。
    conflicts : 相冲突的包,这些包不能同时安装。本例中,foo与yafoo相冲突。
    replaces : 该软件包所取代的旧包。本例中,foo取代了mffoo,并且不再提供对mffoo的支持。
    backup : 当软件包被卸载时需备份的文件(备份后的文件加上.pacsave后缀,形如file.pacsave)。
    install : 软件包中的安装脚本(必须与PKGBUILD在同一目录中)。
    source : 软件包的下载地址,可以是本地、也可以是通过"http"或"ftp"访问的远程地址。软件包以pkgname和pkgver两个变量来命名,以免每次升级都要改变源码。
    md5sums : 软件包的MD5校验和。

下面是函数的说明:
    build : 建立软件包所需的所有步骤(下文将详细说明)。

现在,你可以发现PKGBUILD文件所包含的信息是软件包管理者所必须的,它是pacman与abs的核心。
还有安装脚本,上例中,PKGBUILD指定"foo.install"作为安装脚本。举例如下:

        post_install() {
        /bin/true
        }

        post_upgrade() {
        /bin/true
        }

        pre_remove() {
        /bin/true
        }

        op=$1
        shift

        $op $*

说明:
    post_install : 这段脚本在文件安装后立即执行,它只有一个参数:软件包的版本。
    post_upgrade : 这段脚本在所有文件升级后执行,它有两个参数:
          ①新的软件包的版本
          ②老的软件包的版本
    pre_remove : 这段脚本在文件被删除之前执行(例如,停止一个守护进程),它也只有一个参数:软件包的版本
最后三行是每个安装脚本都必须的,因此,它们都会被执行。

4.build函数
如果你对建立软件包不太熟悉,你应该知道大多数(不是全部)软件包可以这样建立:
①源文件解压
        tar -xzf foo-0.99.tar.gz
        tar -xjf foo-0.99.tar.bz2
②进入源码目录
        cd foo-0.99
③配置软件包 : 一般来说,源码目录中有一个名为configure的短小脚本文件,这就是用来配置软件包的(添加或删除支持信息,选择安装目的目录等等)。检查你的系统,确保已安装此软件所需的所有包,然后执行:
        ./configure [option]
在正式配置之前,你应该试试help选项,以便更好地理解如何配置:
        ./configure --help
④编译源码
        make
⑤安装
        make install
不论怎样,你都应该看看INSTALL文件,搞清软件应怎样配置和安装!并不所有的软件都可以configure; make; make install这样配置安装的!

那么,我们来看一看一个“标准的”build函数:

        build() {
          cd $startdir/src/$pkgname-$pkgver
          ./configure --prefix=/usr
          make || return 1
        make prefix=$startdir/pkg/usr install
        }

我们所做的是:
①进入解压后的源码目录:
        cd $startdir/src/$pkgname-$pkgver
但如果你尝试去建立自己的软件包,注意一定要进入正确的目录。有时,解压后的目录名是不同的:
        tar -xzf foo-0.99.tar.gz
执行ls会返回:
        .
        ..
        foo-0.99.tar.gz
        foo/
并不是
        .
        ..
        foo-0.99.tar.gz
        foo-0.99/
②配置,安装目录为/usr:
        ./configure --prefix=/usr
③编译
        make || return 1
④安装,不是在/usr中,而是在$startdir/pkg/usr目录中,这样,pacman就可以控制这些文件。
        make prefix=$startdir/pkg/usr install
我们所要做的是建立软件包,而不是要安装它。所以,我们告诉make将所有文件放在我们指定的目录:$startdir/pkg/usr,而不是安装到标准位置/usr。这样,makepkg就可以查找并发现哪些文件是软件包要安装的,并将他们压缩进Arch软件包。
注意:有时Makefile中并没有prefix选项,通常使用DESTDIR代替。如果所生成的文件数明显少于应有的数目(译注:也就是说有文件已经被安装进你的系统),试试make DESTDIR=$startdir/pkg install。如果仍旧不行,你就必须仔细查找以“make <...> install”形式执行的install命令的参数。

5.The ABS tree
当你第一次运行abs命令时:
        root @ localhost # abs
它将使用CVS,确保“the ABS tree(以下称为ABS树)”与arch服务器同步。那么,ABS树到底是什么?它位于/var/abs目录下,看起来如下图:

        | -- base/
        |     |-- autoconf/
        |     |-- automake/
        |     |-- ...
        | -- devel/
        | -- ...
        | -- extra/
        |      | -- deamons/
        |      |      | -- acpid/
        |      |      |      | -- PKGBUILD
        ...    ...    ...    ...

ABS树的结构与软件包数据库的结构精确地相同:
    ①第一级目录代表类别
    ②第二级目录代表软件包
    ③PKGBUILD文件包含软件包所需的所有信息
不管怎样,/var/abs下还有一个特定的目录:local,这个目录是你的。你可以在此目录中做任何事——但你不应该改变ABS树的其他部份。
注意:第一次下载的ABS树大一点,接下来就只需要下载升级的部份就可以了。所以即使你是用56k的小猫,也不必担心:这些只是文本文件,并且在传输过程中是被压缩的。
现在你知道什么是ABS树了,那我们怎么利用它呢?

6.第一次使用ABS:定制软件包
这种情况比你想到的要多得多:官方软件包编译的选项仅仅是--enable或--disable,并没有你所必需的选项。
举个例子:foo软件的arts支持被禁止了,假如我们要打开arts支持,可以按下面的方法来做:
①找到foo包
    在http://archlinux.org/packages.php查找foo
    使用find命令:
        find /var/abs -name "foo"
    使用slocate命令:
        slocate foo | grep /var/abs
无论如何,你会发现foo是extra中multimedia的一部份(仅仅是举例)
②拷贝foo的PKGBUILD文件至/var/abs/local/foo:
        mkdir /var/abs/local/foo
        cp /var/abs/extra/multimedia/foo/PKGBUILD /var/abs/local/foo
        cd /var/abs/local/foo
③修改PKGBUILD文件,加入我们需要的arts支持:


        build() {
          cd $startdir/src/$pkgname-$pkgver
          ./configure --prefix=/usr
          make || return 1
          make prefix=$startdir/pkg/usr install
        }

改成
        build() {
          cd $startdir/src/$pkgname-$pkgver
          ./configure --enable-arts --prefix=/usr
          make || return 1
          make prefix=$startdir/pkg/usr install
        }

④运行makepkg:

        makepkg

⑤用下面的两条命令中的一条来安装(-A表示安装,-U表示升级已安装的软件包):
        pacman -A foo-*.pkg.tar.gz
        pacman -U foo-*.pkg.tar.gz

7.ABS的其他用途
WiKi上还有两篇文章,所述更深入:
    * The Arch package making HOW-TO - with guidelines
    * Custom local repository with ABS and gensync
 楼主| 发表于 2004-11-1 10:28:53 | 显示全部楼层

AutoFShowto-ganloo译文

AutoFS指引
基于论坛中下面的主题:http://bbs.archlinux.org/viewtopic.php?t=7630
你也可以在这里找到相关信息:http://libranet.com/support/2.8/0381

本文档将粗略介绍如何设置AutoFS。AutoFS是一个提供自动挂载支持的软件包,它能够在插入CR、软盘或者其他移动媒介时,自动挂载它们。

1、安装AutoFS包:
pacman -Sy autofs
2、修改/etc/autofs/auto.master文件。删除或用#号注释掉原有内容,按照下面的内容添加:
/media /etc/autofs/auto.media
#前面部分定义你准备挂载的目录,你可以自由设定
3、创建/etc/autofs/auto.media文件如下:
cdrom -fstype=iso9660,ro,nodev,nosuid :/dev/cdroms/cdrom0
floppy -fstype=auto,sync,nodev,nosuid,umask=000 :/dev/floppy/0
你也许需要修改设备名,你也可以添加其他类似的设备。
4、创建/etc/default/autofs文件,添加如下内容:
TIMEOUT=1
5、根据前面的定义创建相应的目录,如/media:
mkdir /media
6、启动autofs后台程序:
/etc/rc.d/autofs start
7、在/etc/rc.conf文件的DAEMONS部分添加autofs,使每次启动都自动加载。

现在当你插入这些媒介时,系统已经可以自动挂载。访问/media/cdrom和/media/floppy目录即可。

如果你使用文件管理器访问/media目录,你会看不到下面有cdrom、floppy或其他你定义的子目录,因为只有当你插入媒介时,相应的目录才会被自动创建。这意味着如果你打算使用文件管理器来访问你的cdrom等,你需要使用ctrl+l输入该地址或者创建相关的链接。
 楼主| 发表于 2004-11-1 10:32:47 | 显示全部楼层

Custom local repository with ABS and gensync译文

Custom local repository with ABS and gensync
使用ABS和gensync建立自己的软件包库
本文概述了如何以自己的ABS树创建自己的pacman软件包库,库中仅包括你想放入其中的PKGBUILD文件。这对于建立本地软件包库或不含官方软件包的个人库是很有用的。
本文基于http://bbs.archlinux.org/viewtopic.php?p=29474
1.运行gensync,看一下命令的选项(或者读一读手册页)。简而言之,这些参数分别是PKGBUILD文件的“根目录”,在子目录中分类存放(如同ABS树一样);规则的名称及在软件数据库中的位置;包含二进制软件包的目录。
2.建立一个可用的ABS树。ABS命令(不带任何参数)将会取回官方的ABS树,然后你可以在此基础上修改,或者你也可以手工建一个。根据规则,每个PKGBUILD文件都有自己的目录,不论是官方的还是你自己建立的。如果你正在修改官方的ABS,删掉任何你不想包括在最终软件库内的目录。
3.在你的目录中保存所有你想要的二进制包。根据您自己的情况,可以使用makepkg或使用pacman下载。
4.使用正确的参数运行gensync,参见下例:
        gensync /var/abs /home/arch/i686/current/current.db.tar.gz /home/arch/i686/current
如果二进制包存放在/home/arch/i686/current,这将建立current软件库。db.tar.gz的文件名就是你想建立的软件库的名称,一般就用存放二进包的目录的名称。
5.使用如下命令校验数据库是否包含正确的软件包。
        tar -tzf current.db.tar.gz | less
6.如果你高兴,还可将软件包库(包含二进包及db.tar.gz文件的目录)放到ftp或nfs服务器上。
7.将软件包库加入到pacman.conf中。db.tar.gz的文件名就是软件包库的名称。你可以直接使用file://引用。如果你通过ftp访问的话,就使用ftp://localhost/path/to/directory。
 楼主| 发表于 2004-11-1 10:36:47 | 显示全部楼层

Digital Cameras-ganloo译文

数码相机
我们试着用这篇文档来说明如何设置Hotplug,以使普通用户组的用户也可以访问他们的USB接口数码相机。我们的目标是尽量是这篇文档简单,因此并不涉及到特殊情况。不过,这篇文档基本上是http://www.gphoto.org/doc/manual/permissions-usb.html的一个主要概述,需要更多信息的人们可以参考该站点。
libgphoto2支持的数码相机列表可以在http://www.gphoto.org/proj/libgphoto2/support.php找到。如果你的数码相机没有列在里面,你也许仍然可以在Linux下使用它,如果它可以象USB存储器那样使用的话。Wiki里面有另外一篇文档:USB闪盘,描述了操作过程。

1、安装hotplug和libgphoto2包。检查你是否已经安装了所有必须的软件包:
# pacman -Q hotplug libgphoto2
如果Pacman埋怨其中或全部都没有安装(默认hotplug会已经安装,但是libgphoto2没有),安装缺少的包:
# pacman -Sy hotplug
或者
# pacman -Sy libgphoto2
2、配置hotplug:
打开一个终端,使用root登录。
使用下面的命令创建usbcam.usermap或者在原有文件末尾添加:
# /usr/lib/libgphoto2/print-usb-usermap >> /etc/hotplug/usb/usbcam.usermap
libgphoto2已经有一个很容易上手的hotplug脚本,复制它到相应的地方:
# cp /usr/share/libgphoto2/2.1.4/linux-hotplug/usbcam.group /etc/hotplug/usb/usbcam
你需要根据你当前的libgphoto版本改变相应的路径地址。
用你最喜欢的文本编辑器,打开。如:
# vi /etc/hotplug/usb/usbcam
修改下面部分:
GROUP=camera
为:
GROUP=users
保存退出。你也可以不改变这个,直接创建camera组,并将允许访问数码相机的用户添加到该组也是可以的。
3、改变该文件属性使之可以执行:
# chmod +x /etc/hotplug/usb/usbcam

检测你的设置:插上你的数码相机并打开电源开关,如已经插上的,关闭电源再打开。查看你系统中/proc/bus/usb下的内容
# ls -lR /proc/bus/usb
这里至少应该有一个不是root项的。在我的系统中,显示如下:
...
/proc/bus/usb/004:
total 0
-rw-r--r--  1 root root   43 Apr 12 16:05 001
-rw-r--r--  1 root root   43 Apr 12 16:05 002
-rw-r--r--  1 root root   59 Apr 12 16:05 003
-rw-r--r--  1 root root  211 Apr 12 16:05 004
-rw-rw----  1 root users  57 Apr 12 17:58 007
...
注意最后一行。
现在你可以使用gphoto2或者最新的gthumb从你的数码相机中下载图片了。好好乐一下吧!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表