在debian lenny下,fat32分区不能使用utf8,或者iocharset=utf8,否则启动的时候,mount命令会报错,说utf8不是一个recommand的option。
修改为:
/dev/sda8 /media/DISK1_VOL5 vfat user,umask=000,iocharset=cp936 0 0
也就是gb2312或者gbk。在启动Gnome后,无法使用Nautilus在fat32分区内建立新文件夹,会出现一些错误提示。但是在命令行下,通过mkdir命令可以正常建立英文名文件夹。
再次修改:
/dev/sda8 /media/DISK1_VOL5 vfat user,umask=000,iocharset=cp437 0 0
一切正常
阅读全文...
Label Cloud
Showing posts with label 常见问题. Show all posts
Showing posts with label 常见问题. Show all posts
Wednesday, March 18, 2009
Saturday, March 14, 2009
Amule的HighID
由于在安装了amule后,连续收到若干警告:您收到了lowID。心中甚为不爽,遂下决心消除警告,然去网上搜了若许年,屁大的效果也没有,凡是写这方面设置的文章通通是几笔带过,越是关键部位越是简练。奶奶的,老子实在搜的不耐烦了。
直接去官方:wiki.amule.org. 对着大片的英文,找到自己要的:Get HighID! 看了半天,终于明白该怎么整了,在我的alpha路由器上设置成功。
如果懂英文,最好去上面的官方去看。不懂的,我在这里说一下,供后来者用之,免得像我当年一样。
首先,由于我是和同宿舍一同学共用一个宽带线的,所以我实际的处在路由器的后面。
第一,要求必是以静态IP上网,就是不使用路由器的自动分配功能:
(1)设置路由器
1、打开firefox,在地址栏中输入192.168.18.1(根据路由器的品牌不同,这个地址是有区别的,在路由器的说明书有),登录路由器。
2、找到DHCP服务器设置-->DHCP客户端列表,将动态分配里属于你的那个分配项删除,再到静态分配里添加同样的项目。主机名可填可不填,IP地址 一般设置为192.168.18.X(X为2到256的任意整数,当然上限256是由你路由器的性能决定的,而1是路由器的网关,另外注意你所设置的X值 不要同与你共用IP的其它PC的重合了。MAC地址在LAN/WAN口设置-->LAN口设置里找到复制过来填上。“添加”完毕OK~!
(2)设置你自己的PC
1、ubuntu下左键点击右上方两个电脑的图形,选择"Manual configurations"进入网络设置
2、查看“有线连接”的属性,去掉启用漫游模式,连接设置的配置使用静态IP地址,IP地址就是前面你在路由器里为自己分配的那个静态IP地址, 子网掩码是 255.255.255.0,网关地址是192.168.18.1(还是说,这个根据不同的路由器值是不同的,说明书上找。)然后“确定”~(3)重启路 由器!有必要的话,也重启一下你的PC。
第二,开始开启你需要的几个端口:
(1)设置 amule
1、启动amule,进入设置-->连接
2、将Standard client TCP Port设置为4662,将Extended client UDP设为4665,而UDP port for extended server requests (TCP+3):4665默认已经为4665,OK!点击“确定”!
(2)设置路由器
1、在firefox里输入:192.168.18.1,进入NAT设置。
2、几个空依次是:启用 , 常用端口,4662,将你的IP地址填完整,TCP,点击“添加”!
4662改为4665再添加一次,
最后将4662改为4665,交将TCP改为UDP,再添加一下!
至此OK!
第三,该重启的都重启,打开amule下载吧。
阅读全文...
直接去官方:wiki.amule.org. 对着大片的英文,找到自己要的:Get HighID! 看了半天,终于明白该怎么整了,在我的alpha路由器上设置成功。
如果懂英文,最好去上面的官方去看。不懂的,我在这里说一下,供后来者用之,免得像我当年一样。
首先,由于我是和同宿舍一同学共用一个宽带线的,所以我实际的处在路由器的后面。
第一,要求必是以静态IP上网,就是不使用路由器的自动分配功能:
(1)设置路由器
1、打开firefox,在地址栏中输入192.168.18.1(根据路由器的品牌不同,这个地址是有区别的,在路由器的说明书有),登录路由器。
2、找到DHCP服务器设置-->DHCP客户端列表,将动态分配里属于你的那个分配项删除,再到静态分配里添加同样的项目。主机名可填可不填,IP地址 一般设置为192.168.18.X(X为2到256的任意整数,当然上限256是由你路由器的性能决定的,而1是路由器的网关,另外注意你所设置的X值 不要同与你共用IP的其它PC的重合了。MAC地址在LAN/WAN口设置-->LAN口设置里找到复制过来填上。“添加”完毕OK~!
(2)设置你自己的PC
1、ubuntu下左键点击右上方两个电脑的图形,选择"Manual configurations"进入网络设置
2、查看“有线连接”的属性,去掉启用漫游模式,连接设置的配置使用静态IP地址,IP地址就是前面你在路由器里为自己分配的那个静态IP地址, 子网掩码是 255.255.255.0,网关地址是192.168.18.1(还是说,这个根据不同的路由器值是不同的,说明书上找。)然后“确定”~(3)重启路 由器!有必要的话,也重启一下你的PC。
第二,开始开启你需要的几个端口:
(1)设置 amule
1、启动amule,进入设置-->连接
2、将Standard client TCP Port设置为4662,将Extended client UDP设为4665,而UDP port for extended server requests (TCP+3):4665默认已经为4665,OK!点击“确定”!
(2)设置路由器
1、在firefox里输入:192.168.18.1,进入NAT设置。
2、几个空依次是:启用 , 常用端口,4662,将你的IP地址填完整,TCP,点击“添加”!
4662改为4665再添加一次,
最后将4662改为4665,交将TCP改为UDP,再添加一下!
至此OK!
第三,该重启的都重启,打开amule下载吧。
阅读全文...
Labels:
常见问题
Friday, March 13, 2009
ayttm的gtalk设置
Debian Lenny的Pidgin无法登录icq了(由于ICQ官方升级协议造成的),这对国人用户基本没有什么影响,除非是骨灰级的IM玩家。但是,这里仍然给出一个不是解决方案的方案。
由于Pidgin官方给出的patch,需要重新编译Pidgin,所以我们采取一种更简单的方式,找一个Pidgin的代替品。这个代替品就是Ayttm。Ayttm是GTk1的一个多协议IM小工具,完全支持AOL AIM、ICQ、MSN、jabber、Yahoo、IRC等几种主流协议。当然,有主流协议就搞定,在国内非主流协议是没什么人用的。
不过,Ayttm的jabber协议在登录Gtalk的时候有点小问题,需要经过一两次调试。具体步骤如下:
(1)Edit-Preferences-Service-Jabber
Default Server:talk.google.com
(2)保存退出
(3)Edit-Preferences-Account-Jabber
username:yourgmailname@gmail.com
password:Gmail的密码
Connect Server:talk.google.com
Connect At Startup:选中
Use SSL:选中
Port:5222
SSL Port:5223
*一定要先修改Service,否则在修改Account的时候,Server修改不会成功,每次连接都会跳转到默认Server,也就是jabber.org,这个Server是无法正常登录Gtalk的!!!
阅读全文...
由于Pidgin官方给出的patch,需要重新编译Pidgin,所以我们采取一种更简单的方式,找一个Pidgin的代替品。这个代替品就是Ayttm。Ayttm是GTk1的一个多协议IM小工具,完全支持AOL AIM、ICQ、MSN、jabber、Yahoo、IRC等几种主流协议。当然,有主流协议就搞定,在国内非主流协议是没什么人用的。
不过,Ayttm的jabber协议在登录Gtalk的时候有点小问题,需要经过一两次调试。具体步骤如下:
(1)Edit-Preferences-Service-Jabber
Default Server:talk.google.com
(2)保存退出
(3)Edit-Preferences-Account-Jabber
username:yourgmailname@gmail.com
password:Gmail的密码
Connect Server:talk.google.com
Connect At Startup:选中
Use SSL:选中
Port:5222
SSL Port:5223
*一定要先修改Service,否则在修改Account的时候,Server修改不会成功,每次连接都会跳转到默认Server,也就是jabber.org,这个Server是无法正常登录Gtalk的!!!
阅读全文...
Labels:
常见问题
Friday, March 6, 2009
解决Debian菜单无法出现的问题
1、一定要安装“menu”、“menu-xdg”这两个软件包
2、可以运行命令update-menus更新一下
从前的Debian,做了这两步就OK了。但是现在新的Gnome下(某时开始),Debian菜单可能还是不能显示出来,因为该死的Gnome-menu软件包缺省设置为不显示Debian菜单,导致不少非Gnome官方程序在菜单中找不到,使用不便。
解决它:
$ sudo vi /usr/share/desktop-directories/Debian.directory
看看最后一行:
NoDisplay=true
天啊,缺省设置为什么是这样的呢?
把它删除或者注释掉!保存。Debian菜单立即出现在Gnome的菜单中!
阅读全文...
2、可以运行命令update-menus更新一下
从前的Debian,做了这两步就OK了。但是现在新的Gnome下(某时开始),Debian菜单可能还是不能显示出来,因为该死的Gnome-menu软件包缺省设置为不显示Debian菜单,导致不少非Gnome官方程序在菜单中找不到,使用不便。
解决它:
$ sudo vi /usr/share/desktop-directories/Debian.directory
看看最后一行:
NoDisplay=true
天啊,缺省设置为什么是这样的呢?
把它删除或者注释掉!保存。Debian菜单立即出现在Gnome的菜单中!
阅读全文...
Labels:
常见问题
Sunday, March 1, 2009
Ubuntu中的Load/Unload Cycle Count问题及解决方案
本文转自LinuxTOY
说明:请大家注意,本文所描述的问题只有笔记本电脑才会出现。
1. 问题描述
几周前收到soldiers童鞋的短信说,Ubuntu伤硬盘?我说没事,好多人都用呢。过了一周,soldiers童鞋又问,Ubuntu伤硬盘?我说我查查看….
安装smart参数查看工具,由此可以查看硬盘的smart信息
$ sudo apt-get install smartmontools
查看/dev/sda这块硬盘的smart参数, 你可能需要把/dev/sda这部分修改成你的硬盘设备地址
grep 193是只查看 Load Cycle Count这项
$ sudo smartctl -a /dev/sda grep 193
193 Load_Cycle_Count 0x0012 090 090 000 Old_age Always - 109989
这样就可以看到Load/Unload Cycle Count数目了。用Windows的童鞋可以借助Everest工具,查看存储器->SMART信息,也可以找到相应项的数据。
不看不知道,一看吓一跳,我的是华丽的11W!!! T.T 据说到了60W,就离挂掉不远了。我才用了4个月,算下来照这个速度用下去的话,只能用4*60/10/12=2年…. 同寝的Acrest童鞋的也过了10W大关哈哈哈。
$ while true; do sudo smartctl -a /dev/sda grep 193; sleep 300; done;
这样可以每隔5分钟查询一下LCC,一般来说每小时增长在15上下应该是正常的。这样的话即便你每天24小时开着本子,硬盘也可以坚持4年(当然是从理论上来讲)。
1.1 这个Load/Unload Cycle Count到底是什么?
Load/Unload Cycle Count(以下简称为LCC)就是Load/Unload的次数,那么什么叫做Load/Unload呢,下面是一段非常罗嗦的解释,建议不感兴趣的同学出门右转,直接看下一节吧。
大家都知道,硬盘的数据传输是通过磁头读写磁盘上的数据来完成的。在工作过程中,磁头并不与磁盘的盘面直接接触,两者之间有一层很薄的空气薄膜,这层空气薄膜是由于磁盘的高速旋转产生的。如果磁盘停止旋转,空气薄膜消失,磁头则会直接接触到盘片,更详细一点说,会接触到盘片的landing zone,或者叫做start/stop zone,这无疑对盘片的寿命以及对存储在这块区域的数据造成不好的影响。因此在早期阶段,硬盘制造商一般会在对盘片的表面或landing zone部分做特殊的处理,并尽量避免在landing zone存储数据。
但是随着人们对于硬盘传输速度和硬盘容量需求的不断增加,制造商需要不断提高硬盘的面密度,同时要求盘片表面尽可能地平滑,这无疑与之前采用的技术产生了冲突,再加上其他的一些因素,硬盘制造商迫切地需要一种新的方式来替代之前采用的磁头直接接触盘面的行为。这时IBM的工程师们提出了一种叫做Load/Unload的技术。简单来说,Load/Unload技术有点像老式的点唱机,当盘片转速降低无法再产生空气薄膜的时候,就将磁臂以及磁头旋转一下,停靠到磁盘旁边的一个小斜坡上。这样就完全避免了磁头与盘片的直接接触。
总体来说,Load/Unload技术是有利的,比如可以提高硬盘的可靠性:硬盘遭到撞击的时候磁头不会划伤盘面;可以提高硬盘的面密度:不再需要对盘片表面做特殊的处理,可以提供平滑的盘面;以及可以有效地降低功耗:低功耗的程序可以通过多次请求Load/Unload来减少盘片的旋转时间,或者设置旋转超时时间(spin down timeout)来让磁头定期的做Load/Unload等等。
1.2 这个参数值高了有啥危害?
虽然Load/Unload技术有很多优点,但毫无疑问频繁的Load/Unload操作会造成磁头的磨损,严重的话会造成数据读写失效,也就说,硬盘挂了。
那么到底Load/Unload多少次会挂呢?最流行的说法是到60W次,西部数据的一份产品规格说明书上也明确标示出了这一数字。
但也有人指出SMART参数根本就是扯淡,好多坏掉的硬盘SMART值很低好的硬盘SMART值超标,因此根本不能成为评判标准以至于现在好多新机器都直接屏掉。但无论如何,频繁地卸载/挂载总不是什么好事。尤其是当你已经了解到Load/Unload次数过多有可能造成硬盘挂掉的时候,我想无论再有人辟谣,你也不会高枕无忧了。毕竟相对于硬盘本身来说,上面的数据可是要重要的多。
1.3 LCC为啥会那么高?
简单来说,可能有下面几个原因:
1) 硬盘厂商在固件中制定的节能策略过于苛刻,以至于为了节能,硬盘频繁地Load/Unload2) 操作系统的电源策略过于苛刻。
1.4 其他的发行版有没有这个问题?Windows呢,MAC OS呢?
各大linux发行版好像就Ubuntu被报告有这个问题,但这实际上并不是Ubuntu的电源策略太变态,恰恰相反,默认情况下Ubuntu会直接沿用硬件固件里面的设定。其他的发行版中SUSE也有类似的电源管理的BUG,除此之外的发行版似乎默认会忽略硬盘的这个节能功能,所以不会有类似的问题。
至于Windows,也会出现类似的现象,比如说我宿舍的Acrest童鞋,但我的没有。MAC OS也有报告出现类似的问题。
总体来说这个并不是个别现象,也并不应该算是操作系统的问题。感觉由于Windows下硬盘几乎会一直不停地运作,所以硬件厂商不太重视硬盘固件中的初始设定,比如说我的日立硬盘,电源管理级别被设置为128,结果由于Linux并不像Windows那样频繁读盘,磁头为了节能会频繁地做 Load/Unload操作。
2. 如何修复这个问题?
2.1 硬件修改法 (***推荐使用***)
正如上面所说,如果你的硬盘在Ubuntu下有这个问题,那么有可能是硬件本身的节能策略太激进了。最简单也是最根本的方法,就是用厂商提供的固件修改工具对出厂的默认设置进行修改,比如说日立的Feature Tools。
在Feature Tools中,有一项”Change Advanced Power Mode”,默认是128,可以选择从1到254不同的数值。
简单来说,数字越小越节能,数字越大性能越好。Feature Tools中将1-254分成三段并分别做了简单的说明,一般来说,设置到192-254则表示不允许Load/Unload操作,而255则表示禁用APM()。这个数字也就是后文提到的APM级别。
2.2 软件修改法
修改硬盘固件是最根本的解决方案,除此之外,关于在Ubuntu中修改相关策略,网上有很多种不同的解法,有兴趣的童鞋可以看关于这个Bug的讨论, Ubuntu Wiki上关于这个Bug的介绍,起因分析以及解决方案的总结等。基本上流传的方法有这么两种:
2.2.1 启用laptop-mode,通过修改laptop-mode.conf中的相关设置达到控制Load/Unload的目的
2.2.2 直接在/etc/acpi/start.d, resume.d等目录下放置脚本,通过hdparm命令修改APM级别和spin down time.
具体内容见文后附注。归根结底,这两种方法都是利用hdparm工具,通过-B参数修改高级电源管理(APM)级别,通过-S参数修改旋转超时时间 (Spin Down Timeout),从而控制硬盘的Load/Unload次数。所谓APM级别就是我们上面介绍过的1~255,而Spin-down Timeout就是指硬盘空闲(或者旋转?这个拿不准)多久后才会Spin Down,也就是停转,做Unload操作。相对应的,有一个Spin up Time,这是指硬盘重新启动到正常运转所需要的时间。
Windows下也有一款HDDScan软件可以很方便地做到这一点。这样的软件改法确实有效,但由于hdparm不会将设置写入固件,因此在关机、休眠以及待机之后,由于硬盘掉电,这些通过软件的设置会失效,需要重新启用一次。目前这两种方法在我的机器上的测试结果是待机唤醒之后参数不会重新启用。实际上,laptop-mode只会在开机的时候才会应用我们设定的参数,而 acpi的resume.d目录下放置的脚本并不会被执行,不知道这是不是个别现象。 所以如果大家非要用软件的修改方法时,推荐下面这一种。
2.2.3 pm.utils大法 (推荐使用)
除了这两种修改方法之外,还有另外一种通过pm.utils来调用hdparm的方法。这实际上是Suse的一个解决方案。pm.utils全称是 Power Management Utilities,与acpi类似,它可以通过加入Hook脚本的方法在待机、休眠和唤醒的时候修复一些待机/休眠方面的Bug或者实现某些特定的功能。pm.utils很有可能会在8.10中就取代acpi,所以从这个意义上来讲这个方案也会有更长的效用。具体步骤如下:
1) 首先做一些配置,主要就是设置省电模式开启和关闭的模式下hdparm的参数,具体的内容脚本中有注释。
你可能需要将“/dev/sda”修改成你的硬件设备,比如你有两个硬盘,可以修改为”/dev/sda /dev/sdb”。
$ sudo vi /etc/pm/config.d/disk
2) 在power.d中加入Hook脚本,作用是在使用电池和AC电源的时候可以自动切换省电模式。
$ cd /etc/pm/power.d
$ sudo vi disk
$ sudo chmod +x disk
3) 在sleep.d中加入脚本,目的是在休眠/待机之后唤醒的时候重新设定hdparm的参数:$ cd /etc/pm/sleep.d/
$ sudo vi disk
$ sudo chmod +x disk
***注意最后一定要为disk脚本添加执行权限。否则pm.tuils不会自动执行这段脚本
4) 如果你没有启用laptop mode (默认是不启用的),可以跳过这部分了。
由于Ubuntu中acpi和pm.utils是共存的,所以如果你启用了laptop mode,那么在改变电源状态(指电池->AC电源或者反之)的时候,acpi会在启用/停用laptop mode的同时设置hdparm参数,会覆盖掉pm-utils所做的设置。
所以如果你启用了laptop mode的话,需要做如下修改:
1′ $ sudo vi /etc/default/acpi-support
将最后的
SPINDOWN_TIME=12
修改为
SPINDOWN_TIME=241
2′ $ sudo vi /etc/acpi/power.sh
将function laptop_mode_enable部分的
$HDPARM -B 1 /dev/$drive 2>/dev/null
修改成
$HDPARM -B 192 /dev/$drive 2>/dev/null
上述的解决方案在Dell Inspiron 700m + Ubuntu 8.04.1上测试通过。在待机唤醒之后参数会重新被设置,但是由于我的机器上休眠有问题,所以没有办法测试休眠。但理论上来也是可以的。
3. 我想定期检测Load_Cycle_Count,怎么办?
好办,这里是一个脚本,具体用法在注释里面粗体标明了。(不好意思…注释好像比代码都长)
按照上面的说明操作之后,LCC的结果就会存在你定义的log文件里面了。可以定期打开查看。
4. 最后附上之前的两种方法,启用laptop mode和添加acpi脚本。
4.1. 加入acpi脚本
1) 为使用电源和电池的时候定制不同的hdparm参数。你可能需要把/dev/sda修改成你的硬盘设备。
2) 将如上脚本安装到如下4个地方
这个方案比开启laptop简单且方便。因此如果你实在是不想用pm.utils的时候,推荐使用这种方法。
4.2. 启用laptop mode
Ubuntu 8.04测试有效,但是待机/休眠唤醒之后设置会丢失。laptop mode 模块在Ubuntu 8.04中是默认包含的,只是没有启用。下面是具体的设置方法。
1) /etc/default/acpi-support中修改
# 启用laptop模式ENABLE_LAPTOP_MODE=true
# 将spin down 时间改成 (241-240)*30min = 30min
# spin down time决定硬盘闲置多久以后关闭主轴电动机以节省功耗,0表示永远不关闭
# 具体的解释看 man hdparm的-S部分SPINDOWN_TIME=241
2) /etc/laptop-mode/laptop-mode.conf中修改
# 即便是接上电源也用laptop modeENABLE_LAPTOP_MODE_ON_AC=1
# 显示器关闭的时候也用laptop modeENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=1
# 让laptop mode控制硬盘闲置多长时间才卸载CONTROL_HD_IDLE_TIMEOUT=1
# 改成半小时LM_AC_HD_IDLE_TIMEOUT_SECONDS=1800LM_BATT_HD_IDLE_TIMEOUT_SECONDS=1800NOLM_HD_IDLE_TIMEOUT_SECONDS=7200
# 让laptop mode来控制硬盘的电源管理CONTROL_HD_POWERMGMT=1
# 192表示不关闭,从128-254都表示不关闭,越大能耗越大# 具体可以 man hdparm 看-BBATT_HD_POWERMGMT=192LM_AC_HD_POWERMGMT=254NOLM_AC_HD_POWERMGMT=254
3) /etc/acpi/power.sh中
把 “$HDPARM -B 1 /dev/$drive 2>/dev/null”修改为 “$HDPARM -B 192 /dev/$drive 2>/dev/null”
4) 禁用pm.utils的部分功能
$ sudo chmod -x /usr/lib/pm-utils/power.d/laptop-tools
否则laptop-mode不会随机启动。
5) 重启后,cat /proc/sys/vm/laptop_mode
结果是2表示laptop-mode已经启动,是0表示还未启动,请仔细检查上面的设置是否有遗漏。
###############我是很郁闷的分割线###############
附:关于为啥要禁用pm.utils,具体的解释如下:
我从网上找到了laptop mode的解决方案之后,按照说明一步步操作,但是重新启动之后,查看cat /proc/sys/vm/laptop_mode,发现仍然是0.(是2才表示已经启动)。查看/etc/rc2.d/目录下确实有 S99laptop-mode,这说明系统确实会加载这个服务(这个目录下的文件都是个符号链接,会链接到/etc/init.d目录下的同名脚本)。后来Google了一下发现这样的解释:
首先来说/proc/sys/vm/laptop_mode这个变量和初始化进程laptop-mode并不是一个意思。前者是个内核控制的变量,作用是将磁盘写操作聚簇,后者是一个脚本。
其次,Hardy加入了pm-utils,会覆盖或忽略一部分根据linux传统的配置。为了解决这个问题,可以修改/usr/lib/pm-utils/power.d/laptop-tools中相关的内容或者运行下述命令:
$ sudo chmod -x /usr/lib/pm-utils/power.d/laptop-tools
这条命令会禁用pm-utils的部分功能,从而修复你所遇到的问题(指laptop-mode不会随机启动)。注意得重启以后设置才会生效。
实际上pm-utils盲目地覆盖掉laptop-mode或者是/etc/sysctl.conf中的配置,所以chmod -x禁用相关脚本后, 在从AC POWER转到电池供电的时候,pm-utils就不会执行相关的脚本(laptop-tools),从而也就不会覆盖相关的设置。这种做法改动最小,如果之后你想重新启用pm-utils的这部分功能,只需要chmod +x就可以了。
###############很郁闷的分割线又来啦###############
5. 最后是References:
日立关于Load/Unload技术的解释: Load/Unload白皮书下载StorageView关于Load/Unload技术的解释:http://www.storagereview.com/guide2000/ref/hdd/perf/qual/featuresHead.html
西部数据的规格:http://www.wdc.com/en/library/portable/2879-001121.pdf
日立的Feature Tool下载:http://www.hitachigst.com/hdd/support/download.htm#FeatureTool
Bug报告页面: https://launchpad.net/bug59695.html
Ubuntu Wiki的Bug总结:https://wiki.ubuntu.com/DanielHahler/Bug59695
Ubuntu Dev解释:http://www.advogato.org/person/mjg59/diary/82.html
laptop mode的解决方案:https://launchpad.net/ubuntu/+source/acpi-support/+bug/59695/comments/63
acpi的解决方案:http://ubuntuforums.org/showthread.php?p=5031046
Suse的解决方案:http://en.opensuse.org/Disk_Power_Management
休眠后重新设置pm.utils的方案:https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/235105
pm.utils的wiki:http://pm-utils.freedesktop.org/wiki/
Suse的pm.utils介绍:http://en.opensuse.org/Pm-utils
CnBeta的报道:http://www.cnbeta.com/articles/42191.htm
CnBeta的一个总结:http://www.cnbeta.com/articles/42421.htm
国内用户的一个解决方案: http://lymanrb.blogspot.com/2008/01/loadunload-bug.html
Ubuntu中文论坛的讨论: http://forum.ubuntu.org.cn/viewtopic.php?p=555500
关于laptop mode和pm.utils冲突的解释:http://ubuntuforums.org/showthread.php?t=867728
Windows下修改硬盘APM和Spin-down time的工具:http://hddscan.com/
6. 最最后
折腾这个问题费了我一整天(实际上是半天,不过那天我中午才起…),总结这些破烂方法,再加上反复试验确定某个方法是否有效,硬着头皮分析脚本的功能,零零碎碎加起来也有一整天的时间,再加上写这篇总结,又花去一整天加上两节入学教育的时间(罪过啊罪过啊)。到此为止距离开始解决这个问题就已经过去整整一周了。就这还没总结全,好多东西都还没有写上来。不过倒是学到了不少东西,硬盘的原理是确确实实复习了一遍了又,另外学了些写Shell脚本的技巧以及 ACPI和pm.utils的机制。感觉系统里面同时有俩搞电源管理的东西实在是太FT了,因为会有冲突的部分,好在据说Intrepid要搞掉acpi 只用pm.utils,也许会清净一些。
无论如何总算是写完了。一边实验一边记录,一度想放弃了(实在是太费时间,感觉也没太大的意义),但一个是为了我的宝贝硬盘考虑(钱啊钱啊!),又觉得折腾了那么多不记录下来,功夫不就都白费了。正好今天有两节入学教育,于是就勇敢地抱本过去,写完最后一段哈哈哈。
贴到这里,希望会对遇到这个问题的人有所帮助。
阅读全文...
说明:请大家注意,本文所描述的问题只有笔记本电脑才会出现。
1. 问题描述
几周前收到soldiers童鞋的短信说,Ubuntu伤硬盘?我说没事,好多人都用呢。过了一周,soldiers童鞋又问,Ubuntu伤硬盘?我说我查查看….
安装smart参数查看工具,由此可以查看硬盘的smart信息
$ sudo apt-get install smartmontools
查看/dev/sda这块硬盘的smart参数, 你可能需要把/dev/sda这部分修改成你的硬盘设备地址
grep 193是只查看 Load Cycle Count这项
$ sudo smartctl -a /dev/sda grep 193
193 Load_Cycle_Count 0x0012 090 090 000 Old_age Always - 109989
这样就可以看到Load/Unload Cycle Count数目了。用Windows的童鞋可以借助Everest工具,查看存储器->SMART信息,也可以找到相应项的数据。
不看不知道,一看吓一跳,我的是华丽的11W!!! T.T 据说到了60W,就离挂掉不远了。我才用了4个月,算下来照这个速度用下去的话,只能用4*60/10/12=2年…. 同寝的Acrest童鞋的也过了10W大关哈哈哈。
$ while true; do sudo smartctl -a /dev/sda grep 193; sleep 300; done;
这样可以每隔5分钟查询一下LCC,一般来说每小时增长在15上下应该是正常的。这样的话即便你每天24小时开着本子,硬盘也可以坚持4年(当然是从理论上来讲)。
1.1 这个Load/Unload Cycle Count到底是什么?
Load/Unload Cycle Count(以下简称为LCC)就是Load/Unload的次数,那么什么叫做Load/Unload呢,下面是一段非常罗嗦的解释,建议不感兴趣的同学出门右转,直接看下一节吧。
大家都知道,硬盘的数据传输是通过磁头读写磁盘上的数据来完成的。在工作过程中,磁头并不与磁盘的盘面直接接触,两者之间有一层很薄的空气薄膜,这层空气薄膜是由于磁盘的高速旋转产生的。如果磁盘停止旋转,空气薄膜消失,磁头则会直接接触到盘片,更详细一点说,会接触到盘片的landing zone,或者叫做start/stop zone,这无疑对盘片的寿命以及对存储在这块区域的数据造成不好的影响。因此在早期阶段,硬盘制造商一般会在对盘片的表面或landing zone部分做特殊的处理,并尽量避免在landing zone存储数据。
但是随着人们对于硬盘传输速度和硬盘容量需求的不断增加,制造商需要不断提高硬盘的面密度,同时要求盘片表面尽可能地平滑,这无疑与之前采用的技术产生了冲突,再加上其他的一些因素,硬盘制造商迫切地需要一种新的方式来替代之前采用的磁头直接接触盘面的行为。这时IBM的工程师们提出了一种叫做Load/Unload的技术。简单来说,Load/Unload技术有点像老式的点唱机,当盘片转速降低无法再产生空气薄膜的时候,就将磁臂以及磁头旋转一下,停靠到磁盘旁边的一个小斜坡上。这样就完全避免了磁头与盘片的直接接触。
总体来说,Load/Unload技术是有利的,比如可以提高硬盘的可靠性:硬盘遭到撞击的时候磁头不会划伤盘面;可以提高硬盘的面密度:不再需要对盘片表面做特殊的处理,可以提供平滑的盘面;以及可以有效地降低功耗:低功耗的程序可以通过多次请求Load/Unload来减少盘片的旋转时间,或者设置旋转超时时间(spin down timeout)来让磁头定期的做Load/Unload等等。
1.2 这个参数值高了有啥危害?
虽然Load/Unload技术有很多优点,但毫无疑问频繁的Load/Unload操作会造成磁头的磨损,严重的话会造成数据读写失效,也就说,硬盘挂了。
那么到底Load/Unload多少次会挂呢?最流行的说法是到60W次,西部数据的一份产品规格说明书上也明确标示出了这一数字。
但也有人指出SMART参数根本就是扯淡,好多坏掉的硬盘SMART值很低好的硬盘SMART值超标,因此根本不能成为评判标准以至于现在好多新机器都直接屏掉。但无论如何,频繁地卸载/挂载总不是什么好事。尤其是当你已经了解到Load/Unload次数过多有可能造成硬盘挂掉的时候,我想无论再有人辟谣,你也不会高枕无忧了。毕竟相对于硬盘本身来说,上面的数据可是要重要的多。
1.3 LCC为啥会那么高?
简单来说,可能有下面几个原因:
1) 硬盘厂商在固件中制定的节能策略过于苛刻,以至于为了节能,硬盘频繁地Load/Unload2) 操作系统的电源策略过于苛刻。
1.4 其他的发行版有没有这个问题?Windows呢,MAC OS呢?
各大linux发行版好像就Ubuntu被报告有这个问题,但这实际上并不是Ubuntu的电源策略太变态,恰恰相反,默认情况下Ubuntu会直接沿用硬件固件里面的设定。其他的发行版中SUSE也有类似的电源管理的BUG,除此之外的发行版似乎默认会忽略硬盘的这个节能功能,所以不会有类似的问题。
至于Windows,也会出现类似的现象,比如说我宿舍的Acrest童鞋,但我的没有。MAC OS也有报告出现类似的问题。
总体来说这个并不是个别现象,也并不应该算是操作系统的问题。感觉由于Windows下硬盘几乎会一直不停地运作,所以硬件厂商不太重视硬盘固件中的初始设定,比如说我的日立硬盘,电源管理级别被设置为128,结果由于Linux并不像Windows那样频繁读盘,磁头为了节能会频繁地做 Load/Unload操作。
2. 如何修复这个问题?
2.1 硬件修改法 (***推荐使用***)
正如上面所说,如果你的硬盘在Ubuntu下有这个问题,那么有可能是硬件本身的节能策略太激进了。最简单也是最根本的方法,就是用厂商提供的固件修改工具对出厂的默认设置进行修改,比如说日立的Feature Tools。
在Feature Tools中,有一项”Change Advanced Power Mode”,默认是128,可以选择从1到254不同的数值。
简单来说,数字越小越节能,数字越大性能越好。Feature Tools中将1-254分成三段并分别做了简单的说明,一般来说,设置到192-254则表示不允许Load/Unload操作,而255则表示禁用APM()。这个数字也就是后文提到的APM级别。
2.2 软件修改法
修改硬盘固件是最根本的解决方案,除此之外,关于在Ubuntu中修改相关策略,网上有很多种不同的解法,有兴趣的童鞋可以看关于这个Bug的讨论, Ubuntu Wiki上关于这个Bug的介绍,起因分析以及解决方案的总结等。基本上流传的方法有这么两种:
2.2.1 启用laptop-mode,通过修改laptop-mode.conf中的相关设置达到控制Load/Unload的目的
2.2.2 直接在/etc/acpi/start.d, resume.d等目录下放置脚本,通过hdparm命令修改APM级别和spin down time.
具体内容见文后附注。归根结底,这两种方法都是利用hdparm工具,通过-B参数修改高级电源管理(APM)级别,通过-S参数修改旋转超时时间 (Spin Down Timeout),从而控制硬盘的Load/Unload次数。所谓APM级别就是我们上面介绍过的1~255,而Spin-down Timeout就是指硬盘空闲(或者旋转?这个拿不准)多久后才会Spin Down,也就是停转,做Unload操作。相对应的,有一个Spin up Time,这是指硬盘重新启动到正常运转所需要的时间。
Windows下也有一款HDDScan软件可以很方便地做到这一点。这样的软件改法确实有效,但由于hdparm不会将设置写入固件,因此在关机、休眠以及待机之后,由于硬盘掉电,这些通过软件的设置会失效,需要重新启用一次。目前这两种方法在我的机器上的测试结果是待机唤醒之后参数不会重新启用。实际上,laptop-mode只会在开机的时候才会应用我们设定的参数,而 acpi的resume.d目录下放置的脚本并不会被执行,不知道这是不是个别现象。 所以如果大家非要用软件的修改方法时,推荐下面这一种。
2.2.3 pm.utils大法 (推荐使用)
除了这两种修改方法之外,还有另外一种通过pm.utils来调用hdparm的方法。这实际上是Suse的一个解决方案。pm.utils全称是 Power Management Utilities,与acpi类似,它可以通过加入Hook脚本的方法在待机、休眠和唤醒的时候修复一些待机/休眠方面的Bug或者实现某些特定的功能。pm.utils很有可能会在8.10中就取代acpi,所以从这个意义上来讲这个方案也会有更长的效用。具体步骤如下:
1) 首先做一些配置,主要就是设置省电模式开启和关闭的模式下hdparm的参数,具体的内容脚本中有注释。
你可能需要将“/dev/sda”修改成你的硬件设备,比如你有两个硬盘,可以修改为”/dev/sda /dev/sdb”。
$ sudo vi /etc/pm/config.d/disk
# Configure disk power management settings to ensure both# long disk life and good power management.
#
# Space delimited list of disk devices this affects.
DEVICES_DISK_PM_NAMES=”/dev/sda”
#
#
# Power management modes
#
# Powersave mode off
# Set APM as 192
# Set spin-down for 30 minutes
DEVICES_DISK_PM_POWERSAVE_OFF=”hdparm -q -B 192 -q -S 241 -q -M 128″
#
# Powersave mode on
# Enable APM to conservative 192 and set spin-down for 21 minutes
DEVICES_DISK_PM_POWERSAVE_ON=”hdparm -q -B 192 -q -S 252 -q -M 128″2) 在power.d中加入Hook脚本,作用是在使用电池和AC电源的时候可以自动切换省电模式。
$ cd /etc/pm/power.d
$ sudo vi disk
#!/bin/bash
. /usr/lib/pm-utils/functions
. /etc/pm/config.d/disk
if test -z "${DEVICES_DISK_PM_NAMES}"; then
exit 1
fi
case "$1" in
true)
echo "**enabled pm for harddisk"
for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do
${DEVICES_DISK_PM_POWERSAVE_ON} ${DISK_NAME}
done ;;
false)
echo "**disabled pm for harddisk"
for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do
${DEVICES_DISK_PM_POWERSAVE_OFF} ${DISK_NAME}
done ;;
esac $ sudo chmod +x disk
3) 在sleep.d中加入脚本,目的是在休眠/待机之后唤醒的时候重新设定hdparm的参数:$ cd /etc/pm/sleep.d/
$ sudo vi disk
#!/bin/bash
. /usr/lib/pm-utils/functions
. /etc/pm/config.d/disk
if test -z ${DEVICES_DISK_PM_NAMES}; then
exit 1
fi
case "$1" in
thawresume)
/usr/bin/on_ac_power;
if [ "$?" -eq 0 ]; then
echo “**disabled PM for harddisk”
for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do
${DEVICES_DISK_PM_POWERSAVE_OFF} ${DISK_NAME}
done
elif [ "$?" -eq 1 ]; then
echo “**enabled PM for harddisk”
for DISK_NAME in `echo ${DEVICES_DISK_PM_NAMES}`; do
${DEVICES_DISK_PM_POWERSAVE_ON} ${DISK_NAME}
done
fi
;;
esac $ sudo chmod +x disk
***注意最后一定要为disk脚本添加执行权限。否则pm.tuils不会自动执行这段脚本
4) 如果你没有启用laptop mode (默认是不启用的),可以跳过这部分了。
由于Ubuntu中acpi和pm.utils是共存的,所以如果你启用了laptop mode,那么在改变电源状态(指电池->AC电源或者反之)的时候,acpi会在启用/停用laptop mode的同时设置hdparm参数,会覆盖掉pm-utils所做的设置。
所以如果你启用了laptop mode的话,需要做如下修改:
1′ $ sudo vi /etc/default/acpi-support
将最后的
SPINDOWN_TIME=12
修改为
SPINDOWN_TIME=241
2′ $ sudo vi /etc/acpi/power.sh
将function laptop_mode_enable部分的
$HDPARM -B 1 /dev/$drive 2>/dev/null
修改成
$HDPARM -B 192 /dev/$drive 2>/dev/null
上述的解决方案在Dell Inspiron 700m + Ubuntu 8.04.1上测试通过。在待机唤醒之后参数会重新被设置,但是由于我的机器上休眠有问题,所以没有办法测试休眠。但理论上来也是可以的。
3. 我想定期检测Load_Cycle_Count,怎么办?
好办,这里是一个脚本,具体用法在注释里面粗体标明了。(不好意思…注释好像比代码都长)
#!/bin/bash
#
# @Description:
#
# check_lcc v0.2
#
# Check Load_Cycle_Count from S.M.A.R.T info of your hard drive
# when power on and off and Save them to $FILE in following format:
#
# LCC TIME
# ON 110044 18:05:00 2008-09-08
# OFF 110044 18:10:03 2008-09-08
#
# "ON" indicates POWER ON while "OFF" indicates POWER OFF, LCC is
# exactly Load_Cycle_Count of your hard drive at TIME.
#
# @Usages:
#
# 1. sudo vi /etc/init.d/check_lcc
# 2. copy all the contents of this script to it
# *** Note that u need to modify "FILE" as what u want.
# save and quit.
# 3. sudo chmod +x /etc/init.d/check_lcc
# 4. sudo update-rc.d check_lcc start 1 2 . stop 99 0 6 .
# 5. Have fun.
#
# This script was tested under Ubuntu 8.04.1.
#
# @Author:
#
# breaddawson@gmail.com
# 2008/09/07
FILE="/home/bread/lcc_report.txt"
STAT=`smartctl -a /dev/sda grep 193 sed -nr "s/.*[[:space:]]([[:digit:]]{1,})$/\1/p”`”\t “`date +’%T %F’`
case “$1″ in
start)
STAT=”ON \t”$STAT
;;
stop)
STAT=”OFF\t”$STAT
;;
*)
echo “Usages: $0 {startstop}” >&2
exit 2
;;
esac
echo -e $STAT >> $FILE 按照上面的说明操作之后,LCC的结果就会存在你定义的log文件里面了。可以定期打开查看。
4. 最后附上之前的两种方法,启用laptop mode和添加acpi脚本。
4.1. 加入acpi脚本
1) 为使用电源和电池的时候定制不同的hdparm参数。你可能需要把/dev/sda修改成你的硬盘设备。
$sudo vi 99-hdd-ugly-fix.sh
#!/bin/bash
if on_ac_power; then
# on AC so don't do any head parking
hdparm -B 254 /dev/sda
# you might need 255 or a different value
else
# either on battery or power status could not be determined
# so quickly park the head to protect the disk
hdparm -B 192 /dev/sda
fi2) 将如上脚本安装到如下4个地方
$sudo install 99-hdd-ugly-fix.sh /etc/acpi/resume.d/
$sudo install 99-hdd-ugly-fix.sh /etc/acpi/start.d/
$sudo install 99-hdd-ugly-fix.sh /etc/acpi/ac.d/
$sudo install 99-hdd-ugly-fix.sh /etc/acpi/battery.d/这个方案比开启laptop简单且方便。因此如果你实在是不想用pm.utils的时候,推荐使用这种方法。
4.2. 启用laptop mode
Ubuntu 8.04测试有效,但是待机/休眠唤醒之后设置会丢失。laptop mode 模块在Ubuntu 8.04中是默认包含的,只是没有启用。下面是具体的设置方法。
1) /etc/default/acpi-support中修改
# 启用laptop模式ENABLE_LAPTOP_MODE=true
# 将spin down 时间改成 (241-240)*30min = 30min
# spin down time决定硬盘闲置多久以后关闭主轴电动机以节省功耗,0表示永远不关闭
# 具体的解释看 man hdparm的-S部分SPINDOWN_TIME=241
2) /etc/laptop-mode/laptop-mode.conf中修改
# 即便是接上电源也用laptop modeENABLE_LAPTOP_MODE_ON_AC=1
# 显示器关闭的时候也用laptop modeENABLE_LAPTOP_MODE_WHEN_LID_CLOSED=1
# 让laptop mode控制硬盘闲置多长时间才卸载CONTROL_HD_IDLE_TIMEOUT=1
# 改成半小时LM_AC_HD_IDLE_TIMEOUT_SECONDS=1800LM_BATT_HD_IDLE_TIMEOUT_SECONDS=1800NOLM_HD_IDLE_TIMEOUT_SECONDS=7200
# 让laptop mode来控制硬盘的电源管理CONTROL_HD_POWERMGMT=1
# 192表示不关闭,从128-254都表示不关闭,越大能耗越大# 具体可以 man hdparm 看-BBATT_HD_POWERMGMT=192LM_AC_HD_POWERMGMT=254NOLM_AC_HD_POWERMGMT=254
3) /etc/acpi/power.sh中
把 “$HDPARM -B 1 /dev/$drive 2>/dev/null”修改为 “$HDPARM -B 192 /dev/$drive 2>/dev/null”
4) 禁用pm.utils的部分功能
$ sudo chmod -x /usr/lib/pm-utils/power.d/laptop-tools
否则laptop-mode不会随机启动。
5) 重启后,cat /proc/sys/vm/laptop_mode
结果是2表示laptop-mode已经启动,是0表示还未启动,请仔细检查上面的设置是否有遗漏。
###############我是很郁闷的分割线###############
附:关于为啥要禁用pm.utils,具体的解释如下:
我从网上找到了laptop mode的解决方案之后,按照说明一步步操作,但是重新启动之后,查看cat /proc/sys/vm/laptop_mode,发现仍然是0.(是2才表示已经启动)。查看/etc/rc2.d/目录下确实有 S99laptop-mode,这说明系统确实会加载这个服务(这个目录下的文件都是个符号链接,会链接到/etc/init.d目录下的同名脚本)。后来Google了一下发现这样的解释:
首先来说/proc/sys/vm/laptop_mode这个变量和初始化进程laptop-mode并不是一个意思。前者是个内核控制的变量,作用是将磁盘写操作聚簇,后者是一个脚本。
其次,Hardy加入了pm-utils,会覆盖或忽略一部分根据linux传统的配置。为了解决这个问题,可以修改/usr/lib/pm-utils/power.d/laptop-tools中相关的内容或者运行下述命令:
$ sudo chmod -x /usr/lib/pm-utils/power.d/laptop-tools
这条命令会禁用pm-utils的部分功能,从而修复你所遇到的问题(指laptop-mode不会随机启动)。注意得重启以后设置才会生效。
实际上pm-utils盲目地覆盖掉laptop-mode或者是/etc/sysctl.conf中的配置,所以chmod -x禁用相关脚本后, 在从AC POWER转到电池供电的时候,pm-utils就不会执行相关的脚本(laptop-tools),从而也就不会覆盖相关的设置。这种做法改动最小,如果之后你想重新启用pm-utils的这部分功能,只需要chmod +x就可以了。
###############很郁闷的分割线又来啦###############
5. 最后是References:
日立关于Load/Unload技术的解释: Load/Unload白皮书下载StorageView关于Load/Unload技术的解释:http://www.storagereview.com/guide2000/ref/hdd/perf/qual/featuresHead.html
西部数据的规格:http://www.wdc.com/en/library/portable/2879-001121.pdf
日立的Feature Tool下载:http://www.hitachigst.com/hdd/support/download.htm#FeatureTool
Bug报告页面: https://launchpad.net/bug59695.html
Ubuntu Wiki的Bug总结:https://wiki.ubuntu.com/DanielHahler/Bug59695
Ubuntu Dev解释:http://www.advogato.org/person/mjg59/diary/82.html
laptop mode的解决方案:https://launchpad.net/ubuntu/+source/acpi-support/+bug/59695/comments/63
acpi的解决方案:http://ubuntuforums.org/showthread.php?p=5031046
Suse的解决方案:http://en.opensuse.org/Disk_Power_Management
休眠后重新设置pm.utils的方案:https://bugs.launchpad.net/ubuntu/+source/pm-utils/+bug/235105
pm.utils的wiki:http://pm-utils.freedesktop.org/wiki/
Suse的pm.utils介绍:http://en.opensuse.org/Pm-utils
CnBeta的报道:http://www.cnbeta.com/articles/42191.htm
CnBeta的一个总结:http://www.cnbeta.com/articles/42421.htm
国内用户的一个解决方案: http://lymanrb.blogspot.com/2008/01/loadunload-bug.html
Ubuntu中文论坛的讨论: http://forum.ubuntu.org.cn/viewtopic.php?p=555500
关于laptop mode和pm.utils冲突的解释:http://ubuntuforums.org/showthread.php?t=867728
Windows下修改硬盘APM和Spin-down time的工具:http://hddscan.com/
6. 最最后
折腾这个问题费了我一整天(实际上是半天,不过那天我中午才起…),总结这些破烂方法,再加上反复试验确定某个方法是否有效,硬着头皮分析脚本的功能,零零碎碎加起来也有一整天的时间,再加上写这篇总结,又花去一整天加上两节入学教育的时间(罪过啊罪过啊)。到此为止距离开始解决这个问题就已经过去整整一周了。就这还没总结全,好多东西都还没有写上来。不过倒是学到了不少东西,硬盘的原理是确确实实复习了一遍了又,另外学了些写Shell脚本的技巧以及 ACPI和pm.utils的机制。感觉系统里面同时有俩搞电源管理的东西实在是太FT了,因为会有冲突的部分,好在据说Intrepid要搞掉acpi 只用pm.utils,也许会清净一些。
无论如何总算是写完了。一边实验一边记录,一度想放弃了(实在是太费时间,感觉也没太大的意义),但一个是为了我的宝贝硬盘考虑(钱啊钱啊!),又觉得折腾了那么多不记录下来,功夫不就都白费了。正好今天有两节入学教育,于是就勇敢地抱本过去,写完最后一段哈哈哈。
贴到这里,希望会对遇到这个问题的人有所帮助。
阅读全文...
Sunday, February 1, 2009
桌面IE图标不见了怎么办?
原文
方法一:控制面板->Internet选项->高级->勾上“在桌面显示Internet Explorer”->确定
这是很早的一种方法,适用于IE5.5及之前的版本,而现在大部分用户都在使用IE6.0及更高的版本了,所以现在这个方法基本没什么用处。
方法二:桌面点击右键->属性->桌面->自定义桌面->勾上“Internet Explorer”->确定
这是一个很普遍也很常用的方法,适用于大多数人现在使用的环境,WindowsSP2,IE6.0的情况,不过当用户升级到IE7.0后,原本那个“Internet Explorer”勾选框就给空了出来,被去掉了,不能用鼠标进行选择了。
方法三:桌面点击右键->属性->桌面->自定义桌面->在键盘上按一次“i”键->确定
这个方法适用于除Vista之外所有情况。此方法很巧妙,归避了因为升级到IE7.0而消失的“Internet Explorer”勾选框,其实那个去掉的“Internet Explorer”勾选框仍然在那里,只是用户看不见而已,微软仍然保留了焦点,按“i”的作用就是让焦点聚到“Internet Explorer”勾选框上(虽然看不见),作用相当于用鼠标点击“Internet Explorer”勾选框,效果一样。
方法四:在任意一个文件夹里新建一个文件夹,然后把这个新文件夹重命名为“Internet Explorer.{871C5380-42A0-1069-A2EA-08002B30309D}”(引号内的部分),最后把命名后的文件夹复制到桌面,IE图标就会重新显示出来了。
这个方法相对麻烦一些,也不利于初级电脑用户操作,所以不推荐采用。
方法五:右键点击我的电脑->资源管理器->在窗口左侧选择“桌面”->把这里的IE图标拖到桌面上即可。
这是一个很不错的方法,操作也很简便,适用于除Vista之外任何版本的Windows操作系统和任何版本的IE浏览器。虽然这里的桌面内容和真正的桌面内容是一样的,不过资源管理器里桌面上的系统图标是删不掉的,比如“我的文档”、“我的电脑”,当你删除之后,刷新一下,图标即刻又会出现。所以我认为这种方法是最可靠的,建议大家采用。
阅读全文...
方法一:控制面板->Internet选项->高级->勾上“在桌面显示Internet Explorer”->确定
这是很早的一种方法,适用于IE5.5及之前的版本,而现在大部分用户都在使用IE6.0及更高的版本了,所以现在这个方法基本没什么用处。
方法二:桌面点击右键->属性->桌面->自定义桌面->勾上“Internet Explorer”->确定
这是一个很普遍也很常用的方法,适用于大多数人现在使用的环境,WindowsSP2,IE6.0的情况,不过当用户升级到IE7.0后,原本那个“Internet Explorer”勾选框就给空了出来,被去掉了,不能用鼠标进行选择了。
方法三:桌面点击右键->属性->桌面->自定义桌面->在键盘上按一次“i”键->确定
这个方法适用于除Vista之外所有情况。此方法很巧妙,归避了因为升级到IE7.0而消失的“Internet Explorer”勾选框,其实那个去掉的“Internet Explorer”勾选框仍然在那里,只是用户看不见而已,微软仍然保留了焦点,按“i”的作用就是让焦点聚到“Internet Explorer”勾选框上(虽然看不见),作用相当于用鼠标点击“Internet Explorer”勾选框,效果一样。
方法四:在任意一个文件夹里新建一个文件夹,然后把这个新文件夹重命名为“Internet Explorer.{871C5380-42A0-1069-A2EA-08002B30309D}”(引号内的部分),最后把命名后的文件夹复制到桌面,IE图标就会重新显示出来了。
这个方法相对麻烦一些,也不利于初级电脑用户操作,所以不推荐采用。
方法五:右键点击我的电脑->资源管理器->在窗口左侧选择“桌面”->把这里的IE图标拖到桌面上即可。
这是一个很不错的方法,操作也很简便,适用于除Vista之外任何版本的Windows操作系统和任何版本的IE浏览器。虽然这里的桌面内容和真正的桌面内容是一样的,不过资源管理器里桌面上的系统图标是删不掉的,比如“我的文档”、“我的电脑”,当你删除之后,刷新一下,图标即刻又会出现。所以我认为这种方法是最可靠的,建议大家采用。
阅读全文...
Labels:
常见问题
Tuesday, December 9, 2008
解决debian etch的update-notify大bug
Debian Etch是个好东东,可惜由于本人添加了除main之外的contribute,non-free,backports,mutilmedia等源,造成了bug层出不穷。最让人无法忍受的大大bug是Gnome的升级管理器提醒工具,总是说源有问题,并给出了大段的莫名其妙的提示。
提示为:A error occured, please run Package Manager from the rightclick menu or apt-get on a terminal to see what is wrong. The error message was: 'Error:Opening the cache (E:Opening /etc/apt/sources.list - ifstream::ifstream (13 Permission denied), E:The list of sources could not be read.)'
但是到Terminal下,用apt-get update命令,却得到一路OK的结果,没有给出任何错误提示,使用新立得也没有发现任何损坏的包。进入新立得,重新安装update-notifier包,不能解决问题。到网络搜索一圈,中文无此问题讨论,英文讨论也只有几页,完全是脱离主题的讨论。只好回来自己想办法。
解决方法:
1,sudo nano /etc/apt/sources.list
2,保留deb http://ftp.us.debian.org/debian/ etch main non-free contrib,将其他所有的行前面都加上注释“#”
3,删除update-notfier包
4,重新启动系统(应该是可选步骤)
5,sudo apt-get update
6,sudo apt-get install update-notifier
7,不再出现出错提示
8,重新sudo nano /etc/apt/sources.list,将加上的注释全部清除,保存文件
9,sudo apt-get update & apt-get upgrade
10,问题解决了!
阅读全文...
提示为:A error occured, please run Package Manager from the rightclick menu or apt-get on a terminal to see what is wrong. The error message was: 'Error:Opening the cache (E:Opening /etc/apt/sources.list - ifstream::ifstream (13 Permission denied), E:The list of sources could not be read.)'
但是到Terminal下,用apt-get update命令,却得到一路OK的结果,没有给出任何错误提示,使用新立得也没有发现任何损坏的包。进入新立得,重新安装update-notifier包,不能解决问题。到网络搜索一圈,中文无此问题讨论,英文讨论也只有几页,完全是脱离主题的讨论。只好回来自己想办法。
解决方法:
1,sudo nano /etc/apt/sources.list
2,保留deb http://ftp.us.debian.org/debian/ etch main non-free contrib,将其他所有的行前面都加上注释“#”
3,删除update-notfier包
4,重新启动系统(应该是可选步骤)
5,sudo apt-get update
6,sudo apt-get install update-notifier
7,不再出现出错提示
8,重新sudo nano /etc/apt/sources.list,将加上的注释全部清除,保存文件
9,sudo apt-get update & apt-get upgrade
10,问题解决了!
阅读全文...
Windows NT系列和Linux的共存问题
1, Linux和Windows NT系列最佳共存方案。
前提:所有的NT分区为fat16或者fat32。Linux对NTFS分区的写操 作支持得不是很好,只有Mandrake Linux的内核编译默认为ntfs格式磁盘可写,其他的Linux一般都将内核编译成ntfs分区只读。如果你的硬盘中还安装了windows 9x系列,windows 9x系列一般先安装,会被windows NT的bootloader辨认。
系统磁盘分区如下(以单硬盘为例)
hda1 Win9x
hda5 Winnt
hda6 Linux native
hda7 Linux swap
Win9x和winnt会各占一个分区,Linux会至少占用两个分区。
Linux swap linux虚拟内存分区的大小一般是真正内存的2倍。
最佳方案是:将Linux的Grub或者Lilo安装在根分区,而用Windows NT的Bootloader去引导硬盘上的所有操作系统。
如果将Grub或者Lilo安装在Mbr(主引导扇区),重新安装Windows会造成Grub或者Lilo的丢失。如果把它们安装在根分区(root分区),则可以有效避免上面的情况发生。
Grub是Linux下新一代操作系统引导程序,技术上要比Lilo强很多,建议使用。而且在一些老的BIOS上面,Lilo不会支持8G以上大容量硬 盘。你的Linux如果安装在硬盘528MB以后位置的分区中,Lilo不会正确引导。Grub则没有这样的问题。
(1)准备一张Linux Live CD,或者有一张Grub启动软盘。因为在Linux安装结束后,你不能通过重新启动电脑直接引导它,还需要几个步骤。
(2)如果都没有,就需要下载Grub for DOS,然后将grldr文件复制到C盘根目录。然后编辑boot.ini。
* grldr 0.95可以在www.ubuntu.org.cn的源中找到,在文档-专题文档-与windows xp共存 文档中有这个文件的下载链接。
打开“命令提示符”,输入以下命令。
attrib –r –s –h c:\boot.ini
notepad c:\boot.ini
用记事本打开boot.ini后,在后面加上一行:
c:\grldr=”Grub for DOS”
保存记事本。
attrib +r +s +h c:\boot.ini
(3)先安装Windows 9x,再安装Windows NT,最后安装Linux。并在安装最后的设置阶段把Grub管理器安装到root分区。
(4)用grldr启动已经安装好的linux
(5)输入正确的用户名,转到root用户模式:
[user@ubuntu/]$ sudo passwd su (如果不知道根用户的密码,可以通过这个命令设置)
[user@ubuntu/]$ su (回车后提示输入根用户密码,输入正确就可以进入根用户模式。
[root@ubuntu/]# cd /mnt
[root@ubuntu/mnt]# mkdir hda1
[root@ubuntu/mnt]# mount /dev/hda1 /mnt/hda1
[root@ubuntu/mnt]# dd if=/dev/hda6 of=/mnt/hda1/bootsect.lnx bs=512 count=1
输入以上的命令,就可以在hda1,也就是C盘根目录建立一个名为bootsect.lnx的512字节大小的文件。当然,如果你的C盘是fat32格式的,成功率就是100%。
如果C盘是ntfs格式,你就需要挂载一个fat32分区,并把文件先写到fat32分区,然后到windows下再倒到C盘。
重新启动电脑,并进入Windows XP,对boot.ini文件进行再次编辑。在最后加上一行:
c:\bootsect.lnx=”Linux System”
引号里的文字可以改成你喜欢的文字,它作为操作系统的名称出现在bootloader菜单上。重新启动电脑,你就可以在Windows NT的操作系统选单上选择Linux,并进行启动了。
阅读全文...
前提:所有的NT分区为fat16或者fat32。Linux对NTFS分区的写操 作支持得不是很好,只有Mandrake Linux的内核编译默认为ntfs格式磁盘可写,其他的Linux一般都将内核编译成ntfs分区只读。如果你的硬盘中还安装了windows 9x系列,windows 9x系列一般先安装,会被windows NT的bootloader辨认。
系统磁盘分区如下(以单硬盘为例)
hda1 Win9x
hda5 Winnt
hda6 Linux native
hda7 Linux swap
Win9x和winnt会各占一个分区,Linux会至少占用两个分区。
Linux swap linux虚拟内存分区的大小一般是真正内存的2倍。
最佳方案是:将Linux的Grub或者Lilo安装在根分区,而用Windows NT的Bootloader去引导硬盘上的所有操作系统。
如果将Grub或者Lilo安装在Mbr(主引导扇区),重新安装Windows会造成Grub或者Lilo的丢失。如果把它们安装在根分区(root分区),则可以有效避免上面的情况发生。
Grub是Linux下新一代操作系统引导程序,技术上要比Lilo强很多,建议使用。而且在一些老的BIOS上面,Lilo不会支持8G以上大容量硬 盘。你的Linux如果安装在硬盘528MB以后位置的分区中,Lilo不会正确引导。Grub则没有这样的问题。
(1)准备一张Linux Live CD,或者有一张Grub启动软盘。因为在Linux安装结束后,你不能通过重新启动电脑直接引导它,还需要几个步骤。
(2)如果都没有,就需要下载Grub for DOS,然后将grldr文件复制到C盘根目录。然后编辑boot.ini。
* grldr 0.95可以在www.ubuntu.org.cn的源中找到,在文档-专题文档-与windows xp共存 文档中有这个文件的下载链接。
打开“命令提示符”,输入以下命令。
attrib –r –s –h c:\boot.ini
notepad c:\boot.ini
用记事本打开boot.ini后,在后面加上一行:
c:\grldr=”Grub for DOS”
保存记事本。
attrib +r +s +h c:\boot.ini
(3)先安装Windows 9x,再安装Windows NT,最后安装Linux。并在安装最后的设置阶段把Grub管理器安装到root分区。
(4)用grldr启动已经安装好的linux
(5)输入正确的用户名,转到root用户模式:
[user@ubuntu/]$ sudo passwd su (如果不知道根用户的密码,可以通过这个命令设置)
[user@ubuntu/]$ su (回车后提示输入根用户密码,输入正确就可以进入根用户模式。
[root@ubuntu/]# cd /mnt
[root@ubuntu/mnt]# mkdir hda1
[root@ubuntu/mnt]# mount /dev/hda1 /mnt/hda1
[root@ubuntu/mnt]# dd if=/dev/hda6 of=/mnt/hda1/bootsect.lnx bs=512 count=1
输入以上的命令,就可以在hda1,也就是C盘根目录建立一个名为bootsect.lnx的512字节大小的文件。当然,如果你的C盘是fat32格式的,成功率就是100%。
如果C盘是ntfs格式,你就需要挂载一个fat32分区,并把文件先写到fat32分区,然后到windows下再倒到C盘。
重新启动电脑,并进入Windows XP,对boot.ini文件进行再次编辑。在最后加上一行:
c:\bootsect.lnx=”Linux System”
引号里的文字可以改成你喜欢的文字,它作为操作系统的名称出现在bootloader菜单上。重新启动电脑,你就可以在Windows NT的操作系统选单上选择Linux,并进行启动了。
阅读全文...
Labels:
常见问题
重新安装XP,造成Linux无法引导解决方案!
坚决反对把grub安装在mbr,为什么要放在一个和另外的系统绝对有冲突的地方?
这是很正常的现象,你把grub或者lilo安装到了 mbr,而Windows很弱智,重新安装覆盖了mbr. 解决办法:
(1)下载grldr(Grub loader),保存在C:\编辑C:\BOOT.INI 在最后加上一行: C:\grldr="Grub" 重新启动电脑,在引导系统菜单选grub 出现grub引导菜单,选enter command line 这个时候,需要知道你的Linux在哪个分区,比如hda5,hda6等等 然后输入下面的命令尝试启动Linux:
方法:1, kernel /boot/vmlinuz root=/dev/hda5
2, boot *vmlinuz文件的位置和Linux分区的盘符一定要知道!这个别人帮不了忙!
*可以尝试在grub提示符下输入find /vmlinuz来在所有分区的根目录下搜索vmlinuz(当vmlinuz不在分区根目录的时候,则需要手动修改目录。希望你能找到更好的办法)。
我输入"/boot/vmlinuz"和"/dev/hda5"不过是 举例,要根据你的实际情况改变参数,有可能你的vmlinuz文件就在/下... 有的Linux可能还需要定位initrd.gz文件才能正确引导,如果以上方法不成功,就在1和2之间加上下面的一行: initrd (hd0,4)/initrd.gz
grldr在grub for dos这个工具里面,大家可以搜索并下载,然后把grldr这个文件解压缩出来。
(2) 同志们,一定要准备一张LiveCD啊! 用Linux live CD挂载并进入硬盘上的Linux根分区,到/bin目录下寻找grub-install程序,运行: grub-install /dev/hda1 直接把grub重新写回mbr,当然,如果有启动软盘也可以这样做!
阅读全文...
这是很正常的现象,你把grub或者lilo安装到了 mbr,而Windows很弱智,重新安装覆盖了mbr. 解决办法:
(1)下载grldr(Grub loader),保存在C:\编辑C:\BOOT.INI 在最后加上一行: C:\grldr="Grub" 重新启动电脑,在引导系统菜单选grub 出现grub引导菜单,选enter command line 这个时候,需要知道你的Linux在哪个分区,比如hda5,hda6等等 然后输入下面的命令尝试启动Linux:
方法:1, kernel /boot/vmlinuz root=/dev/hda5
2, boot *vmlinuz文件的位置和Linux分区的盘符一定要知道!这个别人帮不了忙!
*可以尝试在grub提示符下输入find /vmlinuz来在所有分区的根目录下搜索vmlinuz(当vmlinuz不在分区根目录的时候,则需要手动修改目录。希望你能找到更好的办法)。
我输入"/boot/vmlinuz"和"/dev/hda5"不过是 举例,要根据你的实际情况改变参数,有可能你的vmlinuz文件就在/下... 有的Linux可能还需要定位initrd.gz文件才能正确引导,如果以上方法不成功,就在1和2之间加上下面的一行: initrd (hd0,4)/initrd.gz
grldr在grub for dos这个工具里面,大家可以搜索并下载,然后把grldr这个文件解压缩出来。
(2) 同志们,一定要准备一张LiveCD啊! 用Linux live CD挂载并进入硬盘上的Linux根分区,到/bin目录下寻找grub-install程序,运行: grub-install /dev/hda1 直接把grub重新写回mbr,当然,如果有启动软盘也可以这样做!
阅读全文...
Labels:
常见问题
加速ubuntu Linux的启动!
此HowTo适合抱怨ubuntu启动速度相当慢但不愿意安装任何可选择工具提速的人群。我在这里使用的方式不是最终解决方案,但是无论如何它确实有所改 变并且它确实起作用了。下面的做的一切是通过调整Ubuntu开机进程,因为每人的计算机有所不同,存在一些风险——下面的一些东西可能损坏你的系统。在 你更改之前,做出你的判断并且为/etc目录造一个备份总是好的。
**此HowTo 主要适合便携电脑和台式机,不适合服务器。 **
此HowTo 的建议:
1. 我希望你能从中学到东西而不是仅仅简单的拷贝。 因此请, **不要 ** 完全地按照我所作的并复制到你的计算机。阅读服务的描述并自己判断去决定是否需要保留他们。例如, 在我的电脑上我关闭GDM用终端引导,但是如果你看到终端感到一点都不舒服,你应该保留GDM或KDM直接引导到用户图形界面。
2.如果你对开机服务有疑问并且确实对该服务是什么不是很确定,在此张贴问题并且看看是否有人能帮助你。在你行动之前如果你不知道。保持系统安全的底线是让一种服务开着而不是关闭它,如果你不理解的该服务的话。
3. 如果你在你机器上见过一个开机服务但不在这里,告知我们它是什么正如我在这里做的一样 –给一些说明和建议关于是否它应该在一台正常的便携电脑或者桌面环境上开或关。
I. 安装一个工具 - sysv-rc-conf。 它是一款基于perl的开机进程调整工具。
代码:
sudo apt-get update
sudo apt-get install sysv-rc-conf
它提供一种配置开机进程和运行等级的简单方法,但是如果你想要通过链接/解除链接文件来手工操作的话,这不是必需的... 这由你决定
II. Ok,一切就绪。现在让我们通过以下代码来激发它
代码:
sudo sysv-rc-conf
并一个一个的分析每种服务。 **注意 ** 我有的一些服务或许你没有,完全ok。如果一些服务你有但是我没有,你将需要独自研究或者在这里提问 ... 但是此HowTo 涵盖它们中的大多数 ...
在 我们开始搞乱它们之前,我要在这里引入一些运行等级知识 ....全部开机进程执行顺序如下:
运行等级 S:开机进程中的第一个运行等级。/etc/init.d/rcS脚本将被调用到开启并且/etc/rcS.d目录下的所有进程将被执行。
运行等级 1:单用户模式。/etc/rc1.d目录下的所有进程将被执行。
运行等级 2,3,4,5:在debian系统里是多用户环境,可能不包含图形用户界面。同样的,在相应目录下的进程将被运行。
**注意**
这和RedHat,SuSE,以及其它基于RPM的系统不同。运行等级 0:关闭计算机;
运行等级 6:重起计算机。
好,让我们回到sysv-rc-conf:1. acpi-support - 在S运行等级你最好使其处于“X”状态。
2. acpid - acpi守护程序.这两个用于电源管理,对于笔记本和台式电脑很重要,所以让它们开启。
3. alsa - 如果你使用alsa声音子系统,是的,开启它。
4. alsa-utils -在我系统里,此服务取代了alsa,所以我关闭了alsa并在S运行等级将此服务开启。**注意**,我所说的“关闭”是指在所有运行等级里面去除所有 “X”。如果在你系统里没有它,没问题。让我们继续。
5. anacron - 一个cron子系统,当时间到达时用于执行任何没有被执行的cron作业。当某种cron 作业时间准备好时,很可能你或许已经关闭了你的计算机。打个比方,updatedb被计划在每天2点执行,但是在那个时候,你的计算机是关闭的,然后如果 ananron服务如果是开启的话,它将设法抓起那个updatedb cron… 我将它关闭是因为我不经常关闭我的笔记本,但是是否开启此服务完全取决于你。
6. apmd - 这是十分困惑我的一个服务。我已经开启了acpid服务,那同时开启apmd有啥好处呢?如果你的计算机不是那么老,甚至不能支持acpi,然后你可以设 法关闭它。无论如何,我是关闭它的。
7. atd - 就像cron,一个作业调度程序。我把它关了
8. binfmt-support - 核心支持其他二进制的文件格式。我让它开着
9. bluez-utiles - 我把它关了因为我没有任何蓝牙设备
10. bootlogd - 开启它
11. cron – 开启它
12. cupsys – 管理打印机的子系统。我没有打印机所以我关闭它了,如果你有打印机,开启他。
13. dbus – 消息总线系统(message bus system)。非常重要,开启它。
14. dns-clean – 当使用拨号连接,主要用于清除dns信息。我不用拨号,所以我关闭它。
15. evms – 企业卷管理系统(Enterprise Volumn Management system). 我关闭它。
16. fetchmail – 一个邮件接受守护进程,我关闭它。17. gdm – gnome桌面管理器。无论如何我关闭它了,因为我将系统用终端引导。如果你想直接引导到图形用户界面,这取决于你。
18. gdomap – 事实上我也不知道为什么此服务必需开启。我没有在其他系统看见这个守护程序,所以我将其关闭并且我没觉得我失去了什么。开启它对笔记本或者台式机由任何好 处吗?
19. gpm – 终端鼠标支持。如果你觉得你在终端使用鼠标更好,那么在运行等级 1 和2 开启它。那是你所需要的。
20. halt - 别更改它。
21. hdparm – 调整硬盘的脚本。我在运行等级 2,3,4,5去除了它但是在S 运行等级添加了它。我觉得早点打开DMA,32bit I/O等等将对其余过程有益。我自己也将原来的脚本精简了一下。如果我知道我正做什么,我觉得做过多的检查没用。相应配置文件是 /etc/hdparm.conf。
22. hibernate – 如果你的系统支持休眠,把它打开,否则他对你没用。
23. hotkey-setup – 此守护进程为你的笔记本建立一些热键映射。支持的制造商包括: HP, Acer, ASUS, Sony, Dell, 和IBM。如果你有那些品牌的笔记本,你可以打开它,否则它或许对你没有任何好处。
24. hotplug and hotplug-net #激活热插拔系统是费时的。我将考虑关掉它们。我在我的/etc/network/interfaces文件作了很多更改,并将其设置为自动运行,而不是 在热插拔进程期间映射我的无线网卡。所以我可以将它们关掉。我已经测试过了,甚至我将它们关闭,ubuntu仍旧可以检测到我的usb驱动器,我的数码相 机,等等。所以我认为关掉它们是很安全的**注意**如果在关闭热插拔服务以后发现你的声卡部工作了,你可以将服务打开,或者编辑 /etc/modules文件并添加声卡驱动模块。经测试,后者比较快。
25. hplip – HP打印机和图形子系统,我将其关闭。
26. ifrename – 网络接口重命名(network interface rename)脚本。听上去很酷但是我把它关掉了。主要用于管理多网络接口名称。虽然我有无线网卡和以太网卡,两者被内核标识为eth0和ath0,所以 此服务对我不是很有用。
27. ifupdown and ifupdown-clean – 打开它,它们是开机时网络及口激活脚本。
28. inetd or inetd.real – 查看文件/etc/inetd.conf 注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。
29. klogd – 打开它。
30. linux-restricted-modules-common – 你应该去查看下是否你的系统装载有任何受限制的模块。既然我需要madwifi ath_pci 模块,所以我将其开启。受限制的模块可以从/lib/linux-restricted-modules查看到。如果你发现你没有使用任何受限制的模块, 那关掉这个服务没事。
31. lvm – 我没有使用逻辑卷所以我将此服务关闭。让它开启如果你 *确实* 有lvm(lvm是逻辑卷管理器在此不再扩充).
32. makedev – 打开它。
33. mdamd – Raid管理工具。不使用Raid所以我将此服务关闭。
34. module-init-tools – 从/etc/modules加载扩展模块。你可以研究/etc/modules文件查看是否有一些你不需要的模块。通常我们将此服务开启。
35. networking – 在启动期间通过扫描/etc/network/interfaces文件增加网络接口和配置dns信息。让它开着。
36. ntpdate – 通过ubuntu时间服务器同步时间。在开机的时候我不需要它,故我关掉了此服务。
37. nvidia-kernel – 我自己编译了nvidia驱动,所以此服务对我没用。如果你从受限制模块中使用nvidia驱动,那打开此服务。
38. pcmcia – 激活pcmica设备。我将此服务打开在S运行等级而不是分别在2,3,4,5运行等级打开此服务,因为我觉得起先让硬件设备准备更好。如果你在使用没有pcmica卡的台式机的话,请关闭此服务。
39. portmap – 管理像nis,nfs等等之类服务的守护程序。如果你的笔记本或台式机是纯粹的客户端,那么关闭此服务。
40. powernowd – 管理CPU频率的客户端程序。主要用于支持CPU speed stepping技术的笔记本。通常如果你在配置一台笔记本,你应该开启此服务。如果是台式机,那此服务应该没有用。
41. ppp and ppp-dns - 对我没用,我不使用拨号。
42. readahead - **感谢 mr_pouit!** readahead似乎是一种“预加载程序”。在开机时它将一些库文件加载到内存,以便一些程序启动的更快。但是它给启动时间增加了3-4秒。所以,你可 以留着它…或者不。**更新**,经我测试我觉得加载程序没有什么不同。所以我决定关闭此服务。如果你有打开此服务的理由,那就打开它。
43. reboot - 别更改它。
44. resolvconf – 按照你的网络状态自动配置DSN信息,我将它打开着。
45. rmnologin – 如果发现nologin,那么去除它。此情况不会在笔记本上面发生,所以我摆脱它。
46. rsync – rsync守护程序. 我不打算在我的笔记本上使用rsync协议,所以我将其关闭
47. sendsigs – 在重启和关机期间发送信号。顺其自然。
48. single – 激活单用户模式。顺其自然。
49. ssh – ssh守护程序。我需要ssh,所以我将此服务打开。
50. stop-bootlogd – 从2,3,4,5运行等级停止bootlogd。顺其自然。
51. sudo – 检查sudo 状态。我没在一台笔记本或者台式机客户端上看到任何使用sudo的好处,因此我关闭了它。
52. sysklogd - 顺其自然。
53. udev and udev-mab – 用户空间dev文件系统(userspace dev filesystem)。好东西,我将它们打开。
54. umountfs - 顺其自然。55. urandom – 随机数生成器。可能没什么用处,但是我留着它。
56. usplash - 嗯,如果你想看到漂亮的开机画面,顺其自然。无论如何沃关闭此服务了。如果你想关闭它,你也可以编辑/boot/grub/menu.lst文件注释掉splashimage行,除去开机splash核心选项。
57. vbesave – 显卡BIOS配置工具。它能保存你显卡的状态。我将其开启。
58. xorg-common – 设置X服务ICE socket。我将其从在S运行等级开启移动到2,3,4,5,运行等级。如果我引导到单用户模式,那我不需要此服务。在最初引导期间这种方法将不占用时间。
59. adjtimex – 这也是调整核心hw时钟的工具。通常你不会在开机列表中看见它。在非常少有的情况如果你确实在开机进程中看见它了,事出有因,因此最好顺其自然。在我的情况里,它是关闭的。
60. dirmngr – 证书列表管理工具(certification lists management tool)。和gnupg一起工作。你必须看看你是否需要它。在我的情况里,我是关掉它的。
61. hwtools – 一个优化irqs的工具。不确定打开它的好处。在我的情况里,我是关掉它的。 62. libpam-devperm - 在系统崩溃之后用于修理设备文件许可的一个守护程序。听起来不错,因此我打开它了。
63. lm-sensors – 如果你的主板内建一些传感芯片,通过用户空间(userspace)查看hw状态可能是有帮助的。我运行了它,但是它提示“没有发现传感器”,因此我关闭 了此服务。
64. mdadm-raid – 作用和mdadm服务相同。用来管RAID设备。如果你没有此类设备,那尽管关掉它好了。
65. screen-cleanup – 一个用来清除开机屏幕的脚本。嗯,是否关闭它有你决定。在我的情况里,我打开它了。
66. xinetd – 用来管理其他守护进程的一个inetd超级守护程序。在我的系统里,xinetd管理chargen, daytime, echo和time (在 /etc/xinetd.d 目录找到的),我不关系任何一个,因此我关掉了此服务。如果在xinetd下你确实有一些重要的服务,那打开它。
阅读全文...
**此HowTo 主要适合便携电脑和台式机,不适合服务器。 **
此HowTo 的建议:
1. 我希望你能从中学到东西而不是仅仅简单的拷贝。 因此请, **不要 ** 完全地按照我所作的并复制到你的计算机。阅读服务的描述并自己判断去决定是否需要保留他们。例如, 在我的电脑上我关闭GDM用终端引导,但是如果你看到终端感到一点都不舒服,你应该保留GDM或KDM直接引导到用户图形界面。
2.如果你对开机服务有疑问并且确实对该服务是什么不是很确定,在此张贴问题并且看看是否有人能帮助你。在你行动之前如果你不知道。保持系统安全的底线是让一种服务开着而不是关闭它,如果你不理解的该服务的话。
3. 如果你在你机器上见过一个开机服务但不在这里,告知我们它是什么正如我在这里做的一样 –给一些说明和建议关于是否它应该在一台正常的便携电脑或者桌面环境上开或关。
I. 安装一个工具 - sysv-rc-conf。 它是一款基于perl的开机进程调整工具。
代码:
sudo apt-get update
sudo apt-get install sysv-rc-conf
它提供一种配置开机进程和运行等级的简单方法,但是如果你想要通过链接/解除链接文件来手工操作的话,这不是必需的... 这由你决定
II. Ok,一切就绪。现在让我们通过以下代码来激发它
代码:
sudo sysv-rc-conf
并一个一个的分析每种服务。 **注意 ** 我有的一些服务或许你没有,完全ok。如果一些服务你有但是我没有,你将需要独自研究或者在这里提问 ... 但是此HowTo 涵盖它们中的大多数 ...
在 我们开始搞乱它们之前,我要在这里引入一些运行等级知识 ....全部开机进程执行顺序如下:
运行等级 S:开机进程中的第一个运行等级。/etc/init.d/rcS脚本将被调用到开启并且/etc/rcS.d目录下的所有进程将被执行。
运行等级 1:单用户模式。/etc/rc1.d目录下的所有进程将被执行。
运行等级 2,3,4,5:在debian系统里是多用户环境,可能不包含图形用户界面。同样的,在相应目录下的进程将被运行。
**注意**
这和RedHat,SuSE,以及其它基于RPM的系统不同。运行等级 0:关闭计算机;
运行等级 6:重起计算机。
好,让我们回到sysv-rc-conf:1. acpi-support - 在S运行等级你最好使其处于“X”状态。
2. acpid - acpi守护程序.这两个用于电源管理,对于笔记本和台式电脑很重要,所以让它们开启。
3. alsa - 如果你使用alsa声音子系统,是的,开启它。
4. alsa-utils -在我系统里,此服务取代了alsa,所以我关闭了alsa并在S运行等级将此服务开启。**注意**,我所说的“关闭”是指在所有运行等级里面去除所有 “X”。如果在你系统里没有它,没问题。让我们继续。
5. anacron - 一个cron子系统,当时间到达时用于执行任何没有被执行的cron作业。当某种cron 作业时间准备好时,很可能你或许已经关闭了你的计算机。打个比方,updatedb被计划在每天2点执行,但是在那个时候,你的计算机是关闭的,然后如果 ananron服务如果是开启的话,它将设法抓起那个updatedb cron… 我将它关闭是因为我不经常关闭我的笔记本,但是是否开启此服务完全取决于你。
6. apmd - 这是十分困惑我的一个服务。我已经开启了acpid服务,那同时开启apmd有啥好处呢?如果你的计算机不是那么老,甚至不能支持acpi,然后你可以设 法关闭它。无论如何,我是关闭它的。
7. atd - 就像cron,一个作业调度程序。我把它关了
8. binfmt-support - 核心支持其他二进制的文件格式。我让它开着
9. bluez-utiles - 我把它关了因为我没有任何蓝牙设备
10. bootlogd - 开启它
11. cron – 开启它
12. cupsys – 管理打印机的子系统。我没有打印机所以我关闭它了,如果你有打印机,开启他。
13. dbus – 消息总线系统(message bus system)。非常重要,开启它。
14. dns-clean – 当使用拨号连接,主要用于清除dns信息。我不用拨号,所以我关闭它。
15. evms – 企业卷管理系统(Enterprise Volumn Management system). 我关闭它。
16. fetchmail – 一个邮件接受守护进程,我关闭它。17. gdm – gnome桌面管理器。无论如何我关闭它了,因为我将系统用终端引导。如果你想直接引导到图形用户界面,这取决于你。
18. gdomap – 事实上我也不知道为什么此服务必需开启。我没有在其他系统看见这个守护程序,所以我将其关闭并且我没觉得我失去了什么。开启它对笔记本或者台式机由任何好 处吗?
19. gpm – 终端鼠标支持。如果你觉得你在终端使用鼠标更好,那么在运行等级 1 和2 开启它。那是你所需要的。
20. halt - 别更改它。
21. hdparm – 调整硬盘的脚本。我在运行等级 2,3,4,5去除了它但是在S 运行等级添加了它。我觉得早点打开DMA,32bit I/O等等将对其余过程有益。我自己也将原来的脚本精简了一下。如果我知道我正做什么,我觉得做过多的检查没用。相应配置文件是 /etc/hdparm.conf。
22. hibernate – 如果你的系统支持休眠,把它打开,否则他对你没用。
23. hotkey-setup – 此守护进程为你的笔记本建立一些热键映射。支持的制造商包括: HP, Acer, ASUS, Sony, Dell, 和IBM。如果你有那些品牌的笔记本,你可以打开它,否则它或许对你没有任何好处。
24. hotplug and hotplug-net #激活热插拔系统是费时的。我将考虑关掉它们。我在我的/etc/network/interfaces文件作了很多更改,并将其设置为自动运行,而不是 在热插拔进程期间映射我的无线网卡。所以我可以将它们关掉。我已经测试过了,甚至我将它们关闭,ubuntu仍旧可以检测到我的usb驱动器,我的数码相 机,等等。所以我认为关掉它们是很安全的**注意**如果在关闭热插拔服务以后发现你的声卡部工作了,你可以将服务打开,或者编辑 /etc/modules文件并添加声卡驱动模块。经测试,后者比较快。
25. hplip – HP打印机和图形子系统,我将其关闭。
26. ifrename – 网络接口重命名(network interface rename)脚本。听上去很酷但是我把它关掉了。主要用于管理多网络接口名称。虽然我有无线网卡和以太网卡,两者被内核标识为eth0和ath0,所以 此服务对我不是很有用。
27. ifupdown and ifupdown-clean – 打开它,它们是开机时网络及口激活脚本。
28. inetd or inetd.real – 查看文件/etc/inetd.conf 注释掉所有你不需要的服务。如果该文件不包含任何服务,那关闭它是很安全的。
29. klogd – 打开它。
30. linux-restricted-modules-common – 你应该去查看下是否你的系统装载有任何受限制的模块。既然我需要madwifi ath_pci 模块,所以我将其开启。受限制的模块可以从/lib/linux-restricted-modules查看到。如果你发现你没有使用任何受限制的模块, 那关掉这个服务没事。
31. lvm – 我没有使用逻辑卷所以我将此服务关闭。让它开启如果你 *确实* 有lvm(lvm是逻辑卷管理器在此不再扩充).
32. makedev – 打开它。
33. mdamd – Raid管理工具。不使用Raid所以我将此服务关闭。
34. module-init-tools – 从/etc/modules加载扩展模块。你可以研究/etc/modules文件查看是否有一些你不需要的模块。通常我们将此服务开启。
35. networking – 在启动期间通过扫描/etc/network/interfaces文件增加网络接口和配置dns信息。让它开着。
36. ntpdate – 通过ubuntu时间服务器同步时间。在开机的时候我不需要它,故我关掉了此服务。
37. nvidia-kernel – 我自己编译了nvidia驱动,所以此服务对我没用。如果你从受限制模块中使用nvidia驱动,那打开此服务。
38. pcmcia – 激活pcmica设备。我将此服务打开在S运行等级而不是分别在2,3,4,5运行等级打开此服务,因为我觉得起先让硬件设备准备更好。如果你在使用没有pcmica卡的台式机的话,请关闭此服务。
39. portmap – 管理像nis,nfs等等之类服务的守护程序。如果你的笔记本或台式机是纯粹的客户端,那么关闭此服务。
40. powernowd – 管理CPU频率的客户端程序。主要用于支持CPU speed stepping技术的笔记本。通常如果你在配置一台笔记本,你应该开启此服务。如果是台式机,那此服务应该没有用。
41. ppp and ppp-dns - 对我没用,我不使用拨号。
42. readahead - **感谢 mr_pouit!** readahead似乎是一种“预加载程序”。在开机时它将一些库文件加载到内存,以便一些程序启动的更快。但是它给启动时间增加了3-4秒。所以,你可 以留着它…或者不。**更新**,经我测试我觉得加载程序没有什么不同。所以我决定关闭此服务。如果你有打开此服务的理由,那就打开它。
43. reboot - 别更改它。
44. resolvconf – 按照你的网络状态自动配置DSN信息,我将它打开着。
45. rmnologin – 如果发现nologin,那么去除它。此情况不会在笔记本上面发生,所以我摆脱它。
46. rsync – rsync守护程序. 我不打算在我的笔记本上使用rsync协议,所以我将其关闭
47. sendsigs – 在重启和关机期间发送信号。顺其自然。
48. single – 激活单用户模式。顺其自然。
49. ssh – ssh守护程序。我需要ssh,所以我将此服务打开。
50. stop-bootlogd – 从2,3,4,5运行等级停止bootlogd。顺其自然。
51. sudo – 检查sudo 状态。我没在一台笔记本或者台式机客户端上看到任何使用sudo的好处,因此我关闭了它。
52. sysklogd - 顺其自然。
53. udev and udev-mab – 用户空间dev文件系统(userspace dev filesystem)。好东西,我将它们打开。
54. umountfs - 顺其自然。55. urandom – 随机数生成器。可能没什么用处,但是我留着它。
56. usplash - 嗯,如果你想看到漂亮的开机画面,顺其自然。无论如何沃关闭此服务了。如果你想关闭它,你也可以编辑/boot/grub/menu.lst文件注释掉splashimage行,除去开机splash核心选项。
57. vbesave – 显卡BIOS配置工具。它能保存你显卡的状态。我将其开启。
58. xorg-common – 设置X服务ICE socket。我将其从在S运行等级开启移动到2,3,4,5,运行等级。如果我引导到单用户模式,那我不需要此服务。在最初引导期间这种方法将不占用时间。
59. adjtimex – 这也是调整核心hw时钟的工具。通常你不会在开机列表中看见它。在非常少有的情况如果你确实在开机进程中看见它了,事出有因,因此最好顺其自然。在我的情况里,它是关闭的。
60. dirmngr – 证书列表管理工具(certification lists management tool)。和gnupg一起工作。你必须看看你是否需要它。在我的情况里,我是关掉它的。
61. hwtools – 一个优化irqs的工具。不确定打开它的好处。在我的情况里,我是关掉它的。 62. libpam-devperm - 在系统崩溃之后用于修理设备文件许可的一个守护程序。听起来不错,因此我打开它了。
63. lm-sensors – 如果你的主板内建一些传感芯片,通过用户空间(userspace)查看hw状态可能是有帮助的。我运行了它,但是它提示“没有发现传感器”,因此我关闭 了此服务。
64. mdadm-raid – 作用和mdadm服务相同。用来管RAID设备。如果你没有此类设备,那尽管关掉它好了。
65. screen-cleanup – 一个用来清除开机屏幕的脚本。嗯,是否关闭它有你决定。在我的情况里,我打开它了。
66. xinetd – 用来管理其他守护进程的一个inetd超级守护程序。在我的系统里,xinetd管理chargen, daytime, echo和time (在 /etc/xinetd.d 目录找到的),我不关系任何一个,因此我关掉了此服务。如果在xinetd下你确实有一些重要的服务,那打开它。
阅读全文...
无密码进入单用户root模式
作为一个Linux系统管理员,你可能会把Linux 超级用户密码遗忘了,把/etc/inittab或/etc/rc.d/rc.sysinit之类文件误编辑,导致系统不能正常启动的恼人错误?
而为了解决以上问题,你就需要进到linux根文件系统处于可读写状态的单用户模式下。
下面介绍在GRUB引导下进入Linux单用户模式的三种方式:
(1) 硬件环境:
intel P4 / 1G RAM / sata 80G
(2) 软件环境:
1)Fedora Core 3(以下简称为FC3)和Windows2000 advance server双系统
2)LVM管理Linux分区
3)/boot/grub/grub.conf文件内容:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=1000
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.9-1.667)
root (hd0,2)
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.9-1.667.img
title windows 2000 adv
rootnoverify (hd0,0)
chainloader +1
首先,启动电脑,屏幕出现如下提示:
Press any key to enter the menu Booting windows 2000 adv in 999 seconds…
按任一键跳过计时,进入下一步:
GNU GRUB version 0.95 (639K lower/103924K upper memory) Fedora Core (2.6.9-1.667) Windows 2000 adv
下面是GRUB的提示:
‘e’ 在booting前编辑启动命令行
‘a’ 在booting前编辑kernel的参数
‘c’进入grub命令行
由此按‘e’、a’、‘c’三个不同的键,进入三种不同的操作:
1.快速法:
选择Fedora Core (2.6.9-1.667)菜单,
按a键:
grub append>ro root=/dev/VolGroup00/LogVol00 rhgb quiet
修改成:
grub append>ro root=/dev/VolGroup00/LogVol00 single quiet
按ENTER键完成修改并booting进入Linux单用户模式
sh-3.00#
2.简便法:
选择Fedora Core (2.6.9-1.667)菜单,
按e键:
root (hd0,2)
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.9-1.667.img 选择kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet命令行
按e键:
grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
修改成:
grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 single quiet
按ENTER键完成修改
按b键booting进入Linux单用户模式
sh-3.00#
3.手动法:
按c键进入grub命令行:
(在grub命令行下按TAB键可得到grub命令帮助与grub命令的可能选项)
grub>fstest (grub>filesystem tracing is now on)
grub>root (hd0,2)
(指定保存有Linux 内核的分区为第一个硬盘的第三个分区)
grub>filesystem type is ext2fs,partition type 0x83
grub>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 single quiet
(指定内核文件为/boot/vmlinuz-2.6.9-1.667,内核参数为ro—readonly, 根分区为/dev/VolGroup00/LogVol00,rhgb—图形方式启动,quiet—不输出启动信息)
grub>initrd /initrd-2.6.9-1.667.img
(在内核启动前加载支持系统硬件设备的内核模块---initrd镜像文件--/boot/initrd-2.6.9-1.667.img,并初始化RAM disk)
grub>boot
如果系统的配置与脚本文件正确,以上三种方式在Booting command-list中都会出现:
remounting root filesystem in read-write mode:[OK]
表示此时linux单用户模式下的根文件系统处于可读可写状态。
如果系统的配置与脚本文件出现错误,linux单用户模式下的根文件系统进入“read-only file system”既只读状态,此时,打入:
sh-3.00#mount –o remount rw –t ext3 /
让根文件系统重新mount成可读写,你就可以自由编辑出现错误的系统文件了。
阅读全文...
而为了解决以上问题,你就需要进到linux根文件系统处于可读写状态的单用户模式下。
下面介绍在GRUB引导下进入Linux单用户模式的三种方式:
(1) 硬件环境:
intel P4 / 1G RAM / sata 80G
(2) 软件环境:
1)Fedora Core 3(以下简称为FC3)和Windows2000 advance server双系统
2)LVM管理Linux分区
3)/boot/grub/grub.conf文件内容:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,2)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=1000
splashimage=(hd0,2)/grub/splash.xpm.gz
hiddenmenu
title Fedora Core (2.6.9-1.667)
root (hd0,2)
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.9-1.667.img
title windows 2000 adv
rootnoverify (hd0,0)
chainloader +1
首先,启动电脑,屏幕出现如下提示:
Press any key to enter the menu Booting windows 2000 adv in 999 seconds…
按任一键跳过计时,进入下一步:
GNU GRUB version 0.95 (639K lower/103924K upper memory) Fedora Core (2.6.9-1.667) Windows 2000 adv
下面是GRUB的提示:
‘e’ 在booting前编辑启动命令行
‘a’ 在booting前编辑kernel的参数
‘c’进入grub命令行
由此按‘e’、a’、‘c’三个不同的键,进入三种不同的操作:
1.快速法:
选择Fedora Core (2.6.9-1.667)菜单,
按a键:
grub append>ro root=/dev/VolGroup00/LogVol00 rhgb quiet
修改成:
grub append>ro root=/dev/VolGroup00/LogVol00 single quiet
按ENTER键完成修改并booting进入Linux单用户模式
sh-3.00#
2.简便法:
选择Fedora Core (2.6.9-1.667)菜单,
按e键:
root (hd0,2)
kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.9-1.667.img 选择kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet命令行
按e键:
grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
修改成:
grub edit>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 single quiet
按ENTER键完成修改
按b键booting进入Linux单用户模式
sh-3.00#
3.手动法:
按c键进入grub命令行:
(在grub命令行下按TAB键可得到grub命令帮助与grub命令的可能选项)
grub>fstest (grub>filesystem tracing is now on)
grub>root (hd0,2)
(指定保存有Linux 内核的分区为第一个硬盘的第三个分区)
grub>filesystem type is ext2fs,partition type 0x83
grub>kernel /vmlinuz-2.6.9-1.667 ro root=/dev/VolGroup00/LogVol00 single quiet
(指定内核文件为/boot/vmlinuz-2.6.9-1.667,内核参数为ro—readonly, 根分区为/dev/VolGroup00/LogVol00,rhgb—图形方式启动,quiet—不输出启动信息)
grub>initrd /initrd-2.6.9-1.667.img
(在内核启动前加载支持系统硬件设备的内核模块---initrd镜像文件--/boot/initrd-2.6.9-1.667.img,并初始化RAM disk)
grub>boot
如果系统的配置与脚本文件正确,以上三种方式在Booting command-list中都会出现:
remounting root filesystem in read-write mode:[OK]
表示此时linux单用户模式下的根文件系统处于可读可写状态。
如果系统的配置与脚本文件出现错误,linux单用户模式下的根文件系统进入“read-only file system”既只读状态,此时,打入:
sh-3.00#mount –o remount rw –t ext3 /
让根文件系统重新mount成可读写,你就可以自由编辑出现错误的系统文件了。
阅读全文...
Labels:
常见问题
解决RealPlayer和Adobe Reader在SCIM环境下打不开的方法
打开Realplayer的startup script文件(默认位置为file:/usr/local/RealPlayer/realplay),直接在以#!/bin/sh开头的第一行下面(也就是第二行)添加下面语句:
export GTK_IM_MODULE=xim
呵呵,这样在scim环境中就可以正常打开和使用RealPlayer 10 Gold for Linux了。
Adobe Reader for Linux以及其他的程序也可以用相同的方法解决。
部分启动脚本被gedit编辑器认为bin二进制文件,为了保证脚本的正常打开,请使用vi编辑器,简单稳定。
阅读全文...
export GTK_IM_MODULE=xim
呵呵,这样在scim环境中就可以正常打开和使用RealPlayer 10 Gold for Linux了。
Adobe Reader for Linux以及其他的程序也可以用相同的方法解决。
部分启动脚本被gedit编辑器认为bin二进制文件,为了保证脚本的正常打开,请使用vi编辑器,简单稳定。
阅读全文...
Labels:
常见问题
如何在ubuntu下安装TTF字体
把字体文件copy到/usr/share/fonts/xxx,xxx是你自己取的文件名,我的是ttf文件夹,然后
,然后执行
然后就是
在xorg.conf里加入字体路径(在ubuntu 8.04LTS中可以省略此步骤)
重新启动X-windows,你就可以使用新的Windows TTF字体了!
ubuntu7.04+OpenOffice.org 2.2.0成功。
阅读全文...
| 代码: |
| cd xxx |
| 代码: |
| chmod 744 * |
| 代码: |
| sudo mkfontscale sudo mkfontdir sudo fc-cache -f -v |
FontPath "/path/to/windows/fonts/"
重新启动X-windows,你就可以使用新的Windows TTF字体了!
ubuntu7.04+OpenOffice.org 2.2.0成功。
阅读全文...
Labels:
常见问题
让Abiword默认支持中文显示
方法如下:
先到Abi的模板目录下
cd /usr/share/AbiSuite-2.4/templates
备份normal.awt-zh_CN文件
sudo cp normal.awt-zh_CN normal.awt-zh_CN.backup
修改中文模板的默认字体
sudo gedit normal.awt-zh_CN
找到
font-family:Times New Roman;
把Times New Roman改成你所用的中文字体,如系统里默认的AR PL ShanHeiSun Un等。 保存,重新打开你的abiword,输入几个中文试试,应该就可以正常显示了的。
原来的其他编码的中文文档,就没办法,只能进入后,全选,设置其他字体。
关于粘贴的bug。只能用无格式粘贴,否则中文就乱了。
引自ubuntu中文论坛的eexpress的文章。
http://forum.ubuntu.org.cn/trackback.php?e=759
阅读全文...
先到Abi的模板目录下
cd /usr/share/AbiSuite-2.4/templates
备份normal.awt-zh_CN文件
sudo cp normal.awt-zh_CN normal.awt-zh_CN.backup
修改中文模板的默认字体
sudo gedit normal.awt-zh_CN
找到
font-family:Times New Roman;
把Times New Roman改成你所用的中文字体,如系统里默认的AR PL ShanHeiSun Un等。 保存,重新打开你的abiword,输入几个中文试试,应该就可以正常显示了的。
原来的其他编码的中文文档,就没办法,只能进入后,全选,设置其他字体。
关于粘贴的bug。只能用无格式粘贴,否则中文就乱了。
引自ubuntu中文论坛的eexpress的文章。
http://forum.ubuntu.org.cn/trackback.php?e=759
阅读全文...
Labels:
常见问题
Linux合理分区的方案
在安装Linux系统之初,就应该考虑怎样使linux系统得到最好的性能。linux本身也设计成可以良好扩展的形态,比如在Linux系统中,我们可以随心所欲地组织磁盘分区,有些朋友喜欢一个/,一个swap就搞定,其实这个不是非常科学的选择,本人在多次重装后,总结一些经验,与各位朋友分享,如果有不对的地方,请务必提出批评。
linux也是有磁盘碎片的,所以为了减少碎片,应将内容经常改变的目录放在单独的分区。一个优化的分区策略,可以很好地改进Linux系统的性能,减少磁盘碎片,提高磁盘I/O能力。从方便备份数据的角度考虑,因为很多备份工具对整个分区进行备份的效率很高,所以我们应将Linux系统的几个主要的目录作为单独的文件系统,为它们各自分配一个区。
这里简单介绍下,几个重要的目录,这几个目录在ubuntu安装的硬盘分区时,可选择性的特别分区,进行挂载。
/usr 文件系统中一般不改变的文件,如库,程序。
/var 文件系统包含会改变的文件。
/home 文件系统包含用户家目录,即系统上的所有实际数据。
/tmp 临时文件。
/usr/local 这是提供给一般用户的/usr目录,在这安装软件最适合。
/srv 一些服务起动以后,需要的数据放在这里。
/opt 一些大型程序,安装在这里,方便管理。
/ 根目录,没啥说的。
在分区的时候也是有一定的机巧的,根据磁盘的特点,我们知道越是靠磁盘外部的柱面,旋转越快,而且每次旋转时,磁盘读写头可以覆盖较多的区域,也就意味着靠外部的柱面可以得到较好的性能。所以在分区时,我们应该考虑将访问频率高的,对系统性能影响相对较大的分区置于磁盘的靠外部分。
一个建议的分区:
/ 和其他目录在一个分区,这些基本不做改变。总容量不会超过1G。建议为总容量减去下面三个容量之和。
/home 建议在3-4G,完全看用户的文档和配置文件有多大。
/var /tmp 单独分出一个分区,/var中存放所有apt-get的临时包,/tmp是临时文件,需要起码2G的容量。这是两个文件改变最频繁的目录,单独分出去,让他们自己乱。
/usr /opt 是安装软件的地方,也是容易改变的目录,可以单独分出去8-10G。Linux无论装多少软件,都是不会影响到系统性能的。放心大胆地装吧。
阅读全文...
linux也是有磁盘碎片的,所以为了减少碎片,应将内容经常改变的目录放在单独的分区。一个优化的分区策略,可以很好地改进Linux系统的性能,减少磁盘碎片,提高磁盘I/O能力。从方便备份数据的角度考虑,因为很多备份工具对整个分区进行备份的效率很高,所以我们应将Linux系统的几个主要的目录作为单独的文件系统,为它们各自分配一个区。
这里简单介绍下,几个重要的目录,这几个目录在ubuntu安装的硬盘分区时,可选择性的特别分区,进行挂载。
/usr 文件系统中一般不改变的文件,如库,程序。
/var 文件系统包含会改变的文件。
/home 文件系统包含用户家目录,即系统上的所有实际数据。
/tmp 临时文件。
/usr/local 这是提供给一般用户的/usr目录,在这安装软件最适合。
/srv 一些服务起动以后,需要的数据放在这里。
/opt 一些大型程序,安装在这里,方便管理。
/ 根目录,没啥说的。
在分区的时候也是有一定的机巧的,根据磁盘的特点,我们知道越是靠磁盘外部的柱面,旋转越快,而且每次旋转时,磁盘读写头可以覆盖较多的区域,也就意味着靠外部的柱面可以得到较好的性能。所以在分区时,我们应该考虑将访问频率高的,对系统性能影响相对较大的分区置于磁盘的靠外部分。
一个建议的分区:
/ 和其他目录在一个分区,这些基本不做改变。总容量不会超过1G。建议为总容量减去下面三个容量之和。
/home 建议在3-4G,完全看用户的文档和配置文件有多大。
/var /tmp 单独分出一个分区,/var中存放所有apt-get的临时包,/tmp是临时文件,需要起码2G的容量。这是两个文件改变最频繁的目录,单独分出去,让他们自己乱。
/usr /opt 是安装软件的地方,也是容易改变的目录,可以单独分出去8-10G。Linux无论装多少软件,都是不会影响到系统性能的。放心大胆地装吧。
阅读全文...
Labels:
常见问题
在中文Locate下使用英文程序
这个所谓的技巧是用来对付那些设计得比较怪异的程序的,比如河南网通的拨号程序。据河南某Linux友说,在使用ubuntu Linux的时候,需要使用河南网通的拨号,但是拨号程序中指定的一个设备在locate=zh_CN.utf-8的时候,居然输出的是中文名字,比如hda输出成第一个IDE口上的硬盘。
这还了得?莫非要把Locate设置成en_US,然后再wine中文之星?
经过了多方验证和求教,找到的解决方法却异常简单,也凸现了Linux的DIY神力,只需要在执行脚本前面加一行:
export LANG=en_US
使程序执行的时候为英文环境,问题就解决了?!
阅读全文...
这还了得?莫非要把Locate设置成en_US,然后再wine中文之星?
经过了多方验证和求教,找到的解决方法却异常简单,也凸现了Linux的DIY神力,只需要在执行脚本前面加一行:
export LANG=en_US
使程序执行的时候为英文环境,问题就解决了?!
阅读全文...
Labels:
常见问题
如何编译Linux的内核
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要重新编译内核。本文将以RedHat Linux 6.0(kernel 2.2.5)为操作系统平台,介绍在Linux上进行内核编译的方法。
一、 下载新内核的源代码
目前,在Internet上提供Linux源代码的站点有很多,读者可以选择一个速度较快的站点下载。笔者是从站点http://www.kernelnotes.org/上下载了Linux的最新开发版内核2.3.14的源代码,全部代码被压缩到一个名叫Linux-2.3.14.tar.gz的文件中。
二、 释放内核源代码
由于源代码放在一个压缩文件中,因此在配置内核之前,要先将源代码释放到指定的目录下。首先以root帐号登录,然后进入/usr/src子目录。如果用户在安装Linux时,安装了内核的源代码,则会发现一个linux-2.2.5的子目录。该目录下存放着内核2.2.5的源代码。此外,还会发现一个指向该目录的链接linux。删除该连接,然后将新内核的源文件拷贝到/usr/src目录中。
(一)、用tar命令释放内核源代码
# cd /usr/src
# tar zxvf Linux-2.3.14.tar.gz
文件释放成功后,在/usr/src目录下会生成一个linux子目录。其中包含了内核2.3.14的全部源代码。
(二)、将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接/usr/src/linux/include目录下的对应目录中。
# cd /usr/include
# rm -Rf asm linux
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
(三)、删除源代码目录中残留的.o文件和其它从属文件。
# cd /usr/src/linux
# make mrproper
三、 配置内核
(一)、启动内核配置程序。
# cd /usr/src/linux
# make config
除了上面的命令,用户还可以使用make menuconfig命令启动一个菜单模式的配置界面。如果用户安装了X window系统,还可以执行make xconfig命令启动X window下的内核配置程序。
(二)、配置内核
Linux的内核配置程序提供了一系列配置选项。对于每一个配置选项,用户可以回答"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;"n"表示内核不提供相应特性或驱动程序的支持。由于内核的配置选项非常多,本文只介绍一些比较重要的选项。
1、Code maturity level options(代码成熟度选项)
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [N/y/?] 如果用户想要使用还处于测试阶段的代码或驱动,可以选择“y”。如果想编译出一个稳定的内核,则要选择“n”。
1、 Processor type and features(处理器类型和特色)
(1)、Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC, PPro/6x86MX) [PPro/6x86MX] 选择处理器类型,缺省为Ppro/6x86MX。
(2)、Maximum Physical Memory (1GB, 2GB) [1GB] 内核支持的最大内存数,缺省为1G。
(3)、Math emulation (CONFIG_MATH_EMULATION) [N/y/?] 协处理器仿真,缺省为不仿真。
(4)、MTRR (Memory Type Range Register) support (CONFIG_MTRR) [N/y/?] 选择该选项,系统将生成/proc/mtrr文件对MTRR进行管理,供X server使用。
(5)、Symmetric multi-processing support (CONFIG_SMP) [Y/n/?] 选择“y”,内核将支持对称多处理器。
2、 Loadable module support(可加载模块支持)
(1)、Enable loadable module support (CONFIG_MODULES) [Y/n/?] 选择“y”,内核将支持加载模块。
(2)、Kernel module loader (CONFIG_KMOD) [N/y/?] 选择“y”,内核将自动加载那些可加载模块,否则需要用户手工加载。
3、 General setup(一般设置)
(1)、Networking support (CONFIG_NET) [Y/n/?] 该选项设置是否在内核中提供网络支持。
(2)、PCI support (CONFIG_PCI) [Y/n/?] 该选项设置是否在内核中提供PCI支持。
(3)、PCI access mode (BIOS, Direct, Any) [Any] 该选项设置Linux探测PCI设备的方式。选择“BIOS”,Linux将使用BIOS;选择“Direct”,Linux将不通过BIOS;选择“Any”,Linux将直接探测PCI设备,如果失败,再使用BIOS。
(4)Parallel port support (CONFIG_PARPORT) [N/y/m/?] 选择“y”,内核将支持平行口。
4、 Plug and Play configuration(即插即用设备支持)
(1)、Plug and Play support (CONFIG_PNP) [Y/m/n/?] 选择“y”,内核将自动配置即插即用设备。
(2)、ISA Plug and Play support (CONFIG_ISAPNP) [Y/m/n/?] 选择“y”,内核将自动配置基于ISA总线的即插即用设备。
5、 Block devices(块设备)
(1)、Normal PC floppy disk support (CONFIG_BLK_DEV_FD) [Y/m/n/?] 选择“y”,内核将提供对软盘的支持。
(2)、Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (CONFIG_BLK_DEV_IDE) [Y/m/n/?] 选择“y”,内核将提供对增强IDE硬盘、CDROM和磁带机的支持。
6、 Networking options(网络选项)
(1)、Packet socket (CONFIG_PACKET) [Y/m/n/?] 选择“y”,一些应用程序将使用Packet协议直接同网络设备通讯,而不通过内核中的其它中介协议。
(2)、Network firewalls (CONFIG_FIREWALL) [N/y/?] 选择“y”,内核将支持防火墙。
(3)、TCP/IP networking (CONFIG_INET) [Y/n/?] 选择“y”,内核将支持TCP/IP协议。
(4)The IPX protocol (CONFIG_IPX) [N/y/m/?] 选择“y”,内核将支持IPX协议。
(5)、Appletalk DDP (CONFIG_ATALK) [N/y/m/?] 选择“y”,内核将支持Appletalk DDP协议。
8、SCSI support(SCSI支持)
如果用户要使用SCSI设备,可配置相应选项。
9、Network device support(网络设备支持)
Network device support (CONFIG_NETDEVICES) [Y/n/?] 选择“y”,内核将提供对网络驱动程序的支持。
10、Ethernet (10 or 100Mbit)(10M或100M以太网)
在该项设置中,系统提供了许多网卡驱动程序,用户只要选择自己的网卡驱动就可以了。此外,用户还可以根据需要,在内核中加入对FDDI、PPP、SLIP和无线LAN(Wireless LAN)的支持。
11、Character devices(字符设备)
(1)、Virtual terminal (CONFIG_VT) [Y/n/?] 选择“y”,内核将支持虚拟终端。
(2)、Support for console on virtual terminal (CONFIG_VT_CONSOLE) [Y/n/?]
选择“y”,内核可将一个虚拟终端用作系统控制台。
(3)、Standard/generic (dumb) serial support (CONFIG_SERIAL) [Y/m/n/?]
选择“y”,内核将支持串行口。
(4)、Support for console on serial port (CONFIG_SERIAL_CONSOLE) [N/y/?]
选择“y”,内核可将一个串行口用作系统控制台。
12、Mice(鼠标) PS/2 mouse (aka "auxiliary device") support (CONFIG_PSMOUSE) [Y/n/?] 如果用户使用的是PS/2鼠标,则该选项应该选择“y”。
13、Filesystems(文件系统)
(1)、Quota support (CONFIG_QUOTA) [N/y/?] 选择“y”,内核将支持磁盘限额。
(2)、Kernel automounter support (CONFIG_AUTOFS_FS) [Y/m/n/?] 选择“y”,内核将提供对automounter的支持,使系统在启动时自动 mount远程文件系统。
(3)、DOS FAT fs support (CONFIG_FAT_FS) [N/y/m/?] 选择“y”,内核将支持DOS FAT文件系统。
(4)、ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/m/n/?]
选择“y”,内核将支持ISO 9660 CDROM文件系统。
(5)、NTFS filesystem support (read only) (CONFIG_NTFS_FS) [N/y/m/?]
选择“y”,用户就可以以只读方式访问NTFS文件系统。
(6)、/proc filesystem support (CONFIG_PROC_FS) [Y/n/?] /proc是存放Linux系统运行状态的虚拟文件系统,该项必须选择“y”。
(7)、Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] EXT2是Linux的标准文件系统,该项也必须选择“y”。
14、Network File Systems(网络文件系统)
(1)、NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?] 选择“y”,内核将支持NFS文件系统。
(2)、SMB filesystem support (to mount WfW shares etc.) (CONFIG_SMB_FS) 选择“y”,内核将支持SMB文件系统。
(3)、NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS) 选择“y”,内核将支持NCP文件系统。
15、Partition Types(分区类型)
该选项支持一些不太常用的分区类型,用户如果需要,在相应的选项上选择“y”即可。
16、Console drivers(控制台驱动)
VGA text console (CONFIG_VGA_CONSOLE) [Y/n/?] 选择“y”,用户就可以在标准的VGA显示方式下使用Linux了。
17、Sound(声音)
Sound card support (CONFIG_SOUND) [N/y/m/?] 选择“y”,内核就可提供对声卡的支持。
18、Kernel hacking(内核监视)
Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?] 选择“y”,用户就可以对系统进行部分控制。一般情况下选择“n”。
四、 编译内核
(一)、建立编译时所需的从属文件
# cd /usr/src/linux
# make dep
(二)、清除内核编译的目标文件
# make clean
(三)、编译内核
# make zImage
内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件zImage。如果编译的内核很大的话,系统会提示你使用make bzImage命令来编译。这时,编译程序就会生成一个名叫bzImage的内核映像文件。
(四)、编译可加载模块
如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。
# make modules
# make modelus_install
编译成功后,系统会在/lib/modules目录下生成一个2.3.14子目录,里面存放着新内核的所有可加载模块。
五、 启动新内核
(一)、将新内核和System.map文件拷贝到/boot目录下
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.3.14
# cp /usr/src/linux/System.map /boot/System.map-2.3.14
# cd /boot
# rm -f System.map
# ln -s System.map-2.3.14 System.map
(二)、配置/etc/lilo.conf文件。在该文件中加入下面几行:
default=linux-2.3.14
image=/boot/vmlinuz-2.3.14
label=linux-2.3.14
root=/dev/hda1
read-only
(三)、使新配置生效
# /sbin/lilo
(四)、重新启动系统
# /sbin/reboot
新内核如果不能正常启动,用户可以在LILO:提示符下启动旧内核。然后查出故障原因,重新编译新内核即可。
阅读全文...
一、 下载新内核的源代码
目前,在Internet上提供Linux源代码的站点有很多,读者可以选择一个速度较快的站点下载。笔者是从站点http://www.kernelnotes.org/上下载了Linux的最新开发版内核2.3.14的源代码,全部代码被压缩到一个名叫Linux-2.3.14.tar.gz的文件中。
二、 释放内核源代码
由于源代码放在一个压缩文件中,因此在配置内核之前,要先将源代码释放到指定的目录下。首先以root帐号登录,然后进入/usr/src子目录。如果用户在安装Linux时,安装了内核的源代码,则会发现一个linux-2.2.5的子目录。该目录下存放着内核2.2.5的源代码。此外,还会发现一个指向该目录的链接linux。删除该连接,然后将新内核的源文件拷贝到/usr/src目录中。
(一)、用tar命令释放内核源代码
# cd /usr/src
# tar zxvf Linux-2.3.14.tar.gz
文件释放成功后,在/usr/src目录下会生成一个linux子目录。其中包含了内核2.3.14的全部源代码。
(二)、将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接/usr/src/linux/include目录下的对应目录中。
# cd /usr/include
# rm -Rf asm linux
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
(三)、删除源代码目录中残留的.o文件和其它从属文件。
# cd /usr/src/linux
# make mrproper
三、 配置内核
(一)、启动内核配置程序。
# cd /usr/src/linux
# make config
除了上面的命令,用户还可以使用make menuconfig命令启动一个菜单模式的配置界面。如果用户安装了X window系统,还可以执行make xconfig命令启动X window下的内核配置程序。
(二)、配置内核
Linux的内核配置程序提供了一系列配置选项。对于每一个配置选项,用户可以回答"y"、"m"或"n"。其中"y"表示将相应特性的支持或设备驱动程序编译进内核;"m"表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去;"n"表示内核不提供相应特性或驱动程序的支持。由于内核的配置选项非常多,本文只介绍一些比较重要的选项。
1、Code maturity level options(代码成熟度选项)
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [N/y/?] 如果用户想要使用还处于测试阶段的代码或驱动,可以选择“y”。如果想编译出一个稳定的内核,则要选择“n”。
1、 Processor type and features(处理器类型和特色)
(1)、Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC, PPro/6x86MX) [PPro/6x86MX] 选择处理器类型,缺省为Ppro/6x86MX。
(2)、Maximum Physical Memory (1GB, 2GB) [1GB] 内核支持的最大内存数,缺省为1G。
(3)、Math emulation (CONFIG_MATH_EMULATION) [N/y/?] 协处理器仿真,缺省为不仿真。
(4)、MTRR (Memory Type Range Register) support (CONFIG_MTRR) [N/y/?] 选择该选项,系统将生成/proc/mtrr文件对MTRR进行管理,供X server使用。
(5)、Symmetric multi-processing support (CONFIG_SMP) [Y/n/?] 选择“y”,内核将支持对称多处理器。
2、 Loadable module support(可加载模块支持)
(1)、Enable loadable module support (CONFIG_MODULES) [Y/n/?] 选择“y”,内核将支持加载模块。
(2)、Kernel module loader (CONFIG_KMOD) [N/y/?] 选择“y”,内核将自动加载那些可加载模块,否则需要用户手工加载。
3、 General setup(一般设置)
(1)、Networking support (CONFIG_NET) [Y/n/?] 该选项设置是否在内核中提供网络支持。
(2)、PCI support (CONFIG_PCI) [Y/n/?] 该选项设置是否在内核中提供PCI支持。
(3)、PCI access mode (BIOS, Direct, Any) [Any] 该选项设置Linux探测PCI设备的方式。选择“BIOS”,Linux将使用BIOS;选择“Direct”,Linux将不通过BIOS;选择“Any”,Linux将直接探测PCI设备,如果失败,再使用BIOS。
(4)Parallel port support (CONFIG_PARPORT) [N/y/m/?] 选择“y”,内核将支持平行口。
4、 Plug and Play configuration(即插即用设备支持)
(1)、Plug and Play support (CONFIG_PNP) [Y/m/n/?] 选择“y”,内核将自动配置即插即用设备。
(2)、ISA Plug and Play support (CONFIG_ISAPNP) [Y/m/n/?] 选择“y”,内核将自动配置基于ISA总线的即插即用设备。
5、 Block devices(块设备)
(1)、Normal PC floppy disk support (CONFIG_BLK_DEV_FD) [Y/m/n/?] 选择“y”,内核将提供对软盘的支持。
(2)、Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (CONFIG_BLK_DEV_IDE) [Y/m/n/?] 选择“y”,内核将提供对增强IDE硬盘、CDROM和磁带机的支持。
6、 Networking options(网络选项)
(1)、Packet socket (CONFIG_PACKET) [Y/m/n/?] 选择“y”,一些应用程序将使用Packet协议直接同网络设备通讯,而不通过内核中的其它中介协议。
(2)、Network firewalls (CONFIG_FIREWALL) [N/y/?] 选择“y”,内核将支持防火墙。
(3)、TCP/IP networking (CONFIG_INET) [Y/n/?] 选择“y”,内核将支持TCP/IP协议。
(4)The IPX protocol (CONFIG_IPX) [N/y/m/?] 选择“y”,内核将支持IPX协议。
(5)、Appletalk DDP (CONFIG_ATALK) [N/y/m/?] 选择“y”,内核将支持Appletalk DDP协议。
8、SCSI support(SCSI支持)
如果用户要使用SCSI设备,可配置相应选项。
9、Network device support(网络设备支持)
Network device support (CONFIG_NETDEVICES) [Y/n/?] 选择“y”,内核将提供对网络驱动程序的支持。
10、Ethernet (10 or 100Mbit)(10M或100M以太网)
在该项设置中,系统提供了许多网卡驱动程序,用户只要选择自己的网卡驱动就可以了。此外,用户还可以根据需要,在内核中加入对FDDI、PPP、SLIP和无线LAN(Wireless LAN)的支持。
11、Character devices(字符设备)
(1)、Virtual terminal (CONFIG_VT) [Y/n/?] 选择“y”,内核将支持虚拟终端。
(2)、Support for console on virtual terminal (CONFIG_VT_CONSOLE) [Y/n/?]
选择“y”,内核可将一个虚拟终端用作系统控制台。
(3)、Standard/generic (dumb) serial support (CONFIG_SERIAL) [Y/m/n/?]
选择“y”,内核将支持串行口。
(4)、Support for console on serial port (CONFIG_SERIAL_CONSOLE) [N/y/?]
选择“y”,内核可将一个串行口用作系统控制台。
12、Mice(鼠标) PS/2 mouse (aka "auxiliary device") support (CONFIG_PSMOUSE) [Y/n/?] 如果用户使用的是PS/2鼠标,则该选项应该选择“y”。
13、Filesystems(文件系统)
(1)、Quota support (CONFIG_QUOTA) [N/y/?] 选择“y”,内核将支持磁盘限额。
(2)、Kernel automounter support (CONFIG_AUTOFS_FS) [Y/m/n/?] 选择“y”,内核将提供对automounter的支持,使系统在启动时自动 mount远程文件系统。
(3)、DOS FAT fs support (CONFIG_FAT_FS) [N/y/m/?] 选择“y”,内核将支持DOS FAT文件系统。
(4)、ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/m/n/?]
选择“y”,内核将支持ISO 9660 CDROM文件系统。
(5)、NTFS filesystem support (read only) (CONFIG_NTFS_FS) [N/y/m/?]
选择“y”,用户就可以以只读方式访问NTFS文件系统。
(6)、/proc filesystem support (CONFIG_PROC_FS) [Y/n/?] /proc是存放Linux系统运行状态的虚拟文件系统,该项必须选择“y”。
(7)、Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] EXT2是Linux的标准文件系统,该项也必须选择“y”。
14、Network File Systems(网络文件系统)
(1)、NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?] 选择“y”,内核将支持NFS文件系统。
(2)、SMB filesystem support (to mount WfW shares etc.) (CONFIG_SMB_FS) 选择“y”,内核将支持SMB文件系统。
(3)、NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS) 选择“y”,内核将支持NCP文件系统。
15、Partition Types(分区类型)
该选项支持一些不太常用的分区类型,用户如果需要,在相应的选项上选择“y”即可。
16、Console drivers(控制台驱动)
VGA text console (CONFIG_VGA_CONSOLE) [Y/n/?] 选择“y”,用户就可以在标准的VGA显示方式下使用Linux了。
17、Sound(声音)
Sound card support (CONFIG_SOUND) [N/y/m/?] 选择“y”,内核就可提供对声卡的支持。
18、Kernel hacking(内核监视)
Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?] 选择“y”,用户就可以对系统进行部分控制。一般情况下选择“n”。
四、 编译内核
(一)、建立编译时所需的从属文件
# cd /usr/src/linux
# make dep
(二)、清除内核编译的目标文件
# make clean
(三)、编译内核
# make zImage
内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件zImage。如果编译的内核很大的话,系统会提示你使用make bzImage命令来编译。这时,编译程序就会生成一个名叫bzImage的内核映像文件。
(四)、编译可加载模块
如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。
# make modules
# make modelus_install
编译成功后,系统会在/lib/modules目录下生成一个2.3.14子目录,里面存放着新内核的所有可加载模块。
五、 启动新内核
(一)、将新内核和System.map文件拷贝到/boot目录下
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.3.14
# cp /usr/src/linux/System.map /boot/System.map-2.3.14
# cd /boot
# rm -f System.map
# ln -s System.map-2.3.14 System.map
(二)、配置/etc/lilo.conf文件。在该文件中加入下面几行:
default=linux-2.3.14
image=/boot/vmlinuz-2.3.14
label=linux-2.3.14
root=/dev/hda1
read-only
(三)、使新配置生效
# /sbin/lilo
(四)、重新启动系统
# /sbin/reboot
新内核如果不能正常启动,用户可以在LILO:提示符下启动旧内核。然后查出故障原因,重新编译新内核即可。
阅读全文...
Labels:
常见问题
ubuntu中安装pdf虚拟打印机
在windows下经常使用pdffactory或者MS Office自带的PDF打印机把一些网页文档等打印成pdf格式。在Linux下很多地方也需要这样一个工具,尤其是linux下的一些文档和 windows下不能兼容时,把资料打印为pdf格式发给windows用户是很不错的选择。下面就是ubuntu中虚拟打印机的安装过程(我也是参考了 Hiweed网站上的一些内容搞定的,感谢开源的好处):
1. 安装cups 和cups-pdf,其中cups-pdf是虚拟打印的主要模块:
sudo apt-get install cups-pdf
2. cups-pdf 的 backend 要求 root 权限,所以设置一下权限:
sudo chmod 4755 /usr/lib/cups/backend/cups-pdf
3.通过 系统-系统管理-正在打印 启动打印机配置向导
4.右键 “新建打印机” 图表-添加 开始添加打印机
5. 使用检测到的打印机 -选择 PDF Printer-前进
6. 制造商 选择 Gneric -PostScript Printer -前进
7. 添入打印机的名称,如:PDFCreater-应用
至此,虚拟pdf打印机添加成功,这样我们在网页、文档、专用软件中都可以把所需的东西用虚拟打印机打印为自己想要的pdf格式。
打印后的文档放在~/pdf下
阅读全文...
1. 安装cups 和cups-pdf,其中cups-pdf是虚拟打印的主要模块:
sudo apt-get install cups-pdf
2. cups-pdf 的 backend 要求 root 权限,所以设置一下权限:
sudo chmod 4755 /usr/lib/cups/backend/cups-pdf
3.通过 系统-系统管理-正在打印 启动打印机配置向导
4.右键 “新建打印机” 图表-添加 开始添加打印机
5. 使用检测到的打印机 -选择 PDF Printer-前进
6. 制造商 选择 Gneric -PostScript Printer -前进
7. 添入打印机的名称,如:PDFCreater-应用
至此,虚拟pdf打印机添加成功,这样我们在网页、文档、专用软件中都可以把所需的东西用虚拟打印机打印为自己想要的pdf格式。
打印后的文档放在~/pdf下
阅读全文...
Labels:
常见问题
在ubuntu中打开Debian Menu
打开应用程序菜单,你或许会疑惑:怎么有些软件没有在里面显示呢?
解释:
Gnome和KDE使用freedesktop.org 最近开发的一种通用菜单格式,使得程序开发者只需要向他们的程序里加入几行文字,就可以让程序自动在菜单里出现。XFCE也使用这种标准。
不过,因为这种标准是最近才开发的,所以Ubuntu软件仓库里的很多软件包里还没有包含这种菜单信息。
好消息是Debian有自己的一套菜单系统(已经用了好几年了),所有使用apt安装的软件都会在Debian菜单里出现。你也可以在Ubuntu里使用它。
安装:
1. 确定你启用了 universe 软件仓库
2. 使用 synaptic 或者 apt-get 安装 menu
3. 在终端运行:
现在打开应用程序菜单,你会发现一个新的子菜单 Debian,里面包含了你安装的所以软件(deb格式)。每当一个使用debian 菜单的软件被安装了,update-menu 就会自动运行。
以上同样适用于kubuntu。Debian菜单会在K菜单里出现。
其他的桌面环境也可以使用Debian 菜单,如果不行(XFCE好像不行?),可以这样:
1 安装pdmenu
2 在终端运行
这样Debian菜单会在ncurses里给出。
有关menu的文档可以在以下目录找到
/usr/share/doc/menu/
帮助页面在
/usr/share/doc/menu/html/
阅读全文...
解释:
Gnome和KDE使用freedesktop.org 最近开发的一种通用菜单格式,使得程序开发者只需要向他们的程序里加入几行文字,就可以让程序自动在菜单里出现。XFCE也使用这种标准。
不过,因为这种标准是最近才开发的,所以Ubuntu软件仓库里的很多软件包里还没有包含这种菜单信息。
好消息是Debian有自己的一套菜单系统(已经用了好几年了),所有使用apt安装的软件都会在Debian菜单里出现。你也可以在Ubuntu里使用它。
安装:
1. 确定你启用了 universe 软件仓库
2. 使用 synaptic 或者 apt-get 安装 menu
3. 在终端运行:
| 代码: |
| sudo update-menus |
现在打开应用程序菜单,你会发现一个新的子菜单 Debian,里面包含了你安装的所以软件(deb格式)。每当一个使用debian 菜单的软件被安装了,update-menu 就会自动运行。
以上同样适用于kubuntu。Debian菜单会在K菜单里出现。
其他的桌面环境也可以使用Debian 菜单,如果不行(XFCE好像不行?),可以这样:
1 安装pdmenu
2 在终端运行
| 代码: |
| pdmenu |
这样Debian菜单会在ncurses里给出。
有关menu的文档可以在以下目录找到
/usr/share/doc/menu/
帮助页面在
/usr/share/doc/menu/html/
阅读全文...
Labels:
常见问题
在ubuntu下实现多媒体播放
1,在/etc/apt/sources.list中添加以下源:
deb http://ubuntu.cn99.com/ubuntu-cn/ feisty main restricted universe multiver
-se
只有这个源中有w32codecs和libdvdcss2解码器。
2,sudo apt-get update
3,安装以下所有的包。
sudo apt-get install
audacious
audacious-plugins
audacious-plugins-extra
libdvdcss2
libdvdnav4
libdvdplay0
libdvdread3
w32codecs
libxine-extracodecs
gstreamer0.10-pitfdll
gstreamer0.10-ffmpeg
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse
gstreamer0.10-plugins-ugly
gstreamer0.10-plugins-ugly-multiverse
4,打开应用程序-添加/删除,安装Mplayer播放器。
你的ubuntu操作系统就可以播放所有的windows多媒体文件了,包括rm和rmvb。
5、附加步骤。如果你觉得Mplayer和Gnome桌面的主题不符合。也可以到www.getdeb.com去
下载gnome-mplayer,一个Mplayer的Gnome前端。
阅读全文...
Labels:
常见问题
Subscribe to:
Posts (Atom)


