Arch Linux 安装配置备忘
两年前开始有了个人笔电,在好友 owr 的启蒙下开始接触 Linux,从一个计算机菜鸟到一个 Linux 发烧用户,期间可谓折腾不断,其乐无穷。
曾用过各种 Linux 发行版,包括 Ubuntu、Debian、CentOS、 Fedora、openSuse、Slackware、BackTrack 等等。最疯的时候,装了八个系统,让身边的同学瞠目结舌。记得当时研究多系统并存与启动时,捣鼓了一个星期才搞定,之后又由于操作不当导致整块硬盘数据丢失,难过了好一阵。所谓吃一堑长一智,从折腾中我对 Linux 系统有了更加深入的认识。
使用时间最长的是 Ubuntu,这也是最傻瓜化的一个发行版。个人感觉 Ubuntu 每半年一个版的速度实在太快了,商业化气息越来越重,越来越臃肿,这些使得我抵制住了升级的诱惑坚持使用 10.04 LTS 版本至今。除了使用网银等无可奈何的事情,平时的学习与娱乐基本都在 Linux 下完成,很少再碰 Windows。
如今我找到了更适合自己的发行版——Archlinux。它默认只提供最基本的软件包,有极高的可定制程度,给用户以最大的自由,而且是滚动升级,不用担心版本被抛弃,其特有的 ABS 和 AUR 更是如是妙不可言。种种优秀的特性数不胜数,使得我从 Ubuntu 转投入了 Archlinux 阵营。
在此,对自己安装与配置 Archlinux 的过程做一个备忘,以备不时之需。
首先,从学校的 ftp 上拉下最新的系统镜像,用 dd 命令写入U盘:
1 | ~$ dd if=archlinux-2012.11.01-dual.iso of=/dev/sdb |
然后重启通过 U 盘启动,进入控制台后,输入:/arch/setup 开始安装,中间都是文本菜单很直观,值得注意的是后面的配置:
1 2 3 4 5 | # vi /etc/rc.conf HOSTNAME=arch LOCALE="en_US.UTF-8" interface=eth0 |
1 2 3 4 5 6 | # vi /etc/locale.gen zh_CN.GB18030 GB18030 zh_CN.GBK GBK zh_CN.UTF-8 UTF-8 zh_CN GB2312 |
1 2 3 | # vi /etc/pacman.d/mirrorlist Server = http://run6.hit.edu.cn/archlinux/$repo/os/$arch |
设置 root 密码,安装完成后重启。接着普通创建用户:
1 2 | ~$ useradd -m -g users -s /bin/bash osvimer ~$ passwd osvimer |
或者:
1 2 | ~$ useradd -m -g users -G audio,lp,optical,storage,video,wheel,games,power,network -s /bin/bash osvimer ~$ passwd osvimer |
因为工大的校园网使用的是锐捷认证,先解决网络连接问题:
将 net-tools、dhcp 及 mentohus 安装包,Ubuntu 下的 mentohust 配置文件放入 u 盘。之后进入 Archlinux,挂载 U 盘开始安装:
1 | ~$ pacman -U net-tools dhcp |
然后,解压 mentohust 的 Archlinux 版本:
1 | ~$ cp mentohust/bin/mentohust /bin |
然后复制 mentohust.conf 到 /etc 目录下。
检查网络设置:
1 2 3 4 5 6 | ~$ vi /etc/rc.conf interface="eth0" address= netmask= gateway= |
首先 ifconfig 看下网卡 eth0 是否已被正确识别:
1 | ~$ ifconfig |
若输出信息中没有 ech0 的话,需要手动开启网卡:
1 | ~$ ifconfig eth0 up |
或者
1 | ~$ ip link set eth0 up |
接下来,启动mentohust ,并在后台运行,然后重启 network
1 2 | ~$ mentohust -b1 ~$ /etc/rc.d/network restart |
现在 ping 下 google.com 试试,应该可以获取到数据包了。以后每次开机,只要以上两个命令即可。
网络问题解决了,然后开始系统更新:
1 | ~$ pacman -Syu |
如果碰上了 glibc 更新的话,可能会出错,解决办法是下载 glibc 包到本地安装:
1 | ~$ pacman -U glibc-2.16.0-5-i686.pkg.tar.xz |
然后赋予普通用户 sudo 权限:
1 2 3 4 5 6 | ~$ pacman -S sudo ~$ visudo %wheel ALL=(ALL) ALL osvimer ALL=(ALL) ALL |
完成后退出,以创建的普通用户登录。为安全考虑,尽量避免以方式 root 身份登录。
安装最常用的命令行工具:
1 | ~$ sudo pacman -S vim zsh lftp rsync mutt wget lynx fbterm screen tmux |
接着启用 AUR:
1 2 3 4 5 | ~$ sudo vim /etc/pacman.conf [archlinuxfr] #Server =http://repo.archlinux.fr/x86_64 Server =http://repo.archlinux.fr/i686 |
安装 yaourt:
1 2 | ~$ sudo pacman -Sy ~$ sudo pacman -S yaourt |
安装声音驱动:
1 | ~$ sudo pacman -S alsa-utils alsa-lib alsa-oss alsa-plugins |
将 alsa 加入 DAEMONS:
1 | ~$ sudo vi /etc/rc.conf |
1 | DAEMONS=(syslog-ng dbus @network @crond @alsa) |
安装Xorg:
1 2 | ~$ sudo pacman -S xorg-server xorg-xinit xorg-server-utils ~$ sudo pacman -Ss xf86-video-nouveau |
更新配置 Xorg 配置文件:
1 | Xorg -configure |
测试X:
1 2 | ~$ sudo pacman -S xorg-twm xorg-xclock xterm ~$ xinit |
之后就是安装窗口管理器。我试过了 fvwm、awesome、dwm 等各式窗口管理器,最后选择了openbox:
1 2 | ~$ sudo pacman -S openbox ~$ cp /etc/xdg/openbox/{menu.xml,environment,autostart,rc.xml} ~/.config/openbox/ |
openbox 的主题可以通过 obconf 这个图形化工具来修改;菜单可以手动编辑配置文件来修改,也可以通过 obmenu 这个图形化工具修改。
openbox 自身没有设置桌面的功能,选择 feh 这个小工具来实现:
1 | ~$ sudo pacman -S feh |
输入法我选择 fcitx-fberm(终端)和 fcitx-googlepinyin(GUI),两者都可以通过AUR 安装
1 | ~$ sudo yaourt -S fcitx-fbterm fcitx-googlepinyin |
默认进入 X11 后数字键盘灯没有打开,可以通过 xnumlock 这个工具来自动开启:
1 | ~$ sudo pacman -S xnumlock |
修改启动文件,在 DEAMONS 之前加入以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 | ~$ sudo vim /etc/rc.conf #Setting Numlock On echo "Setting Numlock On..." #for tty in /dev/tty[1-8] #do #/usr/bin/setleds -D +num < $tty #done INITTY=/dev/tty[1-8] for tty in $INITTY; do setleds -D +num < $tty done |
接着编辑相关文件启动 openbox,下面是我的配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | ~$ vim .xinitrc #!/bin/bash export LANG=zh_CN.UTF-8 export LC_ALL="zh_CN.UTF-8" export XMODIFIERS="@im=fcitx" export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XIM=fcitx numlockx on xrdb $HOME/.Xresources #fcitx -d &; #eval `feh --bg-scale ~/pictures/wallpaper/blue.jpg` &; feh --bg-scale ~/pictures/wallpaper/arch.png &; #xcompmgr -c -t-5 -l-5 -r4 -o.55 &; xcompmgr -Ss -n -Cc -fF -I-10 -O-10 -D1 -t-3 -l-4 -r4 &; killall conky; sleep 3 &; conky -c /home/osvimer/.conkyrc >> /tmp/NULL &; #exec awesome sleep 2 &; tilda &; tint2 &; exec openbox-session |