Debian笔记整理
时间:2006-08-30 来源:gjq5774
整理了一下自己的笔记,学习来源是大名鼎鼎的《Debian参考手册》
===================================================================
dselect运行于APT和dpkg之上。
APT使用/var/lib/apt/lists/*来跟踪可用的软件包,
dpkg使用/var/lib/dpkg/available来跟踪可用的软件包。
如果直接用apt-get或同类工具如aptitude等来安装软件包,千万别忘了更新
/var/lib/dpkg/available文件,可以使用dselect的Update选项或在运行
tasksel或dpkg -l前执行shell命令行“dselect update”。
在处理关联软件包的方式上,apt-get会自动搜索下载depends类软件包,但不
理睬recommends和suggests类软件包,dselect在软件包的选择方面采用菜单方
式操作,对depends、recommends和suggests三类相关软件包均给出提示。
aptitude则提供了下载安装所有depends、recommends和suggests类软件包。
比较下面的文件可以确切了解最近的安装过程对系统造成了那些改变。
/var/lib/dpkg/status 与 /var/backups/dpkg.status*
使用APT安装软件包会在/var/cache/apt/archives目录留下缓存文件,要清除
这些文件可使用:
apt-get autoclean # removes only useless package files
apt-get clean # removes all cached package files
对软件包选择情况进行本地备份:dpkg --get-selections "*" >myselections
“*”使myselections包含那些被指定“完全删除(purge)”的文件。你可将
这个文件发送到另一台电脑并在那儿按文件中的选择进行软件包安装。
# dselect update
# dpkg --set-selections <myselections
# apt-get -u dselect-upgrade (或者 dselect install)
优化sources.list:apt-spy会根据站点回应时间和带宽自动创建sources.list
# apt-get install apt-spy
# cd /etc/apt
# mv sources.list sources.list.org
# apt-spy -d testing -l sources.apt
=====================================================================
设置APT系统
在/etc/apt/sources.list中添加stable、testing和unstable镜像源,接着编辑
/etc/apt/preferences,设置合适的Pin-Priority。例如:
Package: *
Pin: release a=stable
Pin-Priority: 500
Package: *
Pin: release a=testing
Pin-Priority: 600
Package: *
Pin: release a=unstable
Pin-Priority: 50
Package:
通过指定软件包名称来为某个特定的软件包设置指定的Pin-Priority。
Pin: release a=stable:
表apt-ge从包Archive:stable节的Release文件所在的目录获得Packages.gz。
Pin-Priority:
如果多个软件包同名,系统通常会安装拥有最高Pin-Priority的软件包。
*1001及以上:可降级优先级。
*990:由--target-release或apt-get(8)-t选项设置的优先级。
*500:所有默认软件包文件的优先级。
*100:当前安装软件包文件的优先级。
*0到99:非自动优先级。(仅用于软件包没有安装或没有别的可用版本时。)
*小于0:决不选择该版本。
=====================================================================
apt-get 命令:
-u选项表示在实际升级之前将所有将要升级的软件包列出,并提示用户确认。
apt-get check #更新缓冲区并检查损坏的软件包
apt-get update [-u] #系统软件包更新
apt-get install [-u] #安装指定软件包
apt-get remove package #移除指定软件包,保留其配置文件
apt-get remove -purge package #移除指定软件包及其配置文件
apt-get upgrade [-u] #更新系统所有软件包并且自动升级成最新
apt-get dist-upgrade [-u] #更新系统所有软件包,升级并解决依赖关系
apt-get dselect-upgrade [-u] #更新dselect所选包,升级并解决依赖关系
apt-cache search pattern # 按文本描述搜索软件包
apt-cache policy package # 软件包的priority/dists状态信息
apt-cache show -a package # 显示所有dists中软件包描述信息
apt-cache showsrc package # 显示相应源码包的信息
apt-cache showpkg package # 软件包调试信息
dpkg --audit|-C # 搜索未完成安装的软件包
dpkg {-s|--status} package # 已安装软件包描述
dpkg -l package ... # 已安装软件包的状态(每个占一行)
dpkg -L package ... # 列出软件包安装的文件的名称
=====================================================================
apt升级错误解决方法
多数情况下,是因为升级的软件包所需的新增的关联包没有安装。可使用如下方
法解决:# apt-get dist-upgrade
如果这招无效,可以重复下面的方法至到问题解决:
# apt-get upgrade -f 或 # apt-get dist-upgrade -f
一些的确存在问题的升级脚本会引起持续出错。方法是检查该软件包的安装脚本
/var/lib/dpkg/info/packagename.{post-,pre-}{install,removal}
然后运行:
# dpkg --configure -a // 配置所有未完成安装的软件包
如果脚本报告缺少配置文件,查看一下/etc中相关的配置文件。如果配置文件有
.new扩展名(或类似的扩展名),去掉(mv)它的扩展名。
从unstable/testing进行升级时可能出现软件包关联问题。可用这个方法智取:
# apt-get install -f package # 重载坏关联
=====================================================================
使用dpkg救助
如果系统的dselect(APT)受损无法完成安装,可使用dpkg来恢复:
# cd /var/cache/apt/archives
# dpkg -i libc6* libdb2* perl*
# dpkg -i apt* dpkg* debconf*
# dpkg -i * # 直至不再出错
对于坏关联,可这样解决:
# dpkg --ignore-depends=package1,... -i packagefile.deb
# dpkg --force-depends -i packagefile.deb
# dpkg --force-confmiss -i packagefile.deb
# Install missing conffile
=====================================================================
恢复软件包选择状态的数据
如果/var/lib/dpkg/status坏掉了,系统将会完全丢失软件包选择状态的数据。
在/var/lib/dpkg/status-old或/var/backups/dpkg.status.*下找找旧的
/var/lib/dpkg/status文件。将/var/backups/放在其它的分区是个好习惯,因
为该目录包含了许多非常重要的系统数据。
如果旧的/var/lib/dpkg/status文件也坏了,仍可以从/usr/share/doc/下的目录
进行恢复
# ls /usr/share/doc |
grep -v [A-Z] |
grep -v '^texmf$' |
grep -v '^debian$' |
awk '{print $1 " install"}' |
dpkg --set-selections
# dselect --expert # reinstall system, de-select as needed
=====================================================================
自选命令
Debian自选命令设定系统中的这些项目,都是/etc/alternatives下的链接文件
例如想用vi命令启动vim,可使用update-alternatives来定义:
# update-alternatives --display vi
...
# update-alternatives --config vi
Selection Command
-----------------------------------------------
1 /usr/bin/elvis-tiny
2 /usr/bin/vim
*+ 3 /usr/bin/nvi
Enter to keep the default[*], or type selection number: 2
=====================================================================
zhcon # 安装zhcon中日韩文外挂.
modconf # 安装硬件管理模块工具.
rcconf # 安装启动管理模块工具.
set-language-env # apt-get install language-env
deborphan # 显示未关联和使用的软件包.
install-mbr # 安装主引导(Master Boot Record)管理器
tzconfig # 设定本地时间
debconf # 在Woody中配置Samba
eximconfig # 配置Exim (MTA)
sndconfig # 配置声音系统
update-alternatives # 设定默认启动命令
update-rc.d # System-V init脚本管理工具
update-menus # 更新Debian菜单系统
fc-cache -f -v # 运行于字体目录中.更新字体信息缓存
fc-cache -v # 运行于字体目录中.更新字体信息缓存
mkfontscale # 生font.scale文件.与字体在同一目录下运行.
cp fonts.scale fonts.dir #将生成的 fonts.scale 复制为系统需要的
fonts.dir 配置文件.
=====================================================================
中文化Debian & FVWM
1. 安装Debian的时候.选择中文简体.
2. 设置时区的时候选择: "Asia" 以及 "Shanghai"
3. 设置Apt源地址包含: mirror.dltu.edu.cn地址.
4. 运行 apt-get update 命令更新系统软件包.
5. 运行 apt-get upgrade 命令安装更新软件包.
6. 运行 apt-get install zhcon 命令安装 zhcon 中文控制台.
7. 运行 apt-get install vim 为了方便可安装 VIM 编辑器.
8. 修改配置文件/etc/profile增加如下内容:
export LANG=zh_CN.UTF8
export LC_ALL=zh_CN.UTF8
10. 重新登陆 Debian. 进入 zhcon.
11. 执行apt-get install locales 安装或者更新最新版本.
12. 安装locales 后会自动进入设置 locale 对话框.
语言设置选中: "en_US ISO-8859-1","zh_CN","UIF-8" 等等.
最后记得将 "UIF-8" 设置为 locale 的默认编码.
13. 退出zhcon环境(Ctrl+D). 退出Debian控制台(Exit)
重新登陆 Debian. 进入 zhcon. 运行 locale 查看是否设置生效.
14. 运行apt-get install libpango1.0-common 安装 defoma.
安装完以后.会提示你将其设置为字体管理工具.选择 Yes.
15. 因为我们已经有了defoma.所以只需要安装新的中文环境和字体.
设置字体和配置字体文件等复杂工作我们都不需要做了.
运行 apt-get install xfonts-intl-chinese 安装简体中文的环境字体.
官方推荐字体 ttf-arphic-gbsn00lp和ttf-arphic-gkai00mp
16. 安装中文输入法.如小企鹅.
apt-get install fcitx
17. 设置 /etc/X11/xinit/xinitrc 中自动运行中文输入法.增加如下内容:
export XMODIFIERS="@im=xcin"
xcin &
18.到这里建议重新启动一下Debian.然后开始安装XFCE4, FVWM或GNOME.
我建议还是安装 FVWM 这个比较稳定和专业一点.apt-get install fvwm
想漂亮继续装个fvwm的主题 apt-get install fvwm-themes
19. 设置你的系统启动方式是命令行启动模式.
在/etc/inittab 文件中.设置以命令行的方式来启动:
id:3:initdefault
20. 将etc/X11/xinit/xinitrc这个文件备份.比如cp xinitrc xinitrc.old
然后在 /root/或者是/home/usrname/下面建立一个 .xinitrc 文件.
在里面写入: exec fvwm 并保存.
最后执行: startx 进入 fvwm
^_^着新装软件后的update-menus
=====================================================================
我安装的是xfce4,采取的方法是在用户目录下新件文件~/.xsession
**********
#!/bin/sh
export XIM=fcitx
export XIM_PROGRAM=fcitx
export XMODIFIERS="@im=fcitx"
GTK_IM_MODULE=fcitx
fcitx -d
startxfce4
**********
xdm登录xfce
=====================================================================
VIM中文设置,支持中文UTF_8的locale设定,拷贝以下内容到~/.vimrc
或~/.gvimrc中即可。
" multi-encoding setting
if has("multi_byte")
"set bomb
set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
" CJK environment detection and corresponding setting
if v:lang =~ "^zh_CN"
" Use cp936 to support GBK, euc-cn == gb2312
set encoding=cp936
set termencoding=cp936
set fileencoding=cp936
endif
" Detect UTF-8 locale, and replace CJK setting if needed
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set encoding=utf-8
set termencoding=utf-8
set fileencoding=utf-8
endif
else
echoerr "Sorry, this version of (g)vim was not compiled with
multi_byte"
endif
/etc/rcS.d/
=====================================================================
自定义init脚本
Debian启动要执行init程序。init的配置文件(/etc/inittab)中指定的第一个
执行脚本应该是/etc/init.d/rcS.该脚本根据/etc/rcS.d/ 目录中各脚本的扩展
名回溯或分流子进程完成诸如检查并挂载文件系统、装载内核模块、启动网络服
务、设定时钟等系统初始化工作。接着,为了兼容性考虑,它运行/etc/rc.boot/
目录下的文件(除了那些文件名中包含“.”的文件),目录中的脚本通常是供系
统管理员使用的,用于有兼容性问题的软件包。Debian使用sys-V init脚本系统。
尽管/etc/init.d/*下所有的init脚本均被登记为conffile,系统管理员可以自由
地修改它们,但编辑/etc/default/*下的文件却是创建自定义init脚本的更好的方法。
=====================================================================
Debian中有许多专门的硬件配置工具包。它们中有不少是针对笔记本电脑的。
acpid - ACPI使用工具,
acpi - 显示ACPI设备信息,是一种比APM更新式的电源管理系统。
sleepd - 笔记本电脑处于非工作状态时进入休眠
noflushd - 让空闲硬盘进入减速状态
big-cursor - X下的巨型鼠标指针
acme - 激活笔记本电脑上的“多媒体按钮”
tpctl - IBM ThinkPad硬件配置工具