升级apache启动失败

apache启动失败  时间:2021-01-11  阅读:()

DebianGNU/Linux5.
0("lenny"),AMD64的发行说明Debian文档项目[http://www.
debian.
org/doc/]DebianGNU/Linux5.
0("lenny"),AMD64的发行说明:Debian文档项目[http://www.
debian.
org/doc/]出版日期2009-02-14本文档是自由软件;您可以在自由软件基金会发布的GNU公共许可证的条款下重新发布或修改它;您应当使用该许可证的第二版本.
本程序发布的目的是希望它对您有用,但没有任何担保,即使针对商业或其它特定应用目的.
请查阅GNU公共许可证以获得更多细节.
您应当在收到本程序的同时也收到了一份GNU公共许可证的副本;如果没有收到,请给自由软件基金会写信.
地址是:51FranklinStreet,FifthFloor,Boston,MA02110-1301USA协议文本可以在http://www.
gnu.
org/copyleft/gpl.
html和DebianGNU/Linux/usr/share/common-licenses/GPL-2找到.
目录1.
简介xx报告本文档的bugxx贡献升级报告xx本文档的源文件xx2.
DebianGNU/Linux5.
0有什么新东西xx这次发布中有什么新东西xx包管理xxproposed-updates区xx系统改进xxDebianLivexx内核相关的主要变化xx内核打包的变化xxEmdebian1.
0(基于DebianGNU/Linuxlenny5.
0)xx上网本支持xxDebian中的Javaxx3.
安装系统xx安装系统有哪些新特性xx主要更新xx自动安装xx4.
从以前的发行版升级xx升级前的准备xx备份数据和配置文件xx提前告知用户xx准备恢复xx为升级准备安全环境xx为LILO准备initramfsxx检查系统状态xx复审包管理器中的未决操作xx禁用APTpinning操作xx检查包状态xxproposed-updates区xx非官方源和backportsxx手工删除软件包的标记xx为APT准备源xx添加互联网APT源xx添加本地镜像APT源xx从CD-ROM或DVD添加APT源xx升级软件包xx记录会话xx更新包列表xx确保您有足够的空间升级xx先升级apt和/或aptitudexx使用aptitudes记录的apt自动安装的软件包列表xx最小系统升级xx升级系统的其它部分xx升级期间可能遇到的问题xx升级内核与相关包xx安装内核元数据包xx设备枚举的顺序xx引导期间的问题xx在重启之前要做的事情xx重新运行liloxx系统引导时在显示Waitingforrootfilesystem后挂起xx如何在升级前避免此问题xx如何在升级后解决此问题xx为下个发行版做准备xx过时的包xx哑包xx5.
lenny中需要注意的问题xx潜在的问题xx与udev相关的设备的问题xx某些应用程序可能无法在2.
4内核下工作xx某些网站无法通过TCP进行连接xx无法自动关机xx异步网络初始化可能引起无法预测的情况xx使用WPA保护无线网络的问题xx文件名中使用非ASCII字符可能引起问题xx声音停止工作xxNFS挂载现在由nfs-common来处理xx罗马尼亚(ro)键盘布局的改变xx升级apache2xxNIS和网络管理器xxMozilla产品的安全状态xxSecuritystatusofOCSInventoryandSQL-LedgerxxKDE桌面xxGNOME桌面改变与支持xxEmacs21*默认不支持Unicodexxslurpd/replica已经被删除xx桌面没有使用全部屏幕xxDHCP失败备选问题xxVServerDiskLimitxx6.
关于DebianGNU/Linux的更多信息xx更多读物xx获得帮助xx邮件列表xx互联网在线聊天系统xx报告Bugxx为Debian做贡献xxA.
管理您的etch系统xx升级您的etch系统xx检查您的sourceslistxxB.
发行注记的贡献者xxC.
Lenny献给ThiemoSeuferxx索引xx术语表xx第1章简介本文档告知DebianGNU/Linux发行版的用户,关于版本5.
0(代号"lenny")的主要变化.
本发行说明提供如何安全的从版本4.
0(代号etch)升级到当前版本的信息,并告知用户在升级到当前版本时可能会遇到已知的某些潜在问题.
在http://www.
debian.
org/releases/lenny/releasenotes可以获得本文档的最新版本.
如有疑惑,请检查首页的日期,以确定您是否正在阅读最新版本.
小心注意列出所有已知的问题是不可能的,因此选择了那些普遍存在和造成影响的问题.
请注意我们只支持从Debian的前一版本(现在要升级的版本是4.
0)升级.
如果您需要从更早的版本升级,建议您先查看前一版本的发行说明,先升级到4.
0.
报告本文档的bug我们已经试图测试在本文档中描述的所有不同的升级步骤并预测用户可能遇到的所有问题.
虽然如此,如果您认为您发现了Bug(不正确或者缺失的信息),请在Bug追踪系统[http://bugs.
debian.
org/]提交一个关于release-notesA00A软件包的bug.
贡献升级报告我们欢迎来自用户的关于从etch升级到lenny的任何信息.
如果您愿意分享,请在Bug追踪系统[http://bugs.
debian.
org/]填写一个关于release-notesA00A软件包的Bug以及您所获得的结果.
希望您能够(使用gzip)压缩任何.
当您提交升级报告的时候,请包含以下信息:在升级前后,软件包数据库的状态:dpkg的数据库状态信息在/var/lib/dpkg/status,aptitude的数据库状态信息在/var/lib/aptitude/pkgstates.
在升级之前,您应该已经象"备份数据和配置文件"一节描述的那样备份,当然您也可以在/var/backups找到备份信息.
会话日志使用script来创建,它的描述在"记录会话"一节.
aptA00A的日志/var/log/apt/term.
log,或aptitude的日志/var/log/aptitude.
注意在提交bug报告之前,您应该花点时间从日志中检查和删除任何敏感和/或机密信息,因为这些信息都会被发布在公开的数据库中.
本文档的源文件本文档的源文件格式是DocBookXMLA00A.
HTML版本使用docbook-xslA00A和xsltprocA00A生成.
PDF版本使用dblatexA00A或xmlroffA00A生成.
可以从Debian文档计划的SVN仓库获得本文档的源文件.
您也可以通过网页[http://svn.
debian.
org/viewsvn/ddp/manuals/trunk/release-notes/]分别访问这些文件,以及查看它们的变更.
请参考Debian文档计划的SVN页面[http://www.
debian.
org/doc/cvs],以获取如何访问SVN仓库的信息.
第2章DebianGNU/Linux5.
0有什么新东西Wiki[http://wiki.
debian.
org/NewInLenny]有更多关于这个主题的信息.
这个版本中加入了对ARMEABI(armel)的官方支持.
下面是DebianGNU/Linuxlenny官方支持的架构:Intelx86('i386')Alpha('alpha')SPARC('sparc')PowerPC('powerpc')ARM('arm')MIPS('mips'(big-endian)and'mipsel'(little-endian))IntelItanium('ia64')HPPA-RISC('hppa')S/390('s390')AMD64('amd64')ARMEABI('armel')您可以在Debian移植页面[http://www.
debian.
org/ports/],读到更多的关于您的架构的移植状态和移植细节的信息.
这次发布中有什么新东西Debian的这次发行再次带来了比它前个发行版本etch更多的软件;包括7700个新软件包,共计23200个.
在这个发行版中,多数软件包得到了更新:有13400个(占etch软件包总数的72%).
而且,由于各种原因,有相当数量的软件包(3100个,占etch软件包总数的17%)从这次发行中被删除了.
您将会看不到这些包有任何更新,而且在包管理软件中它们会被标记为"过时的".
在这次发行中,DebianGNU/Linux从X.
Org7.
1更新到X.
Org7.
3.
DebianGNU/Linux再次与几个桌面程序和环境一起发布.
和其它发行版一样,它现在包含GNOMEA00A2.
22桌面环境.
,KDEA00A3.
5.
10,以及XfceA00A4.
4.
2,以及LXDEA00A0.
3.
2.
1+svn20080509.
还有一些能提高生产效率的软件,包含办公室套件OpenOce.
orgA00A2.
4.
1,KOceA00A1.
6.
3,GNUcashA00A2.
2.
6,GNUmericA00A1.
8.
3,以及AbiwordA00A2.
6.
4.
其它的桌面应用程序也被更新了,包含EvolutionA00A2.
22.
3和PidginA00A2.
4.
3(即以前的GaimA00A).
MozillaA00A家族也被更新了:iceweaselA00A(3.
0.
6版)是无商标的FirefoxA00A网页浏览器,icedoveA00A(2.
0.
0.
19版)则为无商标的ThunderbirdA00A邮件客户端.
和过去一样,这次发行还包含了以下软件的更新:软件包在版本4.
0(etch)中的版本在版本5.
0(lenny)中的版本ApacheA00A2.
2.
32.
2.
9BINDA00ADNS服务器9.
3.
49.
5.
0CherokeeA00A网络服务器0.
5.
50.
7.
2CourierA00AMTA0.
53.
30.
60.
0DiaA00A0.
95.
00.
96.
1EkigaA00AVoIP客户端2.
0.
32.
0.
12EximA00A默认邮件服务器4.
634.
69GNU编译器套件(默认的编译器)A00A4.
1.
14.
3.
2GIMPA00A2.
2.
132.
4.
7GNUC函数库2.
3.
62.
7lighttpd1.
4.
131.
4.
19maradns1.
2.
12.
041.
3.
07.
09MySQLA00A5.
0.
325.
0.
51aOpenLDAP2.
3.
302.
4.
11OpenSSHA00A4.
35.
1p1PHPA00A5.
2.
05.
2.
6PostxA00AMTA2.
3.
82.
5.
5PostgreSQLA00A8.
1.
158.
3.
5Python2.
4.
42.
5.
2TomcatA00A5.
5.
205.
5.
26官方DebianGNU/Linux发行版现在包含4到5张二进制DVDA00A或28到32张二进制CDA00A(依赖于架构),和4张源代码DVD或28张源代码CD.
此外,还有一个多架构DVD,包含amd64和i386架构的子集,和对应的源代码.
DebianGNU/Linux首次发行蓝光A00A镜像,针对amd64和i386架构,以及源代码.
Debian现在支持Linux标准基础(LSB)3.
2.
Debian4.
0支持的是3.
1版本.
A00A包管理aptitude是从命令行进行包管理的首选软件,它实现了与apt-get相同的包管理功能,并且被证明比apt-get能更好地解决依赖关系.
如果您依然在使用dselect,您应该把aptitudeA00A作为正式的包管理前端软件.
对于lenny来说,aptitude中已经实现了一个高级的冲突解决机制,如果它检测到由于软件包依赖关系变化带来的冲突,它将会尽力找到最好的解决方法.
proposed-updates区所有针对stable(或oldstable)发行版的更改,在它们能被放入发行版之前,都要经过一个外围测试阶段.
每一次那样的stable(oldstable)发行版更新被称为是一个发行点.
通过proposed-updates这个机制来完成发行点的准备工作.
软件可以通过两种途径进入proposed-updates区.
首先,加入security.
debian.
org的软件包安全更新会被自动加入proposed-updates区.
其次,%debian;开发者可以将新的软件包直接上传至proposed-updates区.
该区最新软件包列表可以在http://ftp-master.
debian.
org/proposed-updates.
html处看到.
如果您希望在软件包正式加入发行点之前帮忙测试包的更新,您可以通过将proposed-updates加入sources.
list中来进行:debhttp://mirrors.
kernel.
org/debianlenny-proposed-updatesmaincontribdeb-srchttp://mirrors.
kernel.
org/debianlenny-proposed-updatesmaincontrib下一次您运行aptitudeupdate命令时,系统将识别proposed-updates区中的软件包,并在升级包时查找这一区域.
严格意义上来说,这并不是Debian的新特性,而是一个以前未被太多关注过的特性.
系统改进这次发行版中的大量改变能使全新安装的lenny受益,但是可能不会自动启用在从etch升级上来的系统中.
这一节给出大部分相关改变的概述.
SELinux优先级为标准,但是默认不启用A00A支持SELinux(安全增强型Linux)所需的软件包已经被提升为标准优先级.
这意味着全新安装时它们将会被默认安装.
对于已安装好的系统,您可以用下述命令安装SELinux:#aptitudeinstallselinux-basics注意对SELinux支持不是默认启用的.
有关设置和启用SELinux的信息可以在DebianWiki[http://wiki.
debian.
org/SELinux]找到.
新的默认syslog守护程序rsyslogA00A现在作为Debian5.
0的默认系统及内核日志记录守护进程,代替了syslogd和klogd.
对于默认日志规则,可以直接使用无需替换.
如果有自定义的日志规则,您应该将其迁移到新的配置文件/etc/rsyslog.
conf.
从etch升级的用户需要手工安装rsyslogA00A,删除sysklogdA00A.
在升级到lenny的过程中,并不会自动替换系统日志服务程序.
更好地支持UTF-8许多软件将被设置成默认使用UTF-8或比以前更好地支持UTF-8.
请参阅http://wiki.
debian.
org/UTF8BrokenApps,查看处理UTF-8仍然有问题的应用程序信息.
Identicationoftherelease'srevisionStartingfromLenny,/etc/debian_versionwillindicatetherevisionnumberofthedebianrelease(5.
0,then5.
0.
1,etc.
)Thisalsomeansthatyoushouldnotexpectthisletobeconstantthroughtthereleaselifetime.
DebianWiki[http://wiki.
debian.
org/Etch2LennyUpgrade]有些关于etch和lenny之间变更的额外信息.
DebianLive随lennyDebian发行了官方的针对amd64和i386的Live系统.
A00AA00ADebianLive系统其实就是一个可以直接从可移动介质(CD-ROM光盘,DVD光盘,U盘)启用的Debian系统,或者也可以从网络上的另一台电脑启用,而无需安装.
光盘镜像是由一个名为live-helperA00A的工具生成的,它能轻易地创建自定义的live系统.
更多有关DebianLive计划的信息可以在http://debian-live.
alioth.
debian.
org/处找到.
内核相关的主要变化DebianGNU/Linux5.
0对所有架构均使用内核版本2.
6.
26.
内核本身以及内核的Debian打包都有较大的变化.
一些变化使升级过程变得困难,而且在升级到lenny后重启系统时有潜在问题.
本节给出大多数重要变化的概述;在后面的章节中包含有潜在问题的解决方法.
内核打包的变化Binaryrmwareforsomedriversmovedtonon-freeSomedriversloadbinaryrmwareintothedevicetheyaresupportingatruntime.
Whilethisrmwarewasincludedinthestockkernelinpreviousreleases,ithasnowbeseparatelypackagedinthenon-freesection.
Ifyouwanttocontinuetousethesedevicesafterreboot,makesuretherequiredrmwareispresentontheinstalledsystem.
Seesection6.
4oftheInstallationManual[http://www.
debian.
org/releases/stable/installmanual]fordetails.
新的OpenVZ内核标识DebianGNU/Linux5.
0现在提供预编译OpenVZ的内核镜像,相对于etch中的Linux-VServer支持来说这是另一种虚拟化解决方案.
OpenVZ以比正常运行稍高一点的开销提供比Linux-VServer更好的特性(如实时迁移).
A00AA00AX86架构内核软件包名称已统一在以前的发行版中,针对32位的AMDAthlon/Duron/Sempron处理器有一个特殊的-k7内核标识.
这个标识已被去除并由一个统一的标识-686来处理所有AMD/Intel/VIA686型的处理器.
在可能的情况下,依赖于新软件包的伪过渡包已经被提供,以取代过时的软件包.

Emdebian1.
0(基于DebianGNU/Linuxlenny5.
0)A00ALenny现在包含Emdebian的制作工具.
它允许Debian源文件包被交叉构建,并且裁剪,以适合嵌入式的ARM系统.
Emdebian1.
0发布版包含了已经构建好的ARM包,足够为特殊的机器和机器变体创建定制的root文件系统.
内核和内核模块需要单独提供.
对armel和i386的支持正在开发中.
请参见Emdebian网页[http://www.
emdebian.
org/]获得更详细的信息.
上网本支持上网本,例如华硕的EeePC,Debian是支持的.
关于EeePC,请看eeepc-acpi-scriptsA00A.
还有,Debian提供一个新的轻量级X11桌面环境,lxdeA00A,它有利于上网本或是其它性能相对较低的电脑.
Debian中的JavaOpenJDKJava运行环境openjdk-6-jre和开发组件openjdk-6-jdk目前已经包含在Debian中了,在执行Java图形用户界面程序以及网络程序或是编译这些程序时需要用到它们.
这些包编译时使用了IcedTea编译支持,以及来自IcedTea计划的补丁.
第3章安装系统Debian安装程序是Debian官方的安装系统.
它提供了Debian操作系统的各种安装方式.
您适合用何种安装方式,取决于您的计算机硬件架构.
您可以借助Debian网站[http://www.
debian.
org/releases/stable/debian-installer/]上的安装指南找到lenny的安装程序映像.
安装手册也可以在Debian官方CD/DVD的第一张盘上找到,路径是:/doc/install/manual/language/index.
html您也可以检查勘误表[http://www.
debian.
org/releases/stable/debian-installer/index#errata],以查看Debian安装程序的已知问题列表.
安装系统有哪些新特性自从在DebianGNU/Linux3.
1(sarge)中第一次官方发布以来,Debian安装程序有许多开发工作,在硬件支持上有显著改进,还增加了很多有趣的新功能.
在发布说明中,我们只列举安装程序的主要变更.
如果您想对从etch开始各项变更的详细情况有个大致的了解,请阅读lenny之beta和RC版本的发布声明,它们位于Debian安装程序的新闻[http://www.
debian.
org/devel/debian-installer/News/]网页上.
主要更新支持在安装期间加载固件当固件在Debian安装媒体之外提供时,现在可以从可移动媒体加载二进制文件.
支持从MicrosoftWindows安装现在安装媒体提供一个程序允许系统从MicrosoftWindows环境中安装Debian.
支持SATARAID尽早升级有安全更新的包当有网络访问能力时,安装程序会升级全部自发布lenny最初版本以来有更新的包.
此升级在安装期间,系统重新引导之前进行.
从而已安装的系统更难被在发布lenny到安装期间,已知且被修正的安全问题所影响.
支持volatile现在安装程序可以选择从volatile.
debian.
org升级安装完毕的系统.
此主机提供有规律更新的数据,例如时区定义,病毒特征码,等等.
为Intelx86和AMD64新增引导菜单为i386/amd64新增了交互式引导菜单,让用户选择特别的选项或引导方法更直观.
新移植架构现在支持armel架构.
还提供了i386Xen客户安装镜像.
支持硬件语音合成设备现在安装程序支持几种硬件语音合成设备,因此提高了有视力障碍用户的易访问性.
A00A支持挂接选项relatime现在的安装程序能配置分区使用挂接选项relatime,允许仅在以前的读取时间早于当前的修改时间时才更新文件和目录的访问时间.
在安装期间执行NTP时钟同步在安装期间将计算机时钟与NTP同步,所以安装好的系统立即有准确的时钟.
新增语言支持得益于翻译人员的巨大努力,Debian现在可以在文本界面下以63种语言安装(50种可以在文本用户界面使用,13中只能在图形用户界面使用).
这比etch版多了5种语言.
此次增加的语言包括阿姆哈拉语、马拉地语、爱尔兰语、爱沙尼亚语以及塞尔维亚人语.
由于缺少对应的翻译更新,爱沙尼亚语在本版本中不再被支持.
在etch中禁用的威尔士语被重新激活.
由于它们的字符集无法在非图形界面显示,这些语言只有在图形安装程序中才可以被选择:阿姆哈拉语,孟加拉语,不丹语,古吉拉特语,印地语,格鲁吉亚语,高棉语,马拉雅拉姆语,马拉地语,尼泊尔语,旁遮普语,泰米尔语和泰国语.
简化的国家选择现在国家列表按照大陆分组,当用户不想使用与选择的语言关联的国家时,选择国家更容易.
自动安装前一节中所提到的一些变更,也意味着安装程序使用预配置文件进行自动安装的调整.
这意味着,如果您有能在etch安装程序中正常使用的预配置文件,您不能指望它能在新安装程序中正常使用,而无需修改.
安装指南[http://www.
debian.
org/releases/stable/installmanual]现在有一个单独附录,用来描述使用预配置文件的方法.
第4章从以前的发行版升级升级前的准备我们建议您在升级前阅读第5章lenny中需要注意的问题中的信息.
它描述了与升级过程有间接联系的潜在问题,但在升级前了解这些信息对您来说还是很重要的.

备份数据和配置文件在升级系统前,强烈建议您进行一次完整的备份,或者至少备份您不愿意丢失的数据和配置信息.
升级工具和流程是非常可靠的,但升级过程中的硬件错误会对您的系统造成严重损害.
您需要备份的内容包括/etc,/var/lib/dpkg,/var/lib/aptitude/pkgstates下的文件以及dpkg--get-selections"*"命令的输出(命令行中的引号必须要有).
升级过程本身不会修改/home下的任何内容.
但某些程序(比如部分Mozilla套件,以及GNOME和KDE桌面环境)会在新版本的程序第一次启动时用新的默认值来覆盖现有的用户设置.
做为一种预防措施,您也许想备份用户目录下的隐藏文件和目录("dotles").
该备份有助于您恢复或者重建原有设置.
另外,您可能还需要把该事项通知给用户.
任何软件包安装操作都必须以超级用户权限执行,您可以以root身份登录,或使用su或者sudo来获取必要的访问权限.
升级需要几个前提条件,您应当在实际升级前检查它们.
确保您在使用合适的内核lenny的glibcA00A版本在所有架构将无法与旧于2.
6.
8内核工作,而且有些架构还有更高的要求.
我们强烈建议您在升级过程开始前,升级到etch2.
6.
18或2.
6.
24内核或者最低2.
6.
18版本的自定义内核并测试.
提前告知用户提前通知所有用户您正在计划的任何升级将是明智的决定,但是通过ssh连接访问您系统的用户可能在升级过程中不会注意到什么东西,而且应该可以继续正常工作.

如果您希望采取更多的预防措施,请在升级前备份或者卸载/home分区.
当升级到lenny时您可能需要进行内核升级,所以通常需要重启.
一般说来,这将在升级完成后进行.
准备恢复由于etch和lenny的内核在驱动、硬件探测与命名以及设备文件的命名和排序等方面有着诸多变化,在更新后您可能会在重启系统时遇到很大的问题.
本章和发行注记的下一章记录了很多已知的潜在问题.
由于这个原因,当您的系统重启失败(或对于远程管理系统来说,无法从网络唤醒)时,请确保您能够将其恢复.
如果您通过ssh远程连接进行升级,则强烈建议您采取必要的预防措施以便通过远程串行终端来访问该服务器.
因为在升级内核并重启后,某些设备可能会被改名(如在"设备枚举的顺序"一节中所描述的情况),而您将不得不通过本地控制台修复系统配置.
还有,如果系统在升级过程中意外重启您可能需要使用本地控制台进行修复.
很明显首先应尝试的就是以您原来的内核重启.
然而,由于本文档其它地方所描述的各种各样的问题,并不保证可以成功重启.
如果重启失败了,您需要采取替代方案来启动您的系统以便访问和修复它.
其中一种选择是使用特制的急救盘或者LinuxliveCD.
以这些介质引导后,您应该可以挂载您的根文件系统并chroot到它里面来检查并修复问题.
我们推荐的另一种选择是使用lennyDebian安装程序的拯救模式.
使用安装程序的优点是,您可以从众多安装方式中选择最适合您情况的一种.
更多信息请查询安装手册[http://www.
debian.
org/releases/stable/installmanual]第8章的"修复损坏的系统"一节以及Debian安装程序常见问题[http://wiki.
debian.
org/DebianInstaller/FAQ].
initrd引导时使用调试环境initramfs-toolsA00A在其生成的initrd中包含一个调试shell.
如果initrd无法挂载您的根文件系统,您将会进入此调试shell,里面可以使用基本的命令以帮助跟踪问题甚至有可能解决之.
需要检查的几个基本项目:/dev下是否存在正确的设备文件;加载了什么模块(cat/proc/modules);dmesg的输出中有关驱动加载的错误信息.
dmesg的输出还会显示哪个设备文件被指定给哪个磁盘;您还应该检查echo$ROOT的输出,以确保根文件系统在预想的设备上.
如果您确实修复了问题,输入exit会退出调试shell,并从先前失败的地方继续启动进程.
当然您还需要修复更深层次的问题,并重新生成initrd,以使下次引导不再失败.
为升级准备安全环境发行版升级应该从本机的文本模式虚拟控制台(或者直连串行终端),或者通过ssh远程连接进行.
为了在远程升级时获得额外的可靠性保障,我们建议您在由screen程序生成的虚拟控制台中执行升级过程.
它能进行可靠的重新连接并确保,即使远程连接失败,升级过程也不会被打断.
重要您不应该在您要升级的机器上使用telnet、rlogin、rsh之类的东西,或者从xdm、gdm、kdm之类管理的X会话中升级.
因为那些服务中的任意一个在升级中都有可能被中止,进而导致出现一个不可访问的,只升级了一半的系统.

为LILOA00A准备initramfs使用LILO启动管理器的用户应该注意,initramfs-toolsA00A目前的默认设置生成的initramfs对于LILO来说太大而无法加载.
这些用户要么把启动管理器换成grubA00A,要么就编辑/etc/initramfs-tools/initramfs.
conf文件,更改这行MODULES=most为MODULES=dep但是请注意,这么做会引起initramfs-toolsA00A仅安装那些它运行于特定硬件上的模块至initramfs.
如果您想生成一个引导介质,让它可以在更多的硬件上运作,而不是只在与您拥有同样硬件的机器上运作时,您应该保留设置为MODULES=most并确保不使用LILO.
检查系统状态此章所述的升级过程是为了从"纯粹的"etch升级而安排的,即系统中没有第三方的软件.
为使升级过程最可靠,您可能会希望在升级前,从系统中移除第三方的软件包.

此过程也假定您的系统已经更新至etch的最新发行点.
如果您还未做或是不确定,请按照"升级您的etch系统"一节中的说明做.
复审包管理器中的未决操作在某些情况下,使用apt-get代替aptitude安装软件包时,可能会让aptitude认为包"未被使用",并安排它被移除.
一般来说,在正式升级前您应该确保系统是最新且"干净的".
有鉴于此,您应该复查包管理器aptitude中是否有未决操作.
如果包管理器中有软件包被安排为移除或更新,那么这可能对升级过程有负面影响.
注意,要更正这一错误只可能是,您的sources.
list仍然指向etch而非stable或是lenny.
参看"检查您的sourceslist"一节.
要执行复查的话,您必须以"图形模式"运行aptitude并按下g("Go").
如果显示有任何未决操作,您都应该复查它们,然后要么修复,要么执行建议的操作.
如果没有建议的操作,会有一条信息"没有软件包需要安装、删除或者升级"出现.
禁用APTpinning操作如果已经设置APT从一个非stable(如testing)版安装特定软件包,您可能必须改变APTpinning设置(保存在/etc/apt/preferences中)以允许升级至新的stable版中的包.
更多有关APTpinning的信息可以在apt_preferences(5)中找到.
检查包状态不管用什么方法升级,我们都建议您先检查所有软件包的状态,并验证所有包都处于可升级状态.
以下命令会显示任何半安装或是配置失败的包,还有那些有任何错误状态的包.

#dpkg--audit您也可以用dselect、aptitude来审查系统中的所有包的状态,也可以用如下的命令来审查#dpkg-l|pager或是#dpkg--get-selections"*">~/curr-pkgs.
txt在升级前移除所有的hold状态是很有必要的.
如果有任何对升级而言有重大影响的包处于hold状态,升级会失败.
注意aptitude使用一种与apt-get及dselect不同的方法来注册hold状态的包.
您可以用以下命令来确认aptitude中处于hold状态的包.
#aptitudesearch"~ahold"|grep"^.
h"如果您想检查apt-get中哪些包设置了hold状态,可以用#dpkg--get-selections|grephold如果您在本地更改并重新编译了一个包,且并未重命名,或是在版本号中放入新的纪元号,您就必须将它设为hold状态,以防止它被升级.
aptitude中的"hold"状态的包能用以下命令更改:#aptitudeholdpackage_name用unhold代替hold即可清除"hold"状态.
如果有任何需要修复的东西,您最好确保sources.
list仍然指向etch,就像"检查您的sourceslist"一节中所说的那样.
proposed-updates区如果您已经把proposed-updates区加入您的/etc/apt/sources.
list文件,那么您应当在升级前移除它,这样可以降低冲突发生的概率.
非官方源和backports如果有任何非Debian的软件包安装在您的系统中,您应该意识到它们可能会在升级期间因为依赖性冲突而被移除.
如果这些包是通过在/etc/apt/source.
list中添加一个额外的软件源而安装的,您应该检查那个软件源是否也提供lenny下编译好的包,并同时像您的Debian软件源那样更改相应的源.
某些用户可能有非官方的backported"较新的"包版本存在于他们安装的Debianetch系统中.
升级期间那样的包是最可能引起问题的,因为它们可能会导致文件冲突.
"升级期间可能遇到的问题"一节已经有一些关于如何处理将会出现的文件冲突的信息了.

使用backports.
org包backports.
org是一个由DebianGNU/Linux开发者提供的半官方的仓库,它基于"testing"仓库重新编译,来为stable版提供新的软件包.
backports.
org仓库含有从"testing"来的包,使用一个比之略小的版本号,这样可以方便地从etch升级到lenny.
回溯至lenny仍然可用.
另外,部分向后移植(backports)来自于不稳定版(unstable)(包括安全升级及以下特殊程序:Firefox,kernel,OpenOce.
org,X.
org).
Ifyoudonotuseoneoftheseexceptions,youcansafelyupgradetolenny.
Ifyouuseoneoftheseexceptions,setthePin-Priority(seeapt_preferences(5))temporarilyto1001forallpackagesfromlenny,andyoushouldbeabletodoasafedist-upgradetoo.
手工删除软件包的标记要防止aptitude移除某些因依赖关系而安装的包,您需要手工删除这些包上的auto标记.
对于桌面安装来说,包括OpenOce和Vim:#aptitudeunmarkautoopenoffice.
orgvim如果您已经用内核元数据包安装了2.
6内核镜像,那还要包括它:#aptitudeunmarkauto$(dpkg-query-W'linux-image-2.
6.
*'|cut-f1)注意您可以复查那些在aptitude中被标记为auto的包,执行:#aptitudesearch'~i~M'为APT准备源在开始升级前,您必须在软件包源列表/etc/apt/sources.
list中设定aptA00A的配置文件.
aptA00A会查找所有通过任意"deb"行找到的包,并安装带最高版本号的包,给予该文件第一行以优先权(所以,如果有多个镜像地址,您最好先命名本地硬盘,然后是CD-ROM,最后是HTTP/FTP镜像).
提示您可能需要为DVD和CD-ROM关闭GPG密钥检查.
如果/etc/apt/apt.
conf.
d/00trustcdrom中还没有以下内容,则把下列内容添加至/etc/apt/apt.
conf.
APT::Authentication::TrustCDROM"true";然而,这无法用于DVD/CD-ROM映像文件.
一个发行版通常既能通过它的代号(如:etch,lenny)引用,也可以用它的状态名引用(如:oldstable,stable,testing,unstable).
引用发行版的代号的好处在于,您绝对不会被新的发行版问题困扰且被带至此处.
当然,这也意味着您不得不自己关注新版的发行.
如果转而使用状态名,一旦有新版发行,您将只会看到一堆可用的软件包的更新.

添加互联网APT源默认配置用于从主Debian网络服务器上安装,但您可能希望修改/etc/apt/sources.
list以使用其它的镜像,离您最近的网络镜像是一种更好的选择.
DebianHTTP或FTP镜像地址能在http://www.
debian.
org/distrib/ftplist找到(参看"Debian镜像列表"一节).
HTTP镜像通常比FTP镜像快.
例如,假设离您最近的Debian镜像是http://mirrors.
kernel.
org.
当用网络浏览器或是FTP程序检查那个镜像时,您会注意到主目录被组织成了如下情况:http://mirrors.
kernel.
org/debian/dists/lenny/main/binary-amd64/.
.
.
http://mirrors.
kernel.
org/debian/dists/lenny/contrib/binary-amd64/.
.
.
要让aptA00A使用这个镜像,您将此行添加至sources.
list文件:debhttp://mirrors.
kernel.
org/debianlennymaincontrib注意明显加上去的'dists',这个发行版名字后的参数用于将路径扩展成多个目录.

添加新源后,在sources.
list中通过在以前存在的"deb"行前加上一个井号(#)来禁用它们.
添加本地镜像APT源您可能希望通过修改/etc/apt/sources.
list来使用一个本地磁盘上的镜像(也许是通过NFS挂载的),来代替HTTP或FTP软件源镜像.
例如,假设您的镜像位于/var/ftp/devian/下,并且有如下的主目录:/var/ftp/debian/dists/lenny/main/binary-amd64/.
.
.
/var/ftp/debian/dists/lenny/contrib/binary-amd64/.
.
.
要让aptA00A使用它,需要把这一行添加至sources.
list文件:debfile:/var/ftp/debianlennymaincontrib注意明显加上去的'dists',这个发行版名字后的参数用于将路径扩展成多个目录.

添加新源后,在sources.
list中通过在以前存在的"deb"行前加上一个井号(#)来禁用它们.
从CD-ROM或DVD添加APT源如果您只想用CD安装,在/etc/apt/sources.
list中的"deb"行前放上井号(#)注释掉它们.
确保在/etc/fstab中有一行允许您挂载CD-ROM于/cdrom挂载点(apt-cdrom必须指定挂载点为/cdrom).
例如,假设/dev/hdc就是您的CD-ROM,/etc/fstab中应该带有一行:/dev/hdc/cdromautodefaults,noauto,ro00注意在第四段defaults,noauto,ro之间必须无空格.
要验证设置是否有效,插入一片CD,尝试运行#mount/cdrom#挂载CD至挂载点#ls-alF/cdrom#显示CD的根目录#umount/cdrom#卸载CD下一步,运行:#apt-cdromadd每片您所拥有的Debian二进制CD-ROM都要这么做,以便将每片CD的数据添加至APT的数据库.
升级软件包推荐的从以前DebianGNU/Linux发行版升级的方法是使用包管理器aptitude.
此程序会对安装包采取比直接运行apt-get更保守的选择.
不要忘记挂载所有必需的分区(尤其是根分区和/usr分区)为可读写状态,用以下命令:#mount-oremount,rw/mountpoint下一步您应该详细检查APT源记录(/etc/apt/source.
list)要么指向"lenny"又或指向"stable".
不应该有任何指向etch的源记录.
注意CD-ROM的源通常会指向"unstable".
尽管这令人困惑,但您不应该改变它.
记录会话强烈推荐您使用/usr/bin/script程序来记录升级会话中的交互信息.
这样如果有问题了,您就有一份问题报告.
而且需要的话,您也可以在错误报告中提供额外信息.
要开始记录,输入:#script-t2>~/upgrade-lenny.
time-a~/upgrade-lenny.
script或是类似命令.
不要将输出文件放在临时目录下,如/tmp或/var/tmp(这些目录下的文件可能会在升级输出文件也可让您复查屏幕上滚动过去的信息.
只要切换至虚拟终端2(使用Alt+F2),在登入后,用less-R~root/upgrade-lenny.
script查看文件.
在完成升级后,您可以在提示符下输入exit停止script.
如果已经对script使用了-t选项,您就可以用scriptplay程序来回放整个过程:#scriptreplay~/upgrade-lenny.
time~/upgrade-lenny.
script更新包列表首先,需要获取新发行版的可用包列表.
执行:#aptitudeupdate首次执行此命令,会更新新源并打印出一些有关源可用性的警告信息.
这些警告没关系,而且在您下一次执行时就没有了.
确保您有足够的空间升级在升级系统前必须确保在进行如"升级系统的其它部分"一节中所述的完全系统升级时,您有足够的磁盘空间.
首先,安装过程所需的任何从网上下载的包都被保存在/var/cache/apt/archives(下载期间还会放在partial/子目录下),因此您必须确保在文件系统分区/var/下有足够的空间存放临时下载包,这些包将会安装在系统中.
下载之后,您可能在其它文件系统分区中需要更多的空间来同时安装升级包(可能会包含更大的二进制程序或更多数据)和升级中带入的新包.
如果系统中没有足够的空间,您可能以一个未完成的升级结束,而这可能难以恢复.
aptitude和aptA00A都会显示给您安装所需磁盘空间的详细信息.
在执行升级操作前,您可以运行以下命令来看到这个估计值:#aptitude-y-s-f--with-recommendsdist-upgrade[.
.
.
]XXX个已升级,XXX个刚装上,XXX个待删除以及XXX个未升级.
需要获取xx.
xMB/yyyMB.
解开后,将占用AAAMB.
会下载/安装/删除包.
注意由于下一节将要谈到的问题,在即将开始更新前执行这条命令可能会给出一个错误.
如果那样的话,您需要等至已经如"最小系统升级"一节所述的那样做过最小系统升级并且升级过内核,这样您才可以运行这条命令来预估所需的磁盘空间.

如果没有足够空间来升级,确保您预先释放了空间.
可以这样:删除以前安装时下载的包(位于/var/cache/apt/archives).
用apt-getclean或aptitudeclean来清理包缓存,这会删除所有以前下载过的包文件.
删除被遗忘的包.
如果您安装过popularity-contestA00A,可以用popcon-largest-unused来列出系统中占用大量空间而又不用的那些包.
您也可以用deborphan或是debfoster来找出过时的包(参看"过时的包"一节).
另一种可选方案是,您以"图形模式"运行aptitude在"过时的且由本机创建的包"下找到过时的包.
删除占用太多空间且目前不需要的包(您总是可以在升级后重装它们的).
您可以用dpigs(可在debian-goodiesA00A包中找到)或是用wajig(运行wajigsize)列出占用大量空间的包.
YoucanlistpackagesthattakeupmostofthediskspacewithaptitudeA00A.
Startaptitudeinto"visualmode",selectViews→NewFlatPackageList(thismenuentryisavailableonlyafteretchversion),presslandenter~i,pressSandenter~installsize,thenitwillgiveyounicelisttoworkwith.
DoingthisafterupgradingaptitudeA00Ashouldgiveyouaccesstothisnewfeature.
如果不需要的话可以从系统中移除翻译和本地化文件.
您可以安装并配置localepurgeA00A软件包,这样只有一小部分选择的本地化设置被保留在系统中.
这将减少/usr/share/locale所使用的磁盘空间.
将/var/log/下的系统日志临时放到其它系统,或是永久删除.
使用临时目录/var/cache/apt/archives:您可以使用来自另一个系统的临时缓存目录(USB存储设备,临时硬盘,使用中的文件系统……)注意不要使用NFS,这是因为网络连接可能在升级期间断开.
例如,假设您将USB盘挂在/media/usbkey下:1.
删除以前安装时下载的包:#apt-getclean2.
将/var/cache/apt/archives目录复制到USB磁盘:#cp-ax/var/cache/apt/archives/media/usbkey/3.
将临时缓存目录挂载至当前目录:#mount--bind/media/usbkey/archives/var/cache/apt/archives4.
升级后,还原/var/cache/apt/archives目录:#umount/media/usbkey/archives5.
删除留下的/media/usbkey/archives.
您可以在挂载于系统中的任何文件系统上创建临时缓存目录.
注意为了安全地移除软件包,建议您换回etch的sources.
list,就像"检查您的sourceslist"一节中描述的那样.
先升级apt和/或aptitudeSeveralbugreportshaveshownthattheversionsoftheaptitudeA00AandaptA00Apackagesinetchareoftenunabletohandletheupgradetolenny.
Inlenny,aptA00AisbetteratdealingwithcomplexchainsofpackagesrequiringimmediatecongurationandaptitudeA00Aissmarteratsearchingforsolutionstosatisfythedependencies.
Thesetwofeaturesareheavilyinvolvedduringthedist-upgradetolenny,soitisnecessarytoupgradethesetwopackagesbeforeupgradinganythingelse.
ThefollowingcommandwillupgradebothaptitudeA00AandaptA00A:#aptitudeinstallaptitudeaptdpkgThisstepwillalsoautomaticallyupgradelibc6A00AandlocalesA00A.
Atthispoint,somerunningserviceswillberestarted,includingxdm,gdmandkdm.
Asaconsequence,localX11sessionsmightbedisconnected.
UpgradingwithaptA00APleasenotethatusingapt-getisnotrecommendedfortheupgradefrometchtolenny.
IfyoudonothaveaptitudeA00Ainstalledyouarerecommendedtoinstallitrst.
IfyouwanttoperformtheupgradewithaptA00AoriftheupgradewithaptitudeA00AfailedandyouwanttotrytheupgradewithaptA00A'dependencychainresolutionalgorithm,youshouldrun:#apt-getinstallaptNotethatyouwillhavetoadaptotheraptitudecommandstouseapt-getinstead.
使用aptitudes记录的apt自动安装的软件包列表aptitudeA00A维护了一个自动安装的包列表(就像另一个包的依赖一样).
在lenny中,aptA00A现在也有这个功能了.
首次运行lenny版本的aptitudeA00A时,它会先自动读入安装包的列表,然后再转换成lennyaptA00A可用的版本.
如果您安装了aptitudeA00A,您至少应该先发出一条aptitude指令以便转换.
一种方法是搜索一个不存在的包:#aptitudesearch"false"最小系统升级由于在etch和lenny间有某些必需包存在冲突,因此直接运行aptitudedist-upgrade通常会删除大量您想要保留的包.
因此我们推荐一种两步升级过程,首先做一次最小升级来解决这些冲突,然后做一次完整的dist-upgrade升级.
首先,运行:#aptitudesafe-upgrade这会升级那些不需要删除或安装其它任何包的软件.
下一步会相当依赖您安装过的包.
发行注记会给出所用方法的通用建议,但如有疑问,推荐您在继续操作前检查每种方法建议的需要删除的包.
某些通用包要被删除,包括base-configA00A,hotplugA00A,xlibsA00A,netkit-inetdA00A,python2.
3A00A,xfree86-commonA00A和xserver-commonA00A.
要了解更多在lenny中废弃包的信息,参看"过时的包"一节.
升级系统的其它部分现在,您要准备继续升级重要部分.
执行:#aptitudedist-upgrade这将对系统进行一次全面的升级,比如:安装所有包的最新可用版本,解决不同发行版的包之间所有潜在的依赖性变动.
如有必要,它会安装一些新包(通常是新库,或是重命名的包),并删除任何有冲突的过时包.
当从一套CD-ROM(或DVD)升级时,您会在升级期间的某几个地方被要求插入指定的CD盘片.
您可能不得不多次插入相同的盘片,这是因为互相依赖的包已经被分散到整个CD套件中去了.
如果不改变被指定在当前状态(显示为"heldback")的另一个包,当前安装包的新版本就无法升级.
这个问题可以通过使用aptitude选择这些包来安装或是用aptitude-finstallpackage来解决.
升级期间可能遇到的问题如果使用aptitude,apt-get或dpkg操作时出现错误E:DynamicMMapranoutofroom默认的缓存区空间不足.
您可以通过删除或注释掉/etc/apt/sources.
list中不需要的行,或通过增加缓存大小来解决这个问题.
缓存大小能通过在/etc/apt/apt.
conf中设置APT::Cache-Limit来增加.
下面的命令会为它设置一个足够升级值:#echo'APT::Cache-Limit"12500000";'>>/etc/apt/apt.
conf这里假设您还未在那个文件中对该变量进行过设置.
有时有必要在APT中开启APT::Force-LoopBreak选项使之能够临时移除一个重要的包,这是为了满足冲突或是预依赖循环.
aptitude会警告您这一点并退出升级.
您可以通过在aptitude命令行上指定-oAPT::Force-LoopBreak=1选项来解决这个问题.
有可能系统的依赖关系太乱了以至于需要手工干预.
通常这意味着使用aptitude或是#dpkg--removepackage_name来消除某些引起问题的包,或是#aptitude-finstall#dpkg--configure--pending在极端情况下,您可能不得不像以下命令一样强制重新安装某个包#dpkg--install/path/to/package_name.
deb如果您从"纯粹的"etch系统升级就不会出现文件冲突,但如果您装有非官方的backport包就可能出现冲突.
文件冲突会导致类似以下这样的错误:Unpacking(from).
.
.
dpkg:errorprocessing(--install):tryingtooverwrite`',whichisalsoinpackagedpkg-deb:subprocesspastekilledbysignal(Brokenpipe)Errorswereencounteredwhileprocessing:您可以尝试用错误信息中的最后一行提示,强制删除包来解决文件冲突:#dpkg-r--force-dependspackage_name在修复这些问题后,您应该可以通过重复前述的aptitude命令来继续升级.
升级期间,您会被问到有关配置或是重新配置几个包的问题.
如果您被问到是否任何存在于/etc/init.
d或/etc/terminfo目录,或是/etc/manpath.
config目录下的文件应该被包维护者的版本所替换时,通常有必要回答'yes'来确保系统一致性.
由于它们会被以.
dpkg-old为后缀的文件名保存,所以您总是可以恢复成老版本的配置文件.

如果您不确定该做什么,那就记下包或文件的名称,并稍后排出它们的顺序.
您可以通过在script命令记录的输出文件中搜索来查看升级期间显示在屏幕上的信息.
升级内核与相关包这一节解释了如何升级您的内核,以及明确有关此次升级的潜在问题.
您可以安装由Debian提供的linux-image-*A00A包,或者从源码编译一个自定义的内核.
注意本节的很多信息基于假设,即您会使用一个模块化的Debian内核,以及initramfs-toolsA00A和udevA00A.
如果您选择使用一个不需要initrd的自定义内核,或是您使用了一种不同的initrd生成器,对您来说某些信息可能会不一样.
安装内核元数据包当您从etch全面升级至lenny时,强烈推荐您安装新的linux-image-2.
6-*元数据包.
此包可能由dist-upgrade自动安装了.
您可以验证此步,执行:#dpkg-l"linux-image*"|grep^ii如果您没有看到任何输出,那么您需要手工安装一个新的linux-image包.
要查看可用的linux-image-2.
6的元数据包列表,执行:#apt-cachesearchlinux-image-2.
6-|grep-vtransition如果您不确定要选哪个包,那就运行uname-r并查找带有类似名称的包.
例如,如果您看到'2.
6.
18-6-686',那推荐您安装linux-image-2.
6-686A00A.
(注意不再有k7版本;如果您当前正在用k7内核,您应该安装686内核代替.
)您也可以使用apt-cache来查看每个包的详细描述,以帮助您选择最好用的那个.
例如:#apt-cacheshowlinux-image-2.
6-686然后您应该使用aptitudeinstall来安装.
一旦安装了这个新内核,您应该在下一次可行时重启机器以获取新内核所提供的特性.
对于爱冒险的人,这里有个简单方法来编译您的自定义DebianGNU/Linux内核.
安装kernel-packageA00A工具,然后阅读/usr/share/doc/kernel-package下的文档.
如果有可能,把内核包的升级从主dist-upgrade中独立出来是有利的,这能减少出现一个临时不可引导的系统的机会.
注意,这只能在最小升级(参看"最小系统升级"一节)结束后才能做.
设备枚举的顺序lenny带来一个比上一发行版更健全的硬件探测机制.
但是,这会引起系统中所探测到的设备顺序变化,即影响设备名的分配顺序.
例如,如果您有两张驱动不同的网卡,eth0和eth1设备名可能被互换了.
请注意,新机制意味着假设您在运行着的lenny系统中互换以太网适配器,新的适配器也会获得一个新的接口名.
对于网络设备,您可以通过使用udevA00A机制避免此重排,更明确点,通过在/etc/udev/rules.
d/70-persistent-net.
rules中指定.
另一种方法,您可以在引导时用ifrename工具将物理设备绑定至指定的名字.
参看ifrename(8)和iftab(5)获取更多信息.
两个可选方法(udevA00A和ifrename)不应该同时使用.
对于存储设备,通过使用initramfs-toolsA00A并配置它按当前的顺序载入存储设备,这样您就可以避免这个顺序重排.
要这么做的话,通过查看lsmod命令的输出来明确您系统中载入的存储模块的顺序.
lsmod以它们载入的反序显示,即列表中的第一个模块是最后一个被载入的.
注意这只对内核以固定顺序枚举出的设备有效(像PCI设备).
但是,在首次引导后删除并重新载入模块会影响这个顺序.
还有,您的内核可能有些静态链接的驱动,而且这些模块名称不会出现在lsmod的输出中.
您可能会解读这些驱动名并从/var/log/kern.
log或是dmesg的输出中载入引导顺序.
将这些模块名按它们引导时载入的顺序添加至/etc/initramfs-tools/modules.
某些模块名可能在etch和lenny有所变动.
例如,sym53c8xx_2已经变成了sym53c8xx.
然后您需要运行update-initramfs-u-kall重新生成initramfs镜像.
一旦您正运行一个lenny内核和udevA00A,您可以重新配置系统以通过一个不依赖于驱动载入顺序的别名来访问磁盘.
这些别名存在于/dev/disk/目录结构下.
引导期间的问题如果用initramfs-toolsA00A创建的initrd引导系统,在某些情况下由udevA00A创建的设备文件可能对于启动脚本的执行来讲太慢了点.
这通常表现为引导失败,由于根文件系统无法挂载,您会进入调试环境.
但当您回头检查时,所需的所有设备都存在于/dev下.
只要根文件系统存在于USB磁盘或是RAID上,尤其是使用了LILOA00A时,就会出现这种问题.
解决此问题的方法就是用引导参数rootdelay=9.
这个超时值(秒)可能需要调整一下.
在重启之前要做的事情当aptitudedist-upgrade完成时,"正式的"升级就算结束了.
但在下一次重启之前,还有一些其它的事情需要关注一下.
重新运行lilo如果您正在用liloA00A作为您的启动管理器(这是某些etch安装的默认引导器),强烈建议您在升级后重新运行lilo:#/sbin/lilo注意,即使您不升级系统内核也需要这一步,这是由于包的升级lilo的secondstage会改变.
还有,检查/etc/kernel-img.
conf中的内容并确保其中有do_bootloader=Yes这一行.
这样,在内核升级后,启动管理器总会重新运行一下.
如果您在运行lilo时遇到任何问题,请检查/下至vmlinuz和initrd的符号链接,以及/etc/lilo.
conf中内容不一致的地方.
如果您在重启前或是在您未手工重启系统就偶然重启前,忘记重新运行lilo的话,您的系统可能会无法引导.
当系统引导时您将只会看到LI而不是lilo提示符.
有关如何从此处恢复的信息请参看"准备恢复"一节.
系统引导时在显示Waitingforrootfilesystem后挂起从/dev/hda变成/dev/sda的补救方法某些用户已经报告,升级可能引起内核无法在重启后找到系统根分区.
在那种情况下,系统引导会挂起并出现以下信息:Waitingforrootfilesystem.
.
.
且几秒钟后会只出现一个busybox提示符.
当内核升级使用新一代的IDE驱动程序时,就会出现这个问题.
老的IDE磁盘的命名规则是hda,hdb,hdc,hdd.
新的规则将分别命名为sda,sdb,sdc,sdd.
当升级时未生成一个新的/boot/grub/menu.
lst文件来产生新的命名规则时,就会出现这个问题.
引导时,Grub会传递给内核一个无法找到的系统根分区.
如果您在升级后已经遇到此问题,转至"如何在升级后解决此问题"一节.
要在升级前避免此问题,就提前看一下.
如何在升级前避免此问题通过给根文件系统使用一个不会在引导时改变的标识符,您可以完全避免这个问题.
要做到这点有两种可用的方案给文件系统加标签,或是用文件系统的通用唯一标识符(UUID).
Debian从'etch'发行版起就已经支持这些方法了.
两种方法各有优缺点.
文件系统标签可读性好,但如果您的系统中有另一个同名的文件系统时,就会带来问题.
UUID可读性较差,但极不可能出现两个互相冲突的UUID.
以下范例中,我们假设根文件系统位于/dev/hda6,同时再假设您的系统装有运行正常的udev和ext2或是ext3文件系统.
要使用文件系统标签:1.
通过执行命令e2label/dev/hda6rootlesys来标记文件系统(名称必须小于16个字符).
2.
编辑/boot/grub/menu.
lst并更改以下这行:#kopt=root=/dev/hda6ro为#kopt=root=LABEL=rootfilesysro注意不要删除行首的#,那个要的.
3.
通过运行update-grub更新menu.
lst中的kernel行.
4.
编辑/etc/fstab并改变挂载/分区的那行,如:/dev/hda6/ext3defaults,errors=remount-ro01为LABEL=rootfilesys/ext3defaults,errors=remount-ro01在这里改变的是第一栏,您不必修改此行的其它栏目.
要使用UUID:1.
Findouttheuniversallyuniqueidentierofyourlesystembyissuing:ls-l/dev/disk/by-uuid|grephda6.
Youcanalsousevol_id--uuid/dev/hda6(inetch)orblkid/dev/hda6(ifalreadyupgradedtolenny).
您应该得到类似于以下内容的一行:lrwxrwxrwx1rootroot242008-09-2508:16d0dfcc8a-417a-41e3-ad2e-9736317f2d8ahda6UUID是指向/dev/hda6的符号链接的名字,如d0dfcc8a-417a-41e3-ad2e-9736317f2d8a.
注意您文件系统的UUID可能是不同的字符串.
2.
编辑/boot/grub/menu.
lst并更改以下这行:#kopt=root=/dev/hda6ro为#kopt=root=UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8ro注意不要删除行首的#,那个要的.
3.
通过运行update-grub更新menu.
lst中的kernel行.
4.
编辑/etc/fstab并改变挂载/分区的那行,如:/dev/hda6/ext3defaults,errors=remount-ro01为UUID=d0dfcc8a-417a-41e3-ad2e-9736317f2d8/ext3defaults,errors=remount-ro01在这里改变的是第一栏,您不必修改此行的其它栏目.
如何在升级后解决此问题方案一当Grub显示菜单界面让您选择您想启动的菜单项时,可以做这步操作.
如果没出现那样的菜单,尝试在内核引导显示它之前,按下Esc键.
如果您还是无法进入此菜单,尝试"方案二"一节或是"方案三"一节.
1.
在Grub菜单中,高亮您想启动的菜单项.
按下e键来编辑有关此条目的选项.
您将会看到一些东西,类似于:root(hd0,0)kernel/vmlinuz-2.
6.
26-1-686root=/dev/hda6roinitrd/initrd.
img-2.
6.
26-1-6862.
高亮此行kernel/vmlinuz-2.
6.
26-1-686root=/dev/hda6ro按下e键并用sdX代替hdX(X可以是字符a,b,c或d,这依赖于您的系统).
在我的例子中这一行变为:kernel/vmlinuz-2.
6.
26-1-686root=/dev/sda6ro然后按下Enter来保存修改.
如果还有其它带hdX字样的行,则一并修改.
不要改变类似于root(hd0,0)这样的条目.
一旦做好所有的修改,按下b键.
然后您的系统现在应该能正常启动.
3.
现在您的系统已经启动了,您需要永久修复这个问题.
转至"如何在升级前避免此问题"一节并使用两个方法中的一个.
方案二从debian安装介质(CD/DVD)引导,选择rescue来启动急救模式.
选择您的语言、地区、键盘映射,无论是否成功都让它配置您的网络.
过一会儿,您应该被要求选择一个您想让它作为根文件系统使用的分区.
推荐的选择看起来类似:/dev/ide/host0/bus0/target0/lun0/part1/dev/ide/host0/bus0/target0/lun0/part2/dev/ide/host0/bus0/target0/lun0/part5/dev/ide/host0/bus0/target0/lun0/part6如果您知道哪个分区是您的根文件系统,就选择正确的那个.
如果您不知道,只好试一下第一个.
如果它报告说是无效的根文件系统分区,就试下一个,依次类推.
一个接一个地尝试不会损伤您的分区,而且如果您仅在磁盘上装有一个系统,您应该很容易就找出正确的根文件系统分区.
如果您在磁盘上装有多个系统,最好能准确地知道哪个是正确的分区.

一旦您已选中一个分区,有几个选项可以选择.
选择在所选分区中启动shell环境的选项.
如果启动失败,那就试另一个分区.
现在您应该拥有挂载于/target的根文件系统shell环境的root用户访问权.
您需要访问硬盘中/boot、/sbin和/usr目录中的内容,它们现在应该位于/target/boot,/target/sbin和/target/usr目录下.
如果这些目录需要从其它分区挂载,那就先挂载它们.
(如果您不知道挂载哪个分区,请参考/etc/fstab).
转至"如何在升级前避免此问题"一节并使用两个方法中的一个来永久修复这个问题.
然后输入exit退出急救shell环境,并选择reboot正常重启系统(别忘了拿走可引导介质).
方案三1.
从您最喜欢的LiveCD发行版启动,比如DebianLive,Knoppix,UbuntuLive.
2.
挂载/boot目录所在的分区.
如果您不知道是哪个,利用dmesg的输出来找出是否您的磁盘是hda,hdb,hdc,hdd或是sda,sdb,sdc,sdd.
一旦您知道是哪个磁盘,例如是sdb,执行命令fdisk-l/dev/sdb来查看分区表并找出正确的分区.
3.
假设,您已经在/mnt下挂载了正确的分区,而且此分区含有/boot目录及其内容,那就编辑/mnt/boot/grub/menu.
lst文件.
找到类似于以下的这一段:####EndDefaultOptions##titleDebianGNU/Linux,kernel2.
6.
26-1-686root(hd0,0)kernel/vmlinuz-2.
6.
26-1-686root=/dev/hda6roinitrd/initrd.
img-2.
6.
26-1-686titleDebianGNU/Linux,kernel2.
6.
26-1-686(single-usermode)root(hd0,0)kernel/vmlinuz-2.
6.
26-1-686root=/dev/hda6rosingleinitrd/initrd.
img-2.
6.
26-1-686###ENDDEBIANAUTOMAGICKERNELSLIST并将hda,hdb,hdc,hdd替换为sda,sdb,sdc,sdd.
不要修改类似于这样的行:root(hd0,0)4.
重启系统,弹出LiveCD,您的系统应该能正确的启动了.
5.
当系统引导时,使用"如何在升级前避免此问题"一节中所建议的两种处理方法中的一个来永久修复这个问题.
为下个发行版做准备升级完成后,您可以为下个发行版做点事.
如果新的内核镜像元数据包被当作旧镜像的依赖包而安装,那新镜像将被标记为自动安装,这应该被更正一下:#aptitudeunmarkauto$(dpkg-query-W'linux-image-2.
6-*'|cut-f1)像"过时的包"一节中描述的那样移除过时的和未使用的包.
您应该核查这些包所用的配置文件,并考虑完全删除这些软件包以移除它们的配置文件.
过时的包在带来几千个新软件包的同时,lenny也清除了曾经存在于etch中超过两千个的旧软件包.
lenny不提供这些过时包的升级.
当然,在您需要的地方没什么可以阻止您继续使用这些过时的包,Debian计划通常会在lenny发行版后的一年间不断的提供安全更新,且通常不会同时提供其它支持.
推荐用可用的替代品代替它们.
为什么包会从发行版中移除这有很多原因,如:它们不再被上游作者维护了;没有Debian开发者对维护这个包感兴趣;这些包提供的功能被不同的软件(或新版本)替代了;或者由于它们自身的问题,因而被认为不适用于lenny.
最后一种情况下,这些包有可能仍然位于"unstable"版之下.
检测在已更新的系统中哪些包是"过时"的现在容易得很,因为包管理的前台程序会标记它们的.
如果您使用的是aptitude,您将在"过时的和本机创建的包"条目中看到这些包.
dselect提供类似的条目,但它显示的列表有所不同.
还有,如果您曾经用aptitude手工在etch中安装过包,aptitude会保存那些您手工安装的记录.
如果有某个包被移除并导致出现无依赖性,即不再需要那些包,aptitude会将那些包标记为过时的包.
还有aptitude,不同于deborphan,不将您手工安装而非那些通过依赖性自动安装的软件包标记为过时的包.
您可以用其它的工具来找出过时的包,例如deborphan,debfoster或cruft.
推荐使用deborphan,尽管它(默认情况下)只报告过时的库,即"libs"或是"oldlibs"部分中的未被其它包依赖的软件包.
不要盲目的移除那些工具要用到的包,尤其是当您正在使用激进的非默认的选项,它们容易引起严重错误.
极度推荐在您移除它们之前,手工核查那些建议移除的包(例如:它们的内容、大小以及描述信息).
Debian错误跟踪系统[http://bugs.
debian.
org/]通常会提供额外信息,这些都是有关这个包为什么要被移除的信息.
您应该既查看此包自身的归档错误报告,同时也要看一下ftp.
debian.
orgpseudo-package[http://bugs.
debian.
org/cgi-bin/pkgreport.
cgipkg=ftp.
debian.
org&archive=yes]中的归档错误报告.
Thelistofobsoletepackagesincludes:apacheA00A(1.
x),由apache2A00A代替bindA00A(8),successorisbind9A00Aphp4A00A,由php5A00A代替postgresql-7.
4A00A,由postgresql-8.
1A00A代替eximA00A(3),successorisexim4A00A哑包来自etch的某些包在lenny中已经被分为好几个包,通常这是为了改善系统的可维护性.
在此情况下,为了能平滑升级,lenny通常提供"哑"包(即空包),它与etch中的旧包名称相同,但有依赖性,促使它们安装新包.
这些"哑"包在升级成功后就会被认为是过时的包,且能够被安全地移除.
绝大多数(并非所有)哑包的描述信息会显示它们的用途.
但哑包的描述信息并不统一,因此您可能会发现带上--guess选项的deborphan命令对于找出您系统中的哑包是很有用的.
注意,某些哑包在升级后是不打算被系统移除的,相反它们被用于长期跟踪某程序的当前可用版本这样的目的.
第5章lenny中需要注意的问题潜在的问题有时候,我们无法避免某些变化带来的副作用,或者我们在别的地方暴露了Bug.
我们在这里记录我们已知的问题.
请您同时阅读勘误,相关软件包的文档,Bug报告以及在"更多读物"一节中提到的其它信息.
与udev相关的设备的问题虽然udevA00A经过了大量的测试,您仍可能在使用某些设备时遇到问题,这些需要修复.
最常见的情况是需要修改设备的访问许可和所有权.
有些情况下设备可能不会被默认创建(比如/dev/videoand/dev/radio).
udevA00A提供配置机制以处理这些问题.
请见udev(8)和/etc/udev以获得更多信息.
某些应用程序可能无法在2.
4内核下工作某些lenny中的程序可能无法在2.
4内核下工作,例如有些需要epoll()支持,而2.
4内核中没有.
这些程序可能根本无法工作或者工作不正常,除非系统重启并使用2.
6内核.
一个例子是HTTP代理squidA00A.
某些网站无法通过TCP进行连接从2.
6.
17开始,Linux大量使用RFC1323中描述的TCP窗口缩放.
某些服务器会有不正常的行为,并向他们自己宣布错误的窗口大小.
更多细节,请参考bug报告#381262[http://bugs.
debian.
org/381262],#395066[http://bugs.
debian.
org/395066],#401435[http://bugs.
debian.
org/401435].
通常有两个替代方法:或者将最大允许TCP窗口大小改回到一个较小的值(推荐)或者彻底关闭TCP窗口缩放(不推荐).
请参见debian-installererratapage[http://www.
debian.
org/devel/debian-installer/errata]中的示例命令.
无法自动关机在一些旧系统中,shutdown-h可能无法关闭机器(只是将其停止).
这是因为这里需要使用APM.
将acpi=offapm=power_off添加到内核命令行,比如添加在grubA00A或者liloA00A的配置文件中,应该可以修正这个问题.
请参见bug#390547[http://bugs.
debian.
org/390547]以获取更多信息.
异步网络初始化可能引起无法预测的情况在使用udevA00A为网络接口加载驱动的系统上,因为udevA00A的异步天性,使得系统启动时网络驱动可能无法在/etc/init.
d/networking执行前加载完成.
虽然在/etc/network/interfaces中加入allow-hotplug(与auto一起使用)能保证在网络接口可用才将其启用,这仍然无法保证在启动进程开始启动网络服务前完成,而这些网络服务可能因没有网络接口而无法正常运行.
使用WPA保护无线网络的问题A00A在etch中,wpasupplicantA00A软件包设置为系统服务,通过/etc/default/wpasupplicant和用户提供的/etc/wpasupplicant.
conf进行配置.
在lenny中,/etc/init.
d/wpasupplicant被抛弃,现在此Debian软件包已经和/etc/network/interfaces集成,类似其它软件包如wireless-toolsA00A.
这意味着wpasupplicantA00A不再直接提供系统服务.
更多有关配置wpasupplicant的信息请参考/usr/share/doc/wpasupplicant/README.
modes.
gz,里面有/etc/network/interfaces文件的例子.
Debian中有关使用wpasupplicantA00A软件包的更新信息可以在DebianWiki[http://wiki.
debian.
org/WPA]中找到.
文件名中使用非ASCII字符可能引起问题挂载vfat,ntfs或者iso9660文件系统时,如果其中有文件的名称包含非ASCII字符时,会在尝试使用这些文件名时失败,除非使用utf8选项来挂载.
迹象是可能会出现这样的失败:"无效或不完整的多字节字符或宽字符"".
可行的解决方法是使用defaults,utf8作为vfat,ntfs和iso9660文件系统的挂载参数,如果它们包含有非ASCII字符名称的文件.
请注意当使用utf8选项时Linux内核不支持处理vfat文件系统时忽略文件名的大小写.
声音停止工作在极端情况下,升级后可能无声.
如果发生了这种情况,请执行ALSA检查列表:以root身份执行alsaconf,将你的用户增加到组audio,确认各个选项已开启并没有静音(使用命令alsamixer),确认arts和esound没有启动,确认没有OSS模块被加载,确认扬声器已打开,以及检查如下的命令cat/dev/urandom>/dev/audioorthecommandspeaker-test能否以root用户运行.
NFS挂载现在由nfs-common来处理从util-linuxA00A2.
13开始NFS挂载不再由util-linuxA00A本身处理,而是由nfs-commonA00A来处理.
由于不是所有的系统都要挂载NFS共享分区而且为了避免安装标准端口映射util-linuxA00A仅仅建议安装nfs-commonA00A.
如果您需要挂载NFS共享分区,请确保在您的系统中安装nfs-commonA00A.
mountA00A软件包的预安装脚本会检查是否存在已挂载的NFS分区,并且如果nfs-commonA00A中的/usr/sbin/mount.
nfs不存在或者nfs-commonA00A过时就会中止.
此时,不是升级nfs-commonA00A就是在升级挂接之前卸下全部NFS挂接.
罗马尼亚(ro)键盘布局的改变由于在lenny中升级到xkb-dataA00A版本1.
3默认的罗马尼亚(ro)布局变体现在可以产生正确的字符(注意下面的逗号)而不是(注意下面的下加符).
还有一些变体已经改名.
旧的变体名字仍然可以工作,不过建议用户更新他们的/etc/X11/xorg.
conf.
因这个改变更多信息以及可能导致的副作用在wiki(仅罗马尼亚语)[http://wiki.
debian.
org/L10N/Romanian/Lenny/Notes].
升级apache2Apache2默认配置在一些方面有所改变,这需要手工改变您的配置.
最重要的改变有:NameVirtualHost*被改为NameVirtualHost*:80.
如果您加入了更多基于名称的虚拟主机,您需要依次将修改为.
ApacheUser和Group以及PidFile路径现在在/etc/apache2/envvars中进行配置.
如果您从这些设置的默认值进行了修改,您需要修改那个文件.
这也意味着您无法通过apache2-kstart启动apache2,您需要使用/etc/init.
d/apache2或者apache2ctl.
Mod_suexec所需要的suexec帮助程序现在通过单独的软件包apache2-suexecA00A来发行,此软件包不会默认安装.
更多模块相关的配置从/etc/apache2/apache2.
conf移到了/etc/apache2/mods-available/*.
conf.
要获取更多详细信息,请参见/usr/share/doc/apache2.
2-common/NEWS.
Debian.
gz和/usr/share/doc/apache2.
2-common/README.
Debian.
gz.
NIS和网络管理器A00AA00A在lenny中,nisA00A内的ypbind支持网络管理器.
当网络管理器报告电脑从网络断开时,它会导致ypbind禁用NIS客户端功能.
因为网络管理器通常会在不使用网络时发出此报告,NIS客户系统的NIS用户应确认禁用这些系统上的网络管理器支持.
要做到这一点可以通过卸载network-managerA00A软件包,或者编辑/etc/default/nis并添加-no-dbus到YPBINDARGS.
新安装的Debian会默认使用-no-dbus,而之前的发行版本不是默认的.
Mozilla产品的安全状态A00AMozilla程序firefoxA00A、thunderbirdA00A和sunbirdA00A(在Debian中分别更名为iceweaselA00A、icedoveA00A、iceowlA00A),对许多用户来说是重要的工具.
不幸的是上游的安全策略是主张用户更新到新版本,而这与Debian的"不在安全更新中发行大的功能改变"的策略相冲突.
我们今天无法预测,但在lenny的生命周期中Debian安全团队可能会遇到无法继续支持Mozilla产品,并宣布对Mozilla产品的安全支持的终止.
在部署Mozilla时,如果缺乏安全更新对您来说是一个问题,您需要考虑到这一点并可以考虑Debian中的替代品.
iceapeA00A,去商标化的seamonkeyA00A网络套件从lenny中被移除(除了一些内部库软件包).
SecuritystatusofOCSInventoryandSQL-LedgerA00AA00AThewebservicepackagesocsinventory-serverA00Aandsql-ledgerA00Aareincludedinthelennyreleasebuthavespecialsecurityrequirementsthatusersshouldbeawareofbeforedeployingthem.
ThesetwowebservicesaredesignedfordeploymentonlybehindanauthenticatedHTTPzoneandshouldneverbemadeavailabletountrustedusers;andthereforetheyreceiveonlylimitedsecuritysupportfromtheDebiansecurityteam.
Usersshouldthereforetakeparticularcarewhenevaluatingwhotograntaccesstotheseservices.
KDE桌面相比etch中发行的版本,KDE桌面环境没有太大的变化.
Lenny发行KDE3.
5的翻译和服务更新的版本是3.
5.
9和3.
5.
10的混合.
有些模块被标记为3.
5.
9,但已经被更新并包含3.
5.
10版本大部分相同的改变.
总的来说,Lenny发行了3.
5.
10,而并没有包含kdebase的重大改进和一些kdepim中的bug修正.
Lenny将会是最后一个包含KDE3系列环境的稳定发行.
GNOME桌面改变与支持lenny版本中的GNOME桌面环境相比etch中发行的版本有大量的变化,您可以在GNOME2.
22发行说明[http://library.
gnome.
org/misc/release-notes/2.
22/]找到更多信息.
Emacs21*默认不支持UnicodeA00AEmacs21andemacs21-noxarenotconguredtouseUnicodebydefault.
Formoreinformationandaworkaroundpleaseseebug#419490[http://bugs.
debian.
org/419490].
Considerswitchingtoemacs22A00A,emacs22-gtkA00A,oremacs22-noxA00A.
slurpd/replica已经被删除OpenLDAP从版本2.
4.
7开始,不再支持通过slurpd服务执行LDAP复制.
原先的配置需要修改为使用LDAP同步复制引擎(syncrepl).
更详细的文档位于http://www.
openldap.
org/doc/admin24/replication.
html.
桌面没有使用全部屏幕IntelMobileGM965的驱动会错误地把输出类型检测为VGA,并且设置一个较低的屏幕分辨率以适应输出.
这个bug的典型特征为桌面管理器仅使用屏幕的一部分.
添加如下的代码到配置文件/etc/X11/xorg.
conf能纠正驱动的行为.
Section"Monitor"Identifier"VGA"Option"Ignore""true"EndSectionPleaserefertothebug#496169[http://bugs.
debian.
org/496169]formoreinformations.
DHCP失败备选问题当运行DHCP服务器故障转移对时,节点名称要一致,否则DHCP会崩溃.
Pleaseseebug#513506[http://bugs.
debian.
org/513506]andhttps://lists.
isc.
org/pipermail/dhcp-users/2007-September/004538.
htmlformoreinformation.
VServerDiskLimitTousethedisklimitfeatureofvserverinlenny,youshouldusethemountoptiontag(insteadoftagxidinetch).
Youshouldmanuallyupdate/etc/fstaband/oranyscriptwhichusestagxid.
Otherwise,thepartitionwillnotbemountedandthusthevserverswillnotstart.
第6章关于DebianGNU/Linux的更多信息更多读物除了本发行说明和安装指南外,Debian文档项目(DDP)有更多关于DebianGNU/Linux的文档,该项目的目标是为Debian用户和开发者创建高质量的文档.
它包括Debian参考手册,Debian新维护人员指南和Debian常见问题等更多的文档.
请查阅DDP网站[http://www.
debian.
org/doc/ddp],以获得现有资源的全部详细资料.
各个软件包的文档被安装到/usr/share/doc/package.
它包括版权信息,特定于Debian的信息,以及上游的文档.
获得帮助Debian的用户可以从很多渠道获得帮助、建议和支持,但您只应该在查阅所有的文档后,却依然找不到问题的答案时,才考虑寻求帮助.
本节简单介绍了对Debian新用户可能会有帮助的渠道.
邮件列表邮件列表debian-user(英语)和其它debian-user-language(其它语言)中有Debian用户最感兴趣的内容.
想了解这些邮件列表的详细信息,以及如何订阅,请参阅http://lists.
debian.
org/.
发问前请先搜索答案,并注意遵守列表有关的礼仪和准则.

互联网在线聊天系统Debian在OFTCIRC网络上有专门对Debian用户提供帮助的IRC频道.
使用您喜欢的IRC客户端连接irc.
debian.
org,加入#debian频道即可.
请遵守频道的准则,尊敬其他用户.
可以在Debian维基[http://wiki.
debian.
org/DebianIRC]中找到该准则.
请访问网站[http://www.
oftc.
net/],以获得更多关于OFTC的信息.
报告Bug我们努力让DebianGNU/Linux成为一款高质量的操作系统,但这并不意味着我们提供的软件包完全没有任何Bug.
为了和Debian一贯的"开放的开发"原则,以及为我们的用户提供更好的服务相协调,我们在Bug追踪系统(BTS)提供全部已经报告的Bug的所有信息.
您可以通过http://bugs.
debian.
org/来访问BTS.
如果您在本发行版或者软件包中发现了Bug,请报告它,从而可以在将来的发行中被修复.
您需要一个有效的电子邮件地址才能报告Bug.
有这个限制是因为这样我们才能够追踪Bug,以及在开发人员需要更多信息时,能购与提交人联系.
您可以使用程序reportbug来提交一个Bug报告,或者亲自动手发送邮件.
可以通过阅读参考文档(如果您安装了doc-debianA00A包的话,在/usr/share/doc/debian可以找到)或者在线的Bug追踪系统[http://bugs.
debian.
org/],以获得更多关于Bug追踪系统的信息和用法.
为Debian做贡献并不是只有高手才能对Debian做出贡献.
当您在各种支持用户的邮件列表[http://lists.
debian.
org/]中帮助其他用户解决问题时,您就是在对整个社区做贡献.
参与开发的邮件列表[http://lists.
debian.
org/]以帮助开发者发现(以及解决)和系统发行相关的问题,对我们也是极大的帮助.
为了维持Debian系统一贯的高品质,请提交Bug[http://bugs.
debian.
org/],并协助开发人员跟踪和修复它们.
如果您有文字方面的天赋,您也可以通过创作文档[http://www.
debian.
org/doc/ddp],或者翻译[http://www.
debian.
org/international/]现有文档到您自己的语言,从而做出更直接的贡献.

并不是只有高手才能对Debian做出贡献.
当您在各种支持用户的邮件列表[http://lists.
debian.
org/]中帮助其他用户解决问题时,您就是在对整个社区做贡献.
参与开发的邮件列表[http://lists.
debian.
org/]以帮助开发者发现(以及解决)和系统发行相关的问题,对我们也是极大的帮助.
为了维持Debian系统一贯的高品质,请提交Bug[http://bugs.
debian.
org/],并协助开发人员跟踪和修复它们.
如果您有文字方面的天赋,您也可以通过创作文档[http://www.
debian.
org/doc/ddp],或者翻译[http://www.
debian.
org/international/]现有文档到您自己的语言,从而做出更直接的贡献.

如果您能投入更多的时间的话,您可以负责维护Debian发行版中的部分自由软件.
如果您能够新增或维护其他用户希望Debian所能包含的软件包的话就更好了,可以在急需人手和被期待的软件包库(WNPP)[http://www.
debian.
org/devel/wnpp/]中获得相关的信息.
如果您在某些特别的领域有兴趣,那么您可能会很乐意参加向某个特定硬件平台移植的子项目,以及DebianJr.
[http://www.
debian.
org/devel/debian-jr/]和DebianMed[http://www.
debian.
org/devel/debian-med/]等项目.
无论如何,只要您以任何方式参加了自由软件社区的活动,不管您是用户,程序员,作者,还是译者,您就已经为自由软件社区做出了贡献.
贡献是非常有益和有趣的,不仅让您能够结交更多的新伙伴,还能让您内心充满温暖的感觉.
附录A.
管理您的etch系统本附录包含在升级到lenny之前,弄清楚您怎样能够从etch安装或升级软件包的相关信息.
这应该只在特殊的情况下需要.
升级您的etch系统基本上这和您已经做过的从etch升级没有什么区别.
唯一的区别就是,您首先需要确定您的软件包列表仍旧引用像在"检查您的sourceslist"一节说明的etch中的软件包.
如果您从Debian镜像升级,将自动升级到最新的etch.
检查您的sourceslist如果在/etc/apt/sources.
list的任何行都引用'stable',您实际上已经在"使用"lenny.
如果您已经运行了apt-getupdate,您仍然可以按照下面的过程恢复而不会出现问题.
如果您已经从lenny安装了软件包,就没有太大的必要从etch安装软件包了.
在这种情况下,您必须决定是否继续或者终止.
可以降级软件包,但是这里不会提及.

百星数据(60元/月,600元/年)日本/韩国/香港cn2 gia云服务器,2核2G/40G/5M带宽

百星数据(baixidc),2012年开始运作至今,主要提供境外自营云服务器和独立服务器出租业务,根据网络线路的不同划分为:美国cera 9929、美国cn2 gia、香港cn2 gia、韩国cn2 gia、日本cn2 gia等云服务器及物理服务器业务。目前,百星数据 推出的日本、韩国、香港cn2 gia云服务器,2核2G/40G/5M带宽低至60元/月,600元/年。百星数据优惠码:优惠码:30...

HostKvm四月优惠:VPS主机全场八折,香港/美国洛杉矶机房$5.2/月起

HostKvm是一家成立于2013年的国外主机服务商,主要提供基于KVM架构的VPS主机,可选数据中心包括日本、新加坡、韩国、美国、中国香港等多个地区机房,均为国内直连或优化线路,延迟较低,适合建站或者远程办公等。本月商家针对全场VPS主机提供8折优惠码,优惠后美国洛杉矶VPS月付5.2美元起。下面列出几款不同机房VPS主机产品配置信息。套餐:美国US-Plan0CPU:1cores内存:1GB硬...

注册做什么96%可以干啥,常用的7个常用的国内国外域名注册服务商_云服务器可以干什么

日前,国内知名主机服务商阿里云与国外资深服务器面板Plesk强强联合,推出 阿里云域名注册与备案、服务器ECS购买与登录使用 前言云服务器(Elastic  只需要确定cpu内存与带宽基本上就可以了,对于新手用户来说,我们在购买阿里云服务申请服务器与域名许多云服务商的云服务器配置是弹性的 三周学会小程序第三讲:服务 不过这个国外服务器有点慢,可以考虑国内的ngrokcc。 ngrokcc...

apache启动失败为你推荐
linux虚拟主机linux下最好的虚拟机是什么呢 VMware 还是virtualbox美国主机空间求速度快稳定好的美国主机空间注册国际域名怎么申请国际域名网站空间购买国内网站空间购买哪里的比较实惠啊?免费网站空间申请哪里有免费申请空间的(网页制作)独立ip虚拟主机独立ip的虚拟主机和vps的区别和优势??虚拟主机评测浅谈建站新手如何挑选虚拟主机windows虚拟主机在windows上怎么安装虚拟机厦门虚拟主机新手用什么虚拟主机好?华众虚拟主机管理系统华众虚拟主机管理系统请问。华众 虚拟主机管理系统 这个问题 怎么解决 。就是后台可以开通虚拟主机 没有问题,但是 删除虚拟主机 后台显示删除成功的,但是实际在服务器上 文件夹 ftp iis站点 都没有被删除 是什么问题
域名注册godaddy 长沙域名注册公司 重庆服务器租用 国外空间服务商 免费网站监控 主机合租 中国电信测速112 天互数据 双线主机 hkt 中国电信宽带测速器 双线机房 跟踪路由命令 yundun 河南移动梦网 国外网页代理 阿里dns mteam 亿库 中美互联网论坛 更多