标签: Linux

Thinkpad R61笔记本,Linux Ubuntu 11.04 系统下成功安装 安全气囊技术(APS)驱动和充电阀值驱动

安装APS驱动

目前,在多数IBM笔记本中,都应用了一种叫做 APS(Active Protection System,主动保护系统)的技术 ,而IBM官方有时把这种技术形象的称为 Airbag ,安全气囊

相信不少朋友已经知道这种技术的存在了。神马?你还不知道!好吧,这是一段摘录于互联网的介绍,不想看可以无视:

当笔记本电脑硬盘工作时,硬盘磁头在磁盘上方运动,进行数据读取,当撞击力在持续2毫秒内小于200G时,一般可以靠ThinkPad本本本身的外壳与防震设计来减震,避免对硬盘造成损害。而当撞击力在持续2毫秒内超过200G后,损害将会随着撞击能量的加大而加大。

硬盘处于非工作状态时,磁头处于停止区,硬盘在1毫秒内最大可以承受800G的冲击。当撞击超过800G/1毫秒后,损害将会随着撞击能量的加大 而加大(见图右边的函数图)。也就是说如果可以及时将硬盘磁头归位到停止区,则硬盘可以忍受比在工作状态下更大的冲击而不受损害。IBM APS技术就是基于上述原理,在预测到有可能发生撞击后,及时地将磁头移动到停止区以保护硬盘。

根据大量实际调查显示,笔记本电脑在工作状态下跌落的情况绝大部分是从桌面或膝盖上跌落,即从120cm以下高度跌落(通常人的膝盖高度为50cm,桌面高度为80cm),如何能在ThinkPad本本发生撞击之前就将磁头归位,成为了问题的关键所在。

1.磁头归位的时间问题

经测试,磁头的归位时间从接到控制信号到完成操作,根据磁头所处的磁道位置不同,大约为100毫秒到500毫秒。对于20cm高度内自由下落的情况,一般可以靠笔记本电脑的外壳与防震设计抵御撞击力,所以我们仅需要关注20cm以上的跌落情况。而笔记本电脑从20cm至120cm高度掉落下来的时间是202毫秒至495毫秒,再加上笔记本电脑掉落之前的短暂延迟时间,试验表明通常预计发生的时间会多于下跌时间。这就保证磁头能在笔记本电脑发生撞击之前及时归位,有效地保护磁盘。

2.冲击力问题

笔记本电脑要承受怎样的撞击,硬盘才会受到超过800G的冲击力呢?我们知道,硬盘受到的冲击力是由多项因素决定的。首先是笔记本电脑下落的相对高度与初始速率,而一般笔记本电脑在工作状态下跌落的情况绝大部分是从膝盖或桌面上跌落到地板上,相对高度不超过120cm,垂直方向的初始速率基本可以忽略不计;其次是笔记本电脑撞击的表面,硬质无弹性的表面(如水泥地板)可以造成更大的冲击力,软质有弹性的表面(如木地板或铺着地毯的地板)可以略微缓冲碰撞,从而造成较小的冲击;再次是笔记本电脑本身的外壳设计和防震设计。

为了量化在各种情况下硬盘受到的冲击力,IBM实验室特 别针对从膝盖上跌落和从桌面上跌落两种情景进行了大量的实际测试。相关实验数据显示,从膝盖高度(50cm)或从桌面高度(80cm)翻落到硬质无弹性的 水泥地板上,由于有外壳以及冲击吸收垫保护,硬盘受到的冲击力超过200G的几率约为50%,而超过800G的几率不超过2%。

3.规律性颠簸问题

APS功能一旦开启,就一直在监测ThinkPad本本的运动。但用户常常需要移动办公,如在汽车、火车或飞机等交通工具上使用笔记本电 脑,因此颠簸是在所难免的,这些震动要是常触发APS使磁头归位,则ThinkPad用户在使用本本时就会感到本本运行是断断续续的,影响了工作效率。不 过APS技术已经考虑到这个问题,它具有忽略重复震动的功能,能消除移动用户的顾虑。交通工具颠簸造成的冲击力一般并不足以损害硬盘,所以大多数的颠簸都 不会触发APS功能使磁头归位,从而有效保证了ThinkPad用户使用笔记本电脑的流畅性。

智能化的震动预测、有提前量的磁头归位操作,APS的这些重要特性都保证了ThinkPad本本的硬盘以及盘内数据不会轻易受到各种撞击的影响。

比尔盖子最近给一台Lenovo(其实就是IBM) Thinkpad R61安装了Ubuntu 11.04这个Linux发行版,却悲剧的发现APS不工作,后来经过一番疯狂的搜索,知道了以下事实:

在Linux系统中,IBM并没有提供相应的驱动程序让APS正常工作。曾经有一年,IBM宣称将把关于APS的硬件资料公布到开源社区,这听起来很不错,可实际情况是,开发者1年来都没有见到一页资料。后来,有牛人们通过逆向工程编写出了能在Linux下APS的驱动,这下众多Linux IBM笔记本使用者的硬盘才有了安全保证。

看来使用APS还是有戏的,又经过搜索,终于发现了实现方法:

第一步,打开终端,然后输入如下命令:(我是用的 sudo aptitude install,应该没有什么不同。)
sudo apt-get install tp-smapi-dkms
sudo apt-get install python python-gtk2 python-gnome2 hdapsd

第二步,在终端下输入如下命令:
sudo gedit /etc/modules
然后添加“tp_smapi “代码在最后,让它看得和下面的一样:
=====================================
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.
lp
tp_smapi
=====================================

第三步,重新启动,进行测试,看是否工作,在终端下输入如下命令
sudo find /

然后进行抖动你的笔记本,看看是否停止,如果停止了,就说明你成功了,

或者运行:

sudo hdapsd -d sda -s 15 -a -v -y

动动笔记本。看看坐标值在变化吗?

如何调整灵敏度,如下:

在终端下进行如下操作

$ sudo gedit /etc/default/hdapsd

找到如下位置:(默认安装是15, 您可按照自己要求修改,25 30….)

# sensitivity
SENSITIVITY=15

不过,我们还可以在完善APS:在Gnome2的面板上增加一个APS硬盘状态的通知图标,让我们得知硬盘目前是被APS停止还是正常运行。

wget http://www.zen24593.zen.co.uk/hdaps/gnome-hdaps-applet-20081204.tar.gz
 tar -zcvf gnome-hdaps-applet-20081204.tar.gz ./
 sudo apt-get install libpanel-applet2-dev
 cd gnome-hdaps-applet-20081204
 gcc $(pkg-config --cflags --libs libpanelapplet-2.0) -o gnome-hdaps-applet gnome-hdaps-applet.c
 sudo cp gnome-hdaps-applet /usr/bin/
 sudo mkdir /usr/share/pixmaps/gnome-hdaps-applet/
 sudo cp *.png /usr/share/pixmaps/gnome-hdaps-applet/
 sudo cp GNOME_HDAPS_StatusApplet.server /usr/lib/bonobo/servers/

然后,注销,再登录,这时右键点击Gnome面板,选择添加,你会发现多出了一个APS的插件!

这样,我们就完美的实现了APS!

设置电池充电阀值

无论你的笔记本电脑电池用去了多少电力,但连接电源适配器后总会充电至100%,即使你只是用了1%的电——这可不是什么好事!这样充电会缩短电池寿命,最好在电池电力在80%左右的时候再连接电源适配器充电。

但是,靠自己自觉做到这点,有点不靠谱吧。因此,IBM将大部分笔记本的电源管理功能中,增加了电池充电阀值这一功能,可以通过设置,在电池电力低于指定的百分比时开始充电和停止充电,但是在Linux又是没驱动,无法实现。所以我们需要自己安装。

首先,你必须依照本文的第一部分安装APS驱动,因为电池充电阀值和APS使用的是一个驱动。然后就可依照下面的命令设置了。

首先执行:

cat /sys/devices/platform/smapi/BAT0/*_charge_thresh

30 
#--> 低于30%开始充电
100 -
#--> 充电至100%后停止

查看当前的设置,你的和我的结果不一定相同哦!然后用下面的命令修改充电阀值。


sudo su
#切换到root身份
echo 80 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
#低于80%开始充电
echo 100 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
#充电至100%后停止

然后再次执行,果然成功了吧!

cat /sys/devices/platform/smapi/BAT0/*_charge_thresh

80
#--> 低于80%开始充电
100 -
#--> 充电至100%后停止

自动优化及备份网站数据的解决方案(解决了一个困扰我8个月的问题)

2011/05/09日再次更新,脚本还是有变量问题,已修正!

以前,比尔盖子写了一篇关于应用Shell Script和Cron Job来自动备份和优化数据库(远程数据库)的方法,如果想查看比尔盖子写这个脚本的原因和和文章,请猛击这里

两大问题

不过,这段脚本其实是不能用的,因为在语法上出现了一点小小的问题,对,就是那个$stamp变量的写法问题。

但是,困住比尔盖子的并不是这个问题,而是这段脚本根本就无法执行!

PS:如果您不想看比尔盖子解决问题的过程,只想得到一个能用的Script,请直接看“新的解决方案“部分!

(1)执行问题

一执行就会出现Mysql Server Access Denied的提示,一开始是怀疑Godaddy禁止连接,后来发现我将此脚本中的命令一行一行的输入到Shell里面,执行是成功的。

(2)计划任务执行问题

而到了计划任务的时间,比尔盖子就会收到root寄来的邮件,说什么Permissions Denied——还是权限不足。难道是Godaddy还限制了Cron Job计划任务的权限?
就这样,比尔盖子也懒得管它了,一直过了八个月,现在我的邮箱里已经有800多封root寄来的“权限不足报错”的邮件了。

以为问题解决

最近读到了《鸟哥的Linux私房菜》,看到了《Linux文件权限概念》这一章,里面说:“Windows下,一个文件可不可执行要看扩展名,而Linux下文件可不可执行完全看有没有x权限。”

于是马上想到我的Script权限不足的原因可能就在这里!果然如此:只有我自己有rw权限,其它的权限什么都没有,赶紧将权限设置为770!

第二天,我收到了root寄来的邮件。这回Script终于可以执行了,但是执行的结果和我在Shell里面的一样,报错Mysql Server Access Denied。

问题终于解决

今天在学校机房弄了半天,终于发现了这个$stamp变量的问题,于是重写了一个变量,但是依旧Mysql Server Access Denied。有将脚本分行写成Script,一行一行测试,结果发现我新建的脚本上的命令没有任何修改,但是却能执行;而原来脚本上一模一样的内容居然报错!

不但这样,而且当我在服务器上尝试压缩一个文件的时候,明明这个文件在SFTP的列表上是存在的,但是就是提示“No such file or directory”!于是使用ls -l查看一下,发现文件名由“database_backup”变成了”database?_backup”,原来是该死的中文字符编码问题!

回家之后用Linux上的vim重写了(准确的说是重新抄写)了这个Script,上传到服务器,并赋予其“rwxrwx—“的权限,尝试使用Bash执行,成功!

结论

引起比尔盖子困扰的是一下三大问题:

一.文件格式问题

因为Windows下的换行符就和Linux不一样,而且也很难保证这是字符编码没有问题,所以说bash读取到有Windows换行符的文件(脚本)就会误判,导致无法识别真正的命令!

二.变量语法问题

这里面的$stamp变量的语法不正确,导致了备份文件名不正确!

三.权限问题

没有赋予文件(脚本)x权限从而导致脚本没有权限被计划任务执行。

新的解决方案

这回比尔盖子重写了脚本,脚本更加规范,另外,还要强调一次:因为Windows下的换行符就和Linux不一样,所以最好使用Linux编写此脚本,否则请连接到主机远程编写脚本!

#!/bin/bash
# Program:
#   This script can backup Biergaizi's website data!
cd /home/content/44/6531044/backup #切换到备份目录,请按实际情况修改
mysqlcheck -hdiscuzmaogou.db.6531044.hostedresource.com -o discuzmaogou -udiscuzmaogou -pAmaogou4260 >>log #将这里的“数据库地址“等替换成自己的!输出信息保存在log文件
export today=`date '+%Y-%m-%d'` #获得当前日期并写入$today变量
mysqldump -hdiscuzmaogou.db.6531044.hostedresource.com -udiscuzmaogou -pAmaogou4260 discuzmaogou>db_backup_$today.sql #将这里的“数据库地址“等替换成自己的!   将数据库内容转存为SQL文件,文件名为“db_backup_日期.sql 
bzip2 -z -9 -f db_backup_$today.sql #压缩SQL文件并删除原SQL文件,压缩后文件名为“db_backup_日期.bz2

这样,只要将脚本加入Corn Job,定期下载储存备份文件的那个目录就行了,备份的文件名会自己变哦!

重装系统,并编译Linux内核

最近前几天准备编译一下内核,无意中看到了《BFS 简介,Linux 桌面的极速未来?》,具体内容如下引用:

像以往一样,依然在不断编译新版 Linux kernel 内核——Linux 系统提速的必修课。和 Linux kernel BFS  的相遇充满了巧合下的必然。现在看来,BFS Kernel 是 Linux 在半年内给我的最大惊喜——系统像电视购物主持人一样充满了力量和激情!而且是人能感觉得到的快!特以此文献给系统编译狂人,桌面提速狂 Linux 控。向所有 Linux 桌面用户力顶 BFS。

最先在 Kindle 上看 xkcd 漫画,有漫画如是:

supported_features

A: 经过某些人千百年的努力,最新的 Linux  补丁支持 4096 个 CPU 的电脑了!原来只能支持 1024 个!
B: 全屏 Flash 视频卡不卡啊?
A: 卡。不过谁他丫的看视频啊?

而关于 BFS 的消息是最先在 Linux Magazine 上看到的;不久之后 G1 Android 手机 ROM 修改大神 CM 开始在他的测试版 CyanogenMod 使用 BFS 作为 kernel 的 Scheduler,试用之后发现手机系统速度明显加快。 用手滑动左右翻屏就像 Opera 下滚动网页那么平滑,搞得屏幕覆膜上多了好多指纹印。心痒已久,恰逢 Linux kernel 2.6.31 新版正式发布,打上 BFS Patch 编译,重启。神一样的提速再次出现在我 4 年高龄的笔记本电脑上,注入了鸡血的 KDE4 让人无比兴奋。快!快!快!

所以,BFS 是什么?

要知道 BFS 是什么最好先了解一下它的作者,传说中的澳洲猛士 CK。

CK,Con Kolivas,男, 澳大利亚中年男子,资深内核 hacker。众所周知,Linux Kernel 是聚集了一帮天才蠢才和暴君怪胎的地方,CK 貌似最适合这种地方的人。是真的貌似,一张电影里面典型高智商通缉犯的脸。

几年前编译 Linux kernel,ck 补丁集就是系统提速的代名词。当时编译内核的三部曲是下 kernel 源码,打上 ck 补丁集,编译安装。后来上游代码将 ck 补丁集稳定的部分不断吸收,它的影响力也渐渐消失。

CK 本身对任务调度有很深的造诣,他聪明而经典地实现了 fair scheduling,而实现模式被 Igor 借鉴改进最终写出了现在 kernel 用的进程调度管理器 CFS (Completely Fair Scheduler)。不得不顺便介绍一下任务调度。Kernel 的进程调度主要是将 CPU 资源分配给各种驱动、进程等等。你可能听说过,一般人的大脑使用率不足 20% 这种科学或者伪科学言论。但事实是,你电脑上的 CPU 从来就没有真正被 100% 的利用过(别跟我说你在资源管理器里面看到过 CPU 100%,我还见过 101% 呢)。如何将各种运算任务一刻不停又有条不紊的塞给 CPU 处理是一门严肃的科学,绝不是电视购物导购能解决的问题。一次塞的运算量少了,CPU 闲着,运算时间增长,电脑慢了;而一次塞的运算多了,CPU 忙不过来,运算又要在门口排队,电脑也慢了。进程调度主要是用算法解决这个问题,而现在 Linux Kernel 用的 CFS 据说非常经典,在不同情况下都可达到相当高的 CPU 利用率。而现用 CFS 也是在 2.6.23 才加入的,取代原来 O(1),直接将 Linux 桌面速度从 XX 时代带入了 XX+N 时代。

两年前,CK 淡出了内核开发,忽然从江湖中蒸发。几周前,CK 重出江湖,两年磨一剑,带来了 BFS ,全称 Brain Fuck Scheduler (只认识中间那个单词的请参考谷歌翻译),声称专为低端硬件设计(我的理解是不超过 10 个 CPU 的电脑电视手机游戏机都算低端机),说白了就是比 Kernel 默认要更加山崩地裂海枯石烂房价上涨油价飞升的快。BFS 为什么叫这个名字?为了中文用户,不能三个词让他们一个也不懂吧? 好吧,这名字有点不雅,不过算是直爽。对了,据说 CK 也是看到上面我提到的漫画才开始剑走偏锋。真正有几个人用有上千 CPU 的电脑呢?为什么要为这种扩展性牺牲桌面性能。BFS 就在其间做了取舍,仅仅支持最多 16 个 CPU ,把问题外沿做小,让算法更简单精悍高效。作为原理来讲,这足够解释速度的来源。对于其它废问题, CK 专门写了一个 FAQ。在可以预见的将来,BFS 也不会进入 mainline kernel,说白了是取向问题。

关键问题是怎么用?

下 2.6.31 的 kernel 源代码,如果你不知道在哪里下的话就不必往下看了,在当前历史时期您还是搞不定的。再去:http://ck.kolivas.org/patches/bfs/ 下第一个 patch,现在是 2.6.31 开头的,表示适用该版本。解压内核源码,打上 patch,配置以后编译安装。现在 BFS 还在测试期,没有完全成熟,但已经相当可用。编译的时候有什么需要配置的?不需要, Scheduler 这东西太底层了,打上补丁就把原来的 CFS 替换掉了,没什么选项给你选。如果你非要问的话,不就图个快么,记着把配置弄到 1000Hz,开 preempt ,禁掉 dynamic ticks。编译重启不用说了,我可以酷酷的扔下一个 have fun 然后去玩 Mac 了,反正你机器启动不了不要找我。虽然我纯净 kernel 单加 BFS Patch 编译成功启动没问题,依然有一位倒霉的推油编译以后不知道怎么折腾的无法启动。可另外被我忽悠成功的推友们反应一致:“快!人能感觉得到的快!”

到底值不值得上手 ,有没有评测?

这是某些不够剽悍的读者会挣扎到最后的问题。BFS 原理上讲,机器配置越低,感受会越明显。如果你非要评测的话,Phoronix 这个专业的 Linux 测评狂网站也出了一份。我可以提前剧透结论,区别都很小,BFS 胜出绝大部分测试,然而优势不明显。我只是补充一下绝大多数折腾过的人的感受
——快 !人能感觉到的快!

由此可见,BFS的作用还是比较大的,于是心血来潮,准备在编译内核的同时打上BFS补丁。又看到了《编译2.6.31内核兼打BFS补丁》,便决定开始编译。首先去下载了http://www.kernel.org下载了最新的Linux内核:linux-2.6.38.2(最新版已经是2.6.38.3了,Linux内核更新太快了),并到http://ck.kolivas.org/patches/bfs/下载了2.6.38.2-sched-bfs-400.patch。

结合《编译2.6.31内核兼打BFS补丁》开始编译内核:



cd ~/Desktop/                                                #用户应保证内核源码和BFS均在当前用户的桌面
cp linux-2.6.38.2.tar.bz2  /usr/src/kernels/                 #把2.6.31内核拷贝到/usr/src/目录下
cd /usr/src/kernels/                                         #解压内核源码,并进入源码目录
tar -xvjf linux-2.6.38.2.tar.bz2
cd linux-2.6.38.32/
cp 2.6.38.2-sched-bfs-400.patch   /usr/src/kernels/linux-2.6.38.2/ #将BFS补丁移动到源码目录
patch -p1 < 2.6.38.2-sched-bfs-400.patch                     #这条命令有问题,误导了我,已改正。将BFS补丁打入标准内核中,以便编译使用(如果没有patch这个命令请yum install patch)
#**    以下内容为编译内核的通用步骤,在编译其它内核时可借鉴** #
make mrproper                                                #清除以前编译产生的文件,新下过来的可以跳过,安全期间再做一次
make menuconfig                                              #配置内核参数
cp .config /home/config                                      #将配置文件备份,以供后用
#make bzImage                                                #生成内核
#make modules                                                #生成内核模块
make                                                         #如今编译新内核以上两步已被废除,简化为make  
make modules_install install                                 #自动initrd文件,自动安装内核模块以及修改启动文件menu.lst等,
chmod 755   /boot/vmlinuz-2.6.38.2                           #修改权限,使其可以被运行(使用默认权限可能导致无法启动问题)
vim   /boot/grub/menu.lst                                    #查看启动文件,确认启动配置
ls -l /boot/                                                 #确认内核文件及权限。

之后重启,黑屏了!进入文本模式,发现配置内核时没有把ext4格式支持模块添加,导致系统提示“未知文件系统ext4”!看来配置内核时务必不能心急,而且要有充足的时间配置和检查,切记切记!换回原来的内核,发现之前安装的歪打正着的显卡驱动也停止工作!只好重装系统,规范的安装显卡驱动,再按照此方法重新编译内核,才算成功!

注:使用此内核后,请使用文本模式进入系统并安装Nvidia公版驱动,yum版在此版本内核中不可用,切记切记!

安装Linux显卡驱动;启用桌面特效时遇到的问题及解决方法

上一篇文章中已经说过了,比尔盖子安装了Linux,并安装了显卡驱动。下面就先把在安装显卡驱动过程中遇到的问题和解决和大家分享一下。

系统环境:Fedora 14 i686
显卡:Nvidia Geforce 4 MX | 64M显存(很过时了)

比尔盖子在安装完Linux后,发现又出现以前的老问题:整个Linux,无论是图形界面X-Window或者文本界面,窗口都有严重的偏移。于是比尔盖子就打算安装显卡驱动。歪打正着的安装上去了:

注意,这是歪打正着的安装方法,仅供分享。
如果您按照以下方法安装,可能会出现严重问题!
因此请按照第二章“正解”进行安装!

首先在Nvidia官网上下载了适合我的显卡的最新驱动,进入文本模式使用

sh 文件名.run

安装,不料出现”The Nouveau kernel driver is currently in use by your system…”的错误,没有发现禁用Nouveau的方法(有一个blacklist的方法以前用过,导致黑屏)。后来发现了一个安装显卡驱动的Yum install命令:

yum install kmod-nvidia

于是Linux就开始安装N多依赖包,等一会全部都安装完成了,重启,发现了一个新内核,应该就用这个内核启动,又发现开机画面变成黑屏和蓝带进度条了。稍等片刻进系统,却发现X-Window无法进入了,显示”Error inserting nvidia””No such driver”。这回彻底没招了,不过想了想,既然说”No such driver”,那么可以重新安装第一次下载的那个驱动(命令之前说过了,不用再多说了),很神奇,这回神马”The Nouveau kernel driver is currently in use by your system…”等错误提示都不存在了,最后安装完了还提示我是否在自动配置X-Window,当然选“是”啦!再次重启,依旧是黑屏和蓝带进度条开机画面,卡了好一阵子,终于进入了系统,而且根据系统的提示,3D渲染正常了!

然后又查阅相关帖子,发现原来我安装了过高版本的驱动才导致第一次的悲剧,现在电脑中有两个NV驱动了,于是使用

yum remove kmod-nvidia

卸载了那个过新的驱动程序。

然后得知

开机画面变成黑屏和蓝带进度条了只要安装以下rpm即可:
bootchart.x86_64 : Boot Process Performance Visualization
bootconf.noarch : GRUB configuration utility
bootconf-gui.noarch : Desktop links to bootconf
或者干脆yum install boot*
接着运行bootconf,设置和自己匹配的分辨率,没有适合自己的就选择相近的,只是开机过程的分辨率,不是开机后的桌面分辨率。

这回开机画面也正常了!本以为事情就这样结束了,不料我试图启用Compiz特效的时候,又发生了另外一件事情:启用特效后,所有的窗口的边框全部消失,还有一些程序显示不正常。原来,还要运行一下命令才能解决这个问题:

nvidia-xconfig --add-argb-glx-visuals

再次重新启动计算机,Compiz特效这个问题才算解决了,终于可以旋转立方体的桌面效果了!

正解

1.先安装livna, rpmfusion-free, rpmfusion-nofree,三个源。

rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
rpm -ivh http://rpm.livna.org/livna-release.rpm

2.输入“yum -y install kmod-nvidia glx-utils”并回车。注意,如果您使用的是支持超线程技术的 CPU 或者双核 CPU,请用“kmod-nvidia-smp”代替“kmod-nvidia”,不过绝大多数情况下 yum 会自动选择合适的版本。如果您用的是很旧的 nVIDIA 显卡(比如比尔盖子的),那么就应该用“yum install kmod-nvidia-96xx”或“yum install kmod-nvidia-legacy”。

3.安装nvidia官方驱动后,大都数人开机画面变成黑屏和蓝带进度条了只要安装以下rpm即可。
bootchart.x86_64 : Boot Process Performance Visualization
bootconf.noarch : GRUB configuration utility
bootconf-gui.noarch : Desktop links to bootconf

输入以下命令即可安装:

yum install bootchart bootconf.noarch bootconf-gui.noarch

接着输入bootconf,设置和自己匹配的分辨率,没有适合自己的就选择相近的,只是开机过程的分辨率,不是开机后的桌面分辨率。

4.OK了

又遇硬盘问题——记硬盘引导损坏之修复全过程

昨天下载了Fedora安装,结果装好后误操作引起系统崩溃,便把整个Linux分区删除了,打算重装系统。结果开机时系统不引导了,出现了Grub引导程序。原来Grub的引导文件在Linux分区了,被删除了。但是Grub可是在Mrb里的啊!

以前就出过这样的问题,因此重装了Linux,现在急用系统,可没时间重装!这下只能手动引导了。

于是又在网上疯狂百度,终于搜到了使用Grub手动引导系统的方法,立即敲入以下代码:

grub> rootnoverify (hd0,0)
grub> chainloader +1

结果一点反应到没有,便开始胡乱敲命令,无意中敲入了一个“boot”,Windows系统就启动了!原来正确的Grub步骤是这样的:

grub> rootnoverify (hd0,0) 
grub> chainloader +1 
grub> boot

这才是一个完整的引导过程。

今天想重装Linux,但Linux在安装中出现系统崩溃。Linux都能崩溃?我人品太差了点吧。于是重启,想用Linux安装盘修复故障,结果报错,无法进行分区操作。

没办法,幸好手头有一张 Windows Pe 光盘。使用里面的分区工具删除Linux分区,恢复Mrb。再次重启,这时什么也没有发生,屏幕上出现了命令行,上面有个字母“f”。到底是怎么回事?

又拿出 Windows 修复光盘,却发现修复光盘找不到系统!没办法,再次拿出 Windows Pe 光盘。看来电脑出问题工具盘真得轮流上阵啊。运行分区表医生,“医生”提示:硬盘分区表已坏。这回当然不能修复了,本来分区表没什么问题这一修复把分区修复没了。

运行分区工具。额?怎么多了一个未格式化的分区。
赶紧查看详细信息:容量为100M,主分区,活动分区

根据信息已经很清楚了,这就是已经牺牲的系统保留分区了。只能把它删掉(后来想一想如果把它格式化了再按照下面的步骤修复也是可以的),然后将系统盘标记为活动分区,再次修复Mbr。

这会,再重新启动系统,放入Win7修复光盘。这回终于识别系统了,我连检测故障都没点,程序就向我做工作汇报:Bootmgr is missing!已经修复。

当然是再次重启系统了,这回该从硬盘引导了,本来应该进入系统的,居然提示:Bootmgr is missing!没办法,再次重启用Win7修复光盘,这回什么“工作汇报”也没有了,于是就点击“检测故障”。

没过一分钟程序就提示:修复完毕。

我点击“详细报告”,上面写着:Bootmgr is missing or injure, fix successful!

再次重启,从硬盘引导,这回终于看到 Win7 的开机画面,进入系统了!

自动定时备份、优化数据库的方法

此文章存在严重问题,请看更新文章:自动优化及备份网站数据的解决方案(解决了一个困扰我8个月的问题)

 

昨天想去看看我的论坛,结果非常的卡。

最后好不容易“卡”进了控制面板,去“数据库”菜单里看看,结果显示”帖子“数据表有10000多碎片,赶紧优化一下,优化完果然速度快多了。

我想,我的主机支持Cron计划任务,我可以写一个优化、备份数据库的脚本让它定时执行啊!

说干就干,经过一番搜索,很快找到了自动优化数据库的方法,但是自动备份似乎遇到了一点麻烦,因为我找到了备份数据库的代码只能备份本地的数据库,而Godaddy文件和数据库是不在一台服务器上的。

最后,终于找到了备份远程数据库的代码。

为了充分体现开源精神,我特地把实现自动优化、备份数据库的脚本源码贴上来。

(注:请将以下代码重命名为扩展名是.sh的文件,并添加到“计划任务”里)

 mysqlcheck -h数据库地址 -o 数据库名 -u用户名 -p密码 #优化数据库
 cd /home/content/44/6531044/backup #转到backup目录(请按情况自己改)
 stamp=$(date+%y%m%d) #将当前时间写入stamp变量
 mysqldump -h数据库地址 -u用户名 -p密码 数据库名>db_backup_$stamp.sql #生成名称为db_backup_备份时间 的SQL备份文件
 bzip2 -z -9 -f db_backup_$stamp.sql #使用bzip2压缩SQL备份文件

注意,以上代码在使用时,请将“数据库地址、密码”这样的文字替换为实际数据,代码中没有空格的地方,如 -h数据库地址 ,在使用时请替换为-h127.0.0.1,而不能为 -h 127.0.0.1

雨林木风LINUX发行版?

话说前一阵子雨林木风破产,今天我去他们官网一看,它们竟然改做LINUX系统!
详见 http://www.ylmf.org/ 。
但是它的Ylmf OS肯定比不上Fedora等开发商。

它修改于Ubuntu lucid 10.04系统。

LINUX没有版权问题,雨林木风总算能歇一会儿了!

暂时放弃Fedora,先使用Windows

昨天一整天,都在忙着研究Fedora。

昨天还尝试安装NV显卡的驱动。但是提示内核怎么怎么样,没能成功。
于是就装了那个开源的驱动,可不知我怎么搞的配置文件,分辨率成了800X600了,也不知怎么卸载哪个开源驱动。

不过NV官方的驱动我倒是安上了,在后面加参数 -k $(uname -r) 就可以了。
不过那个开原驱动真的不知怎么卸载。

没办法,先换回Windows,准备下周重新安装Fedora。

P.S:因安装Fedora竟造成Windows的硬盘结构损坏,赶紧修复。
          不知修复完了,Fodora是不是就损坏了呢?呵呵

版权所有 © 2025 比尔盖子 博客

主题设计 Anders Noren返回顶部 ↑