ArchLinux安装完后的小技巧 (简体中文)
From ArchWiki
i18n |
---|
English |
Español |
Italiano |
Ελληνικά |
简体中文 |
Türkçe |
作为一名Arch新手,在安装完系统后还有一些工作要做。这份文档包含一些对新手有用的tips。
Contents |
硬件
自动识别
-
lshwd
是一个硬件自动识别工作。它可以告诉你需要加载的模块及相关设置。
- 或者你也可以使用
hwdetect
。根据作者的经验,它可以识别更多的硬件,并且比lshwd快。更多信息请参考hwdetect。
加快LILO启动速度
- 在
/etc/lilo.conf
中加入下面一行(记得重新安装LILO,译者注):
compact
改善硬盘性能
- 使用hdparm提高硬盘性能。在
/etc/rc.sysinit
中加入类似下面的代码(作者自己的参数):- -a1024 = sets read_ahead buffer to 1024 bytes
- -c3 = sets I/O support to 32-bit with sync
- -d1 = turn on DMA
- -m16 = sets multiple-buffer count to 16 (作者硬盘的最大值。用hdparm -i命令可以查看自己硬盘的值)
例如:
hdparm -a1024 -c3 -d1 -m16 /dev/hda
(注意:如果程序提示/dev/hda未找到,请把上面的语句放到文件末尾,等待udev加载后再执行hdparm参数) (现在好像使用sdparm了,译者注)
在启动过程的最后暂停
- 要在启动过程的最后、登录提示符出现之前暂停系统(通常用来调试启动信息), 在
/etc/rc.local
的末尾添加下面一行:
read KEY
或者也可以删除/etc/issue
中的第一个字符(该字符表示清屏的意思)
美化命令提示符-PS1
在自己的~/.bashrc中加入以下几行可以使你的命令提示符更漂亮:
BLUE=`tput setf 1` GREEN=`tput setf 2` CYAN=`tput setf 3` RED=`tput setf 4` MAGENTA=`tput setf 5` YELLOW=`tput setf 6` WHITE=`tput setf 7` PS1='\[$GREEN\]\u@\h \[$BLUE\]\w\[$GREEN\] \$\[$WHITE\] '
符号\[和\]是必需的,它可以避免文字过多时换行错误的问题。
PS1变量中不同转义符“\x”代表的意思如下(来自man bash):
提示符 在交互式执行时,bash在等待命令的时候会显示主提示符PS1,在等待更多输入来完成命令时显示次级提示符PS2。bash支持自定义的提示符,在里面可以通过一些"\"打头的转义符: \a ASCII响铃字符 (07) \d “周 月 日”格式的日期 \D{format} 参数format被传递给strftime(3)来构造自定格式的时间并插入提示符中;该参数为空时根据本地化设置自动生成格式。 The braces are required \e ASCII转义字符(ESC) (033) \h 主机名在第一个点号前的内容 \H 完全主机名 \j shell当前管理的任务数 \l shell终端设备的基本名称 \n 新行 \r 回车 \s shell的名称,$0的基本名称 \t 当前时间(24小时) HH:MM:SS \T 当前时间(12小时) HH:MM:SS \@ 当前时间(12小时) am/pm \A 当前时间(24小时) HH:MM \u 当前用户名称 \v bash版本(如"2.00") \V bash版本+补丁号(如"2.00.0") \w 当前工作目录 \W 当前工作目录的基本名称 \! 该命令的历史数(在历史文件中的位置) \# 该命令的命令数(当前shell中执行的序列位置) \$ 根用户为"#",其它用户为"$" \nnn 8进制数 \\ 反斜杠 \[ 表示跟在后面的是非打印字符,可用于shell的颜色控制 \] 表示非打印字符结束
现在根据自己的心情来心情地修改吧 :)
让manpage显示颜色
如果你是linux新手,你需要阅读大量的manpage来学习新的知识。彩色的manpage可以更好的表达内容,有利于理解。想要看彩色的manpage可以安装most软件:
pacman -S most
这个程序与less/more等程序的功能类似,但是它支持彩色输出。编辑/etc/man.conf,按照下面的内容进行修改:
PAGER /usr/bin/most -s BROWSER /usr/bin/most -s
现在查看一个manpage:
man whatever_man_page
可以看到已经显示彩色了。
如果你想修改颜色,编辑~/.mostrc file(如果它不存在就新建一个)或者/etc/most.conf,加入下面的内容:
例子(~/.mostrc):
% Color settings color normal lightgray black color status yellow blue color underline yellow black color overstrike brightblue black
另一个例子,修改most的按键,使它用起来和less一样(用'J'来跳转到某一行):
% less-like keybindings unsetkey "^K" unsetkey "g" unsetkey "G" unsetkey ":" setkey next_file ":n" setkey find_file ":e" setkey next_file ":p" setkey toggle_options ":o" setkey toggle_case ":c" setkey delete_file ":d" setkey exit ":q" setkey bob "g" setkey eob "G" setkey down "e" setkey down "E" setkey down "j" setkey down "^N" setkey up "y" setkey up "^Y" setkey up "k" setkey up "^P" setkey up "^K" setkey page_down "f" setkey page_down "^F" setkey page_up "b" setkey page_up "^B" setkey other_window "z" setkey other_window "w" setkey search_backward "?" setkey bob "p" setkey goto_mark "'" setkey find_file "E" setkey edit "v"
利用"Yaourt"无缝访问AUR
最流行的可以搜索AUR的第三方软件是yaourt。这个程序可以同时搜索AUR和AUR软件包页面的repo、prune注释(它们有时会包含有用的信息),并用漂亮的彩色显示出来,并可以让你自动的下载、
安装这些软件包。虽然如此,这只是一个tip,并不详细介绍它的用法。
使用这个程序可以节约掉打开浏览器、进入AUR、搜索、下载、解压、makepkg、pacman -A等等的时间,并且为pacman添加了彩色输出。
你可以在AUR中找到yaourt,可能不久它就会进入到[community]。
开启shell自动完成功能!
安装bash-completion:
pacman -S bash-completion
在~/.bashrc中加入下面的内容:
if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi
然后运行:
source ~/.bashrc。
开启控制台鼠标支持(gpm)
- 安装gpm:
pacman -S gpm
- 如果可以看到鼠标光标在冷却,但是却无法正常工作,修改一下
/etc/conf.d/gpm
,按照以下内容修改对应的变量:
PS/2鼠标:
GPM_ARGS="-m /dev/psaux -t ps2"
USB鼠标:
GPM_ARGS="-m /dev/input/mice -t imps2"
- 如果已经正常工作,把
gpm
加到DAEMONS
数组中,让它开机自动运行。 - 控制台的鼠标支持是非常有用的,特别是使用links等类似程序的时候。
启动系统后直接进入X
启动后自动激活数字键
- 请参考启动时打开数字键
创建自己的内核
- 如果想手动创建自己的内核(参考Kernel Compilation),下列选项必须编译进内核(而不是模块):
- Code maturity level options
- Prompt for development and/or incomplete code/drivers = on
- Device Drivers
- File systems
- Pseudo file systems
- /dev file system support = on
- Automatically mount at boot = on
- 为了能利用hdparam提升硬盘性能:
- Device Drivers
- ATA/ATAPI/MFM/RLL support = on
- Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support = on
- Generic PCI bus-master DMA support = on
- Intel PIIXn chipsets support = on
- <and your IDE hdw...> = on
- 为了加快内核加载速度,把所有硬件相关的驱动模块(通过/etc/modprobe.conf或者其它形式加载的)直接编译进内核。
利用ABS创建自己的软件包
- 如果你使用 ABS 来创建你自己的软件包,记得先要拷贝你的目的包目录到
/var/abs/local/<pkgname>
来避免你的文件和配置在下次ABS升级的时候被覆盖掉...
优化你的软件包
- 优化使用makepkg来创建的软件包 (内核就是一个好例子), 在
/etc/makepkg.conf
中设置你的gcc配置:
(例如 athlon cpu) export CFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer" export CXXFLAGS="-march=athlon -O2 -pipe -fomit-frame-pointer"
参考 Makepkg.conf 来获得更多信息。
升级内核
- 如果你使用的是lilo,每次内核升级或变更后都记住要执行
lilo
。- 如果你忘记了执行,就需要通过光盘进行拯救恢复,步骤如下:
modprobe xfs mount -t xfs /dev/discs/discX/partY /mnt mount -t xfs /dev/discs/discV/partW /mnt/boot (if you have it) mount -t devfs none /mnt/dev mount -t proc none /mnt/proc chroot /mnt /sbin/lilo
省时的命令行别名
- 你可以在
<homedir>/.bashrc
或/etc/profile
里创建自己的命令行别名。两者都可以用来定义你自己的:别名
#alias ls="ls --color=auto" not necessary in Arch Linux alias p="pacman" #timesaving!! alias p="yaourt" #even more timesaving :)) alias ll="ls -lh" alias la="ls -a" alias exit="clear; exit" alias x="startx" alias pacsearch="pacman -Sl | cut -d' ' -f2 | grep " #lets you search through all available packages simply using 'pacsearch packagename' alias pacup="sudo pacman -Syu" # sudo pacman -Syu by typing pacup (sudo must be installed and configured first ;) ) alias pac="sudo pacman -S" # sudo pacman -S by typing pac (sudo must be installed and configured first ;) )
带颜色的pacman -Ss搜索输出:
# colorized pacman output with pacs alias: alias pacs="pacsearch" pacsearch () { echo -e "$(pacman -Ss $@ | sed \ -e 's#core/.*#\\033[1;31m&\\033[0;37m#g' \ -e 's#extra/.*#\\033[0;32m&\\033[0;37m#g' \ -e 's#community/.*#\\033[1;35m&\\033[0;37m#g' \ -e 's#^.*/.* [0-9].*#\\033[0;36m&\\033[0;37m#g' )" }
缩短关机等待时间
- 如要缩短关机时系统的等待时间,你可以修改
/etc/rc.shutdown
和/etc/rc.single
中的sleep参数。例如:
# Terminate all processes stat_busy "Sending SIGTERM To Processes" /sbin/killall5 -15 &> /dev/null /bin/sleep 3 stat_done stat_busy "Sending SIGKILL To Processes" /sbin/killall5 -9 &> /dev/null /bin/sleep 1 stat_done
设置时区
- 要设置你的时区(这样本地时间才能显示正常)可以在
/usr/share/zoneinfo/
查看你的时区,然后在/etc/rc.conf
里修改TIMEZONE
变量:
TIMEZONE=Asia/Shanghai
屏蔽IPv6模块
除非IPv6大面积普及,否则可以通过屏蔽IPv6模块获得性能上提高。
PDF文件阅读器(kghostview)
- 要修正PDF文件阅读器(kghostview),可以安装Ghostscript:
pacman -S ghostscript
- 然后修改
<homedir>/.kde/share/config/kghostviewrc
中的Ghostscript段为:
Antialiasing arguments=-sDEVICE=x11 -dTextAlphaBits=4 -dGraphicsAlphaBits=<2 -dMaxBitmap=10000000 GS Version= Interpreter=/usr/bin/gs Non-antialiasing arguments=-sDEVICE=x11 Redetection Counter=2
一些有用的命令和程序
grep
根据内容查找文件。例如:grep -i syslog /etc/*
将在/etc中查找所有包含单词"syslog"的文件,其中-i
参数表示乎略大小写。
killall
杀掉所有指定名字的进程。例如:killall kdm
。
ps
显示进程的状态。例如:ps -xau
将显示所有活动进程。
locate
快速定位你硬盘上的文件(需先以root权限运行updatedb
来创建/更新文件数据库...)。例如: locate Xservers
将搜索所有全路经名称中包含Xservers的文件。
Pacman
Pacman是一个管理本地和网上的包的自动化工具。它会自动解决包的依赖性,正如我们所知,一向是Linux包发布头疼的问题。要改善pacman性能,可以经常执行下面指令:
pacman-optimize
makepkg
一个创建软件包的自动化工具 ── 它使得./configure && make && make install
的过程真正自动化。它需要使用将要创建软件包所在目录下的PKGBUILD文件。要更多的了解如何使用makepkg,可以查看某个PKGBUILD并且阅读安装文档。
abs
一个可以用来重建任何pacman的软件包的自动化工具(这样你就给可以编译器和链接工具加上自己的参数设置,以获得更好的优化,调试信息等等)。只要执行了abs,它就会从CVS仓库里同步你所有的PKGBUILD脚本到/var/abs
下。
一些重要文件的描述
<homedir>/.xinitrc
- 控制启动时X11要加载哪些程序;最后一行必须是你要使用的窗口管理器,并且以exec
来执行。/etc/profile
- 系统profile文件;加载环境配置(内核必须支持profiling)/etc/rc.conf
- 主配置文件,有点象DOS下的config.sys。/etc/rc.sysinit
- 有点象autoexec.bat文件,负责处理加载和设置系统/etc/rc.single
- 单用户系统级的脚本文件/etc/rc.multi
- 多用户系统级的脚本文件/etc/rc.local
- 本地多用户系统级的脚本文件/etc/rc.shutdown
- 关机系统级的脚本文件/etc/rc.d/*
-系统的守护进程脚本所在目录/etc/conf.d/*
- 系统的守护进程配置文件所在目录
解压各种类型文件
file.tar : tar xvf file.tar file.tgz : tar xvzf file.tgz file.tar.gz : tar xvzf file.tar.gz file.bz : bzip -cd file.bz | tar xvf - file.bz2 : tar xvjf file.tar.bz2 OR bzip2 -cd file.bz2 | tar xvf - file.zip : unzip file.zip file.rar : unrar x file.rar
WikiMigration & Rewrite--dlanor 15:36, 23 Jul 2005 (EDT)