系统优化清理与故障修复

内容列表

系统优化
    优化启动速度
系统清理
    清理残余软件
    删除孤立软件
    删除没用的系统内核
    隐藏桌面图标  
故障修复

   修复用户密码
  
软件列表错误
   修复软件仓库错误
      sudo:set suid root?
   $home无法写入?
   /etc/sudoers Is mode 0662?
   修复启动菜单

   Live CD/DVD出现“out of rage”
   使用windows bootloader来启动BioInfoServ系统
   Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”?
   无法挂在移动磁盘设备?

系统优化

系统优化包含较多的内容,如启动速度优化、硬盘读取优化等,系统启动优化可以采用sysv-rc-conf来进行,也可以采用图形界面的boot-manager来进行:

采用sysv-rc-conf优化启动速度

sysv-rc-conf是一个终端下配置工具(如何安装,请见第11章 添加、删除、更新软件)如下图:

具体操作时,采用空格键来选取或者剔出,用左右间进行光标移动,h为帮助快捷键,采用q键退出配置界面。 至于系统中每个服务的具体内容是什么,您可以参考/etc/rc*.d中的启动脚本或系统服务。

[Warning]
注意:每个程序都有一定的运行等级,如S、、1、2、3、4、5等,它们的含义如下:

等级S:开机进程中的第一运行等级,它将调度/etc/init.d/rcS中的脚本,从而执行/etc/rcS.d目录下的所有进程。
等级 1:单用户模式,执行/etc/rc1.d目录下的所有进程。
等级 2,3,4,5:分别执行/etc/rc2.d、/etc/rc3.d、/etc/rc4.d和/etc/rc5.d中的所有进程。这种等级适合多用户环境。

/etc/rc*.d中的系统服务可参下列说明,自行进行关闭或开启:

acpi-support:高级电源管理支持。(若需管理电源,必不可少。对笔记本电脑很重要)
acpid:电源管理守护程序(若需管理电源,必不可少。对笔记本电脑很重要)
alsa:声卡驱动程序,包括了asla和其他声卡驱动。(如需系统发声,必不可少)
alsa-utils:声卡测试及设置等相关工具。(如需系统发声,必不可少)
anacron:用于系统计划任务安排或自动化作业配置工具。(如果需设置自动执行任务,必不可少)
apmd:电源管理工具。(若需管理电源,必不可少。对笔记本电脑很重要)
apparmor:类似selinux的应用程序访问控制系统,即控制程序对其他文件和设备的访问。
apport:应用程序崩溃报告读取处理工具。
atd:任务调度系统,在系统负载最低的时候执行批量任务。(如果需批处理任务,必不可少)
aumix:音量调节工具。
binfmt-support:核心支持其他二进制的文件格式(如一些.bin格式软件)。(建议开启 )
blutooth:蓝牙驱动。
bluez-utiles:蓝牙设备工具。
bootlogd:系统日志管理。(最好开启)
console-setup:终端字体和键盘设置。
cron:定时任务执行工具。
cups:打印机驱动及管理。
dbus: 前端总线和内存总线信息通讯系统,主要管理管道、内存、消息队列、信号量及socket等。(非常重要)
dns-clean:拨号上网时用于DNS的自动获取和清理。
evms:企业级存储设备系统管理工具——企业卷管理器(了解它)。
fetchmail:邮件接受守护程序。
gdm:gnome桌面登录及管理器。
gdomap:分布式程序管理守护程序。
gpm:终端程序运行时的鼠标支持服务。
hal:硬件抽象层接口,用于智能化管理新设备连接及其连接方式。(如果经常驳接新设备,建议开启)
halt:记录系统开机信息,执行快速关机的服务。与shutdown、poweroff、reboot、init等命令具有同等级别的功能。(不关闭)
hdparm:IDE硬盘参数优化工具,配置文件为 /etc/hdparm.conf。
hibernate:系统休眠功能。
hotkey-setup:笔记本电脑(HP、Acer、ASUS、Sony、Dell和IBM)功能键支持工具。
hotplug and hotplug-net:硬件热插拔支持。
hplip:HP打印机和图形子系统
ifrename:网络接口重命名工具脚本,适合多网卡。
inetd:网络守护程序,管理入网连接。配置文件在/etc/inetd.conf 中。
killprocs:杀死进程的服务。
klogd:内核消息和系统消息优先级划分与处理。(非常重要)
linux-restricted-modules-common:系统受限模块支持。
lvm:逻辑卷管理器。与企业卷管理器有较大区别。
makedev:创建设备文件到/dev/,用户程序和硬件交互。(非常重要)
mdamd:管理、监视磁盘阵列服务。
module-init-tools:从/etc/modules加载扩展模块,建议开启。
networking:网络接口和DNS扫描管理,依照/etc/network/interfaces 文件预设激活网络。(非常重要 )
network-manager:网络管理工具。
ntpdate:时间同步服务。
pcmcia:pcmcia卡(个人电脑存储卡)设备支持服务,主要存在于笔记本电脑上的。
Portmap:RPC端口映射器——将RPC(远程过程调用,包含NIF和NIS服务)程序号转化为DARPA协议端口的服务。
powernowd:CPU频率动态调节(用于节能支持)。
ppp and ppp-dns:ADSL拨号连接工具。
rc.local:系统开机启动程序配置。
readahead:程序和库文件预加载服务(用于加快程序的启动)。
reboot:系统重启服务。(非常重要)
resolvconf:自动配置DNS的服务。
rmnologin:nologin是用户阻止非根用户登录系统,而rmnologin则允许用户登录。通常是在某个程序启动后执行的动作,删除nologin,即可登录系统。(非常重要)
rsync:客户端和服务端同步守护程序。
sendsigs:在重启和关机期间发送信号。(非常重要)
single:激活单用户模式
ssh:远程安全登录服务守护程序。
stop-bootlogd:在2,3,4,5运行级别中停止bootlogd服务
sudo:检查sudo状态。
sysklogd:系统日志。
udev & udev-mab:用户空间dev文件系统。(非常重要)
umountfs:卸载文件系统
urandom:随机数生成器
usplash:开机画面支持服务。
vbesave:显卡BIOS配置工具。保存显卡的状态
xorg-common:设置X服务ICE socket。
adjtimex:调整核心时钟的工具
dirmngr:证书列表管理工具,和gnupg一起工作。
hwtools:一套低级硬件管理优化工具。
libpam-devperm:系统崩溃之后,用于修复设备文件的守护程序。
lm-sensors:板载传感器支持
mdadm-raid:磁盘阵列管理器
screen-cleanup:清除开机屏幕的脚本
xinetd:用以替代inted的超级网络守护程序。

系统清理

1. 残余软件清理

系统在安装后,有些文件会残留在系统里,这时就需要清理这些无用的东西。
打开sysnaptic,点击右下角的“状态”栏,删除其中 Residual Config package(未安装的残存配置)文件,如下图:

清理/var/cache/apt中已经安装但保留在硬盘上的临时软件包:
sudo apt-get autoclean

sudo apt-get clean

使用localepurge删除不用的多语言支持:
首先安装localepurge, sudo apt-get install localepurge, 会弹出语言选择面板, 选择您所需要的语言。

2. 删除孤立的库文件

采用deborphan进行孤立库文件的删除,首先查询孤立的sudo deborphan,随后删除残余库文件:
sudo deborphan | xargs sudo apt-get -y remove purge

此外,您还可以利用gtkorpha这个图形端软件来进行清理工作:

3.清除旧有的内核

首先采用命令dpkg –get-selections|grep linux查看系统中具有那些旧有的内核:
libselinux1 install
linux-386 install
linux-image-2.6.15-23-386 install
linux-image-2.6.15-27-386 install
linux-image-2.6.15-27-686 install
linux-image-2.6.15-28-386 install
linux-image-2.6.15-28-686 deinstall
linux-image-386 install
linux-kernel-headers install
linux-restricted-modules-2.6.15-23-386 install
linux-restricted-modules-2.6.15-27-386 install
linux-restricted-modules-2.6.15-27-686 install
linux-restricted-modules-2.6.15-28-386 install
linux-restricted-modules-2.6.15-28-686 deinstall
linux-restricted-modules-386 install
linux-restricted-modules-common install
linux-sound-base install
util-linux install

例如上面具有linux-image-2.6.15-23-386旧内核,卸载命令为:
sudo apt-get remove linux-image-2.6.15-23-386
可以实现自动删除内核文件了,还可以释放磁盘空间。

删除完毕,您可以查看当前系统正在使用的内核:
uname -a
使用这个命令可以查看当前系统使用的内核。

4.隐藏桌面图标

修改或新建~/.config/xfce4/desktop/xfdesktoprc
找到或添加
[file-icons]
show-filesystem=true
show-home=true
show-trash=true
show-removable=true
改true为false可以隐藏相应图标

系统故障修复

1)恢复Grub菜单

下面这个方法适合旧版的BioInfoServ:

由于某些原因导致系统多重启动菜单不能正常引导系统,这时您可以采用以下办法进行
*. 首先用 BioInfoServOS Live DVD启动系统;
*. 打开终端窗口,执行 sudo grub 进入 Grub 命令行;
*. 确定 /boot 的位置,执行 find /boot/grub/stage1后,会出现类似 (hd0,N)字样的结果,后面的命令里使用您机器上得到的结果, 这儿假定是 (hd0,2)(这一步是为了确定您的 /boot 的位置,如果您知道在哪儿, 那么跳过这步);
*. 执行命令: root (hd0,2)
(注意要换成您机器上的实际位置,如果觉得无法确定,那么采用您还可采用后面的方法来探测。
*. 执行命令 setup (hd0);
*. 执行命令:quit
退出,完成了.
如何探测您系统的启动位置?
正常情况下grub会修改/boot/grub/menu.lst,添加相应的系统启动项,如添加一个 Windows 的 Grub 项,语句为
title Windows
root (hd0,0)
chainloader +2
boot
如果这个启动项设置错误,启动的时候会会自动弹回到初始的菜单选择状态,要修正这额错误,我们可以采用以下的方式进行探测修改。
采 用上下键,选中windows菜单,然后按e,进入编辑状态,此时,您可以修改root(hd0, 0), 换一个数字,然后回车到启动菜单,再选中windows,按b,启动windows,如果能启动,说明修改正确,如果不行,那么按照上面的方式再修改 (hd0, 0)中数字,如修改为(hd0, 1),, 直到启动正常BioInfoServOS系统为止。只要能启动到BioinfoServOS系统下,我们就在BioInfoServOS系统下,将 menu.lst修改保存。

  1. 用 BioInfoServOS Live CD 启动

  2. 打 开终端窗口,执行 sudo grub 进入 Grub 命令行

  3. 确 定 /boot 的位置,执行

    find /boot/grub/stage1

    会 出现类似 (hd0,N)字样的结果,后面的命令里使用您机器上得到的结果, 这儿假定是 (hd0,2)
    (这一步是为了确定您的 /boot 的位置,如果您知道在哪儿, 那么跳过这步)

  4. root (hd0,2)

    (注 意要换成您机器上的实际位置,如果觉得无法确定, 那么采用"添加Grub菜单项" 所提及的方法.

  5. setup (hd0)
  6. quit

    退 出,完成了

  7. 如何探测您系统的启动位置?
    正常情况下grub会修改/boot/grub/menu.lst,添加相应的系统启动项,如添加一个 Windows 的 Grub 项,语句为
    title Windows
    root (hd0,0)
    chainloader +2
    boot
    如果这个启动项设置错误,启动的时候会会自动弹回到初始的菜单选择状态,要修正这额错误,我们可以采用以下的方式进行探测修改。
    采 用上下键,选中windows菜单,然后按e,进入编辑状态,此时,您可以修改root(hd0, 0), 换一个数字,然后回车到启动菜单,再选中windows,按b,启动windows,如果能启动,说明修改正确,如果不行,那么按照上面的方式再修改 (hd0, 0)中数字,如修改为(hd0, 1),, 直到启动正常BioInfoServOS系统为止。只要能启动到BioinfoServOS系统下,我们就在BioInfoServOS系统下,将 menu.lst修改保存。

    新版BioInfoServ 4.0系统,其grub程序有了较大改变,上面的方法也需相应调整:

    由于BioInfoServ4.0和Ubuntu 10.04系统在grub版本进行了全新更新,因此,方法1不再合适。因此,需要如下进行:

    *. 首先用 BioInfoServOS 4 Live CD启动系统;

    *. 打开终端窗口,执行sudo fdisk -l,查看硬盘分区情况,示例如下:

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *           1        2244    18024898+   7  HPFS/NTFS
    /dev/sda2            2245        2372     1028160   82  Linux swap / Solaris
    /dev/sda3            2373        4410    16370235   83  Linux
    /dev/sda4            4411       19457   120864997    5  Extended
    /dev/sda5            4411        4794     3084448+  83  Linux
    /dev/sda6            4795        9588    38507773+   7  HPFS/NTFS
    /dev/sda7            9589       14381    38499741    7  HPFS/NTFS
    /dev/sda8           14382       19457    40772938+   7  HPFS/NTFS

    在上述分区中,BioInfoServ 4主要安装在sda3分区中,故先将BioInfoServ 4安装分区挂在到/mnt目录中:

    *.挂在BioInfoServ 4安装分区,执行命令:sudo mount /dev/sda3 /mnt

    *. 安装grub,执行:sudo grub-install --root-directory=/mnt /dev/sda

    此时,信息反馈如下:

    Installing GRUB to /dev/sda as (hd0)...
    Installation finished. No error reported.

    看到无安装错误提示( Installation finished.No Error Reported),说明安装成功,可退出重启系统。

    http://packages.ubuntu.com/dapper/ms-sys

    sudo fdisk -l

    sudo ms-sys -m /dev/sda

2)Live CD/DVD光盘启动出现”out of range”错误

如果Live CD/DVD在运行启动过程中出现“out of range”的提示,出现这个问题可如下解决:

A. 当出现”out of range”的时候,可以使用ctrl+alt+F1切换到终端界面;

B. 采用命令sudo nano /etc/X11/Xorg.conf编辑该文档,找到如下文字:

Monitor “Generic Monitor”
DefaultDepth 24
….
SubSection “Display”
Depth 24
Modes “1024×768″
EndSubSection
EndSection

修改Modes “1024×768″为您显示器所对应的分辨率。然后crtl+x,按y,保存退出。

C. 采用命令sudo ps -A all列出所有进程,记下tty1-tty7的进程号;

D. 采用命令sudo kill 进程号,结束所有tty1-tty7。

如果您幸运的话,执行这个命令后,光盘系统会自动重新加载显示驱动,并正常加载图形登录界面,否 则,您需要反复多次执行sudo ps -A all, sudo kill 进程号 才能导致桌面正常加载到图形界面。

3)出现sudo: set suid root的修复方法

有时候由于升级或者其他莫名的原因,会出现 sudo:set suid root。这时,你会发现不能执行sudo。实质上出现这个的原因时sudo被错误修改了执行权限,而不能被执行。
修复的方法如下:
重新启动系统到安全模式,执行如下命令:
chown root:root /usr/bin/sudo
chmod 4111 -R /usr/bin/sudo
然后在启动到正常模式下,您发现一切恢复正常。

4)出现出现提示$home/.dmrc无法写入,权限应为644之类的情况的修复办法

如果采用ls -al ~/.dmrc发现该文件不属于您当前使用的用户名,或者权限不为644(即-rw-r–r–)。当然如果是您 当前用户名的目 录,应该为drwxr-xr-x (755),权限和群组设置上已经出现了问题,您需要按照以下操作进行修改:
sudo chown -R biowee:biowee /home/biowee
sudo chmod 644 /home/biowee/.dmrc
sudo chown biowee:biowee /home/biowee/.dmrc
注意:此处的biowee实际应对应您home用户目录。

5)修复/etc/sudoers Is mode 0662, should be 0440问题

先将系统启动到安全模式下,然后采用以下命令来进行:
chown root:root /etc/sudoers
chmod 0440 -R /etc/sudoers

6)如何利用windows系统的boot loader来引导BioInfoServ系统?

先启动进入live cd光盘桌面(有些发行版本直接在系统下就可创建,并不需要live cd),然后采用如下命令得到一个linux引导文件:
如果你是IDE硬盘,则
dd if=/dev/hda of=/media/linux.bin
如果是sata
dd if=/dev/sda of=/media/linux.bin
随后,将linux.bin 复制到Win引导分区(假定在sda1分区上)
sudo cp linux.bin /media/sda1
然后回到windowsxp,修改boot.ini,添加
C:\linux.bin=”BioInfoServ OS” 保存后重新启动,可以看见,BioInfoServ OS由windows xp的启动菜单启动了。


7)正在读取软件列表..错误?

你可能会发现在apt-get update结束时发现以下错误信息:
正在读取软件包列表… 有错误!
E: Problem parsing dependency Depends
E: 处理 bmp-wma (NewVersion1)时出错
E: Problem with MergeList
/var/lib/apt/lists/ubuntu.cn99.com_ubuntu-cn_dists_edgy_main_binary-i386_Packages
E: 无法解析或打开软件包的列表或是状态文件。
出 现这个问题,实际上是软件仓库发生了问题,除非buntu-cn本身应进行修正,否则无法处理(不过目前看来这个仓库是正常的)。如果您出现这样类似的错 误,您可以在/etc/apt/sources.list中将ubuntu-cn字段资源用#字符注销,然后回到 /var/cache/apt/lists中删除ubuntu-cn的列表,然后再进行apt-get update,这时您会发现已经没错误提示了,而且采用synaptic也可以正常进行软件的安装与卸载管理了。

8)忘记用户密码,怎么办?

可能您有时会出现忘记系统登录密码的问题。要解决,请参照以下方法:
1. 重启系统,至grub菜单时,选择recovery模式的启动选单;
2. 按字母e, 进入菜单编辑状态,并移动到kernel 行;
3. 加入参数init=/bin/sh或者加入single,回车
4. 此时再按b,进行启动,可见系统启动进入到root模式下
5. 执行mount -o rw,remount / 重新挂载分区
6. cd /home 可以看见用户文件夹名称,这个名称就是您的用户名(假定您的用户文件夹为test, 那么用户名就为test
7. 重新设置test的密码:passwd test
8. 回车输入新的密码,如果忘记了root密码, 那么也是可以通过这个方式修改的密码的:pass root
9. 现在重新启动系统:reboot
大功告成!

9)软件仓库出现严重错误?

您可能遇到在安装某个软件后,软件仓库受到严重损害,即不能安装软件,又不能卸载软件,不能查看以前说 安装的软件包详细列表。这个如何恢复?

方法如下:

首先采用sudo apt-get -f install来修正,一般情况下可以恢复正常。如果还不行,那么就卸载这个造成影响的软件,采用命令:
sudo dpkg –remove –force-remove-reinstreq [软件包名]
也可以采用sudo dpkg –purge [软件包名]进行卸载

不过,有时候您可以会遇到以下这样的情况:

dpkg:处理 bioinfoserv-j2re-j2sdk-sunjava6 (–remove)时出错:
子进程·pre-removal script·返回了错误号·1

此时,你可能发现,上面的办法都无法操作。这时,您可以采用以下的办法进行:

首先,采用命令:dpkg -L bioinfoserv-j2re-j2sdk-sunjava6的安装结果,您可以看见这个软件究竟安装到那些目录下了;

然后,采用sudo rm -fr删除这些相应的文件和目录

最后,修改/var/lib/dpkg/status, 找到bioinfoserv-j2re-j2sdk-sunjava6一段,尽数将其删除,然后保存。

此时,您再采用 sudo dpkg –remove –force-remove-reinstreq bioinfoserv-j2re-j2sdk-sunjava,此时会发现:“dpkg - 警告:忽略了删除 bioinfoserv-j2re-j2sdk-sunjava6 的要求,系统没有安装该软件包。”

这样,就可以继续正常进行其他软件的安装了。

10)Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”?

有时候,由于软件安装过程中的冲突,你可能发现在打开某些程序,会出现“Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”?”的错误提示,随后程序不能被打开运行。而且鼠标在菜单上的滚动状态将不再可见,一切都失去了生气。

如何解决呢?其实导致这个原因是gtk引擎出现了故障,多数情况下是其他软件包与之冲突后被卸载。因此,解决的办法很简单,安装gtk引擎(gtk2-engines-pixbuf)(本系统中由gtk2-engines-pixbuf_2.16.1-0bioinfoserv3_i386.deb提供,它升级并解决了与libgtk2.0-0_2.12.9-0ubuntu2_i386.deb的冲突情况)即可。

因此,请打开“新立地软件包管理器”搜索gtk2-engines-pixbuf,找到后请确认安装2.16.1-0bioinfoserv3版本。完成该引擎安装后,请您注销系统,然后重新登陆系统,一切都会恢复正常。

11)无法自动挂载移动磁盘设备

移动磁盘设备无法自动加载,会带来很多不便。那么具体如何解决呢?

移动磁盘设备无法自动加载,其实是因为硬件抽象层hal服务出现了问题,即hal服务没有随机启动,也可能是普通用户没有hal使用权限。为此,可 采用下列方法来修复:

1)安装sysv-rc-conf,并利用它启动DBUS服务(总线消息服务)。

2) 打开“用户和组“管理程序,或者直接在终端下键入命令:sudo users-admin,如下图:

users-admin.png

随即,点击“管理组“,打开组管理界面,如下:

group.png

找到haldaemon,然后,点击“属性“,如下:

hal.png

在组成员中,将您的用户名打上勾,然后确定退出。

如果此设定还不能将自动挂载功能打开,那么,可以在“用户和组“管理程序中,在fuse和disk的组成员中,将您的用户名勾选上。