比尔盖子 博客

Tag: Linux (page 2 of 4)

100%恢复——Linux系统下使用 TestDisk & PhotoRec 数据恢复

今天,有一个朋友向我抱怨,她将相机SD卡中的文件复制到电脑时,突然发现SD卡中的照片全都不见了,只剩下区区几张照片。便问我能否进行数据恢复。经过询问,得知她在发现文件丢失后,没有继续修改SD卡中的文件。看来她这点常识还是有的。

比尔盖子链接:如果数据丢失后,继续修改文件,那么后来修改的文件就可能覆盖先前的文件,导致无法进行数据恢复。因此当发生数据丢失时,如果文件存在电脑中,应立即关机,停止一切操作;如果存在可移动设备中,应使用“安全删除硬件”,然后将它拔出电脑。

于是,她将SD卡交给了我。回到家,我打开电脑,准备进行数据恢复工程。由于比尔盖子以Fedora为主要的操作系统,因此开始寻找Linux下的数据恢复软件,发现果然有一款专门恢复照片的免费软件,便把它下载下来,正式开始恢复。

TestDisk & PhotoRecCGSecurity 出品的自由数据恢复工具,可以运行在 Unix(Solaris/BSD/Linux) 和 DOS/Windows  平台上,支持 FAT/ext2/ext3/ext4/exFAT/NTFS/HFS+ 文件系统。TestDisk 恢复分区损坏造成的数据丢失;PhotoRec 恢复文件系统级别损坏造成的数据丢失(注意,PhotoRec 不仅仅可以恢复照片)。实在是不可多得的好工具。

正式恢复

保护数据

最好将SD卡写保护。

为了避免SD卡中的数据在恢复过程中丢失,因此最好将SD卡写保护。如何做到呢?太简单了,将SD卡上的小开关按照LOCK的箭头方向移动就行了。

了解情况

 

 

之后,比尔盖子将这张SD卡放入读卡器,得知这张SD卡是FAT32文件系统,并且如图所示,大多数照片全部丢失,只剩下几张。

开始恢复

首先,将下载的testdisk-6.12解压到主文件夹。然后,打开一个终端窗口,输入命令

su

然后提供root的密码(数据恢复需要root权限)

接着,使用cd切换到testdisk-6.12文件夹。这个文件夹中有两个程序,一个是photorec_static;另一个是scandisk_static。由于我们这次恢复的数据是照片,因此输入:

./photorec_static

来运行数据恢复程序。

接下来的操作中,使用回车来确定,使用q来返回上一步。
首先需要选择丢失数据的分区,如图1.1,选择完后确认。然后需要选择这个设备的分区表类型,如果这是一块移动硬盘,一般选择Intel。如果这是一个移动设备,只有一个分区,选择None,如图1.2。

图1.1 选择要恢复数据的设备

图1.2 选择分区表类型

 

如图1.3,在选择完分区表类型后确认,然后选择数据所在的分区。如果这是一块移动硬盘,那么选择你需要恢复数据的分区;如果这是一个移动设备,那么不要选择Unknown,选择第二个分区。

选择完分区后,程序会询问你分区的文件系统。如图1.4。如果你的文件系统是Linux下常用的ext系列,比如ext2、ext3、ext4,那么选择第一项;如果不是ext系列的文件系统,一律选择第二项,选择完后确定。

图1.3 选择分区类型

图1.4 选择文件系统类型

之后,将选择文件的扫描方式,正如图1.5。第一项“FREE”只会扫描文件的剩余空间,速度比较快,但是不一定能扫描到所有丢失的数据;第二项WHOLE会扫描整个文件系统,速度比较慢,如果是一块移动硬盘,将会花费很长时间。因此,比尔盖子建议:先试一试FREE,如果丢失的文件没有恢复成功,再使用WHOLE。由于比尔盖子之前使用FREE没有成功恢复任何数据,因此在这里选择了WHOLE。

接下来,选择恢复出来的文件,保存的位置,正如图1.6所示。使用回车来进入一个文件夹,上下左右来移动,按键盘上的C来确定,有一个名字是”.”(不包括引号)的文件夹,可以返回上一层。
比尔盖子建好了一个recvering的文件夹,于是使用回车来进入这个文件夹,然后按C确定。

图1.5 选择丢失数据的扫描方式

图1.6 选择恢复之后文件的保存路径

激动人心的时刻终于到了!数据恢复开始了,程序会自动估算需要的大致时间,还能显示出恢复了多少文件,如图1.8。
另外,数据恢复过程完毕之后,程序也会有相关提示,比尔盖子没有截图,到那时候反复使用Q来退出,然后去你选择的文件夹里看看,你删除的文件是不是都在哪里?

我成功从朋友的SD卡中恢复了390多张无缘无故消失了的照片,数据恢复取得全面成功,如图1.9!

 

图1.8 数据恢复正在进行

图1.9 恢复出来的照片

收尾

如果一切都成功了,那么,别忘了将SD卡上的开关解除,这样日后在能往里面存文件。
如果你没有恢复成功,而且你丢失的是重要文件,那么只能去找数据恢复公司了!

 

最牛的磁盘碎片整理

你是否正在为一种新型的文件系统无法整理磁盘碎片而困惑?这里由一个办法,只要你的文件系统可以被Linux内核识别并可被mount挂载,并假设挂载点在/mnt/newfilesystem,而且存在另一文件系统分区/mnt/data,即可使用以下命令整理磁盘碎片:

mv /mnt/newfilesystem/ /mnt/data/newfilesystem
rm -rf /mnt/newfilesystem 或者 格式化
mv /mnt/data/newfilesystem /mnt/newfilesystem/

这样即可完成一次磁盘碎片整理。别骂我,这真的是一种个人用户的解决方案!

解决Fedora 15中蓝牙无法使用的问题

新配了台机器,主板有集成的蓝牙设备。装了Fedora 15,但是Gnome 3中“蓝牙”选项是灰色的,无法使用。
原本以为是没装驱动,可最后运行

hciconfig

却发现有输出:

hci0:    Type: BR/EDR  Bus: USB
    BD Address: 00:26:83:2E:C5:97  ACL MTU: 1022:8  SCO MTU: 121:3
    UP RUNNING PSCAN 
    RX bytes:2553 acl:0 sco:0 events:106 errors:0
    TX bytes:1436 acl:0 sco:0 commands:106 errors:0

于是使用

hciconfig hci0 on

来激活蓝牙设备,结果Gnome 3中“蓝牙”选项依然是灰色的。查阅了资料以后,发现蓝牙服务在Fedora 15中默认是关闭的(我觉得是明智的决定,因为我的笔记本没有蓝牙,但是蓝牙服务会导致报错),让root执行:

systemctl start bluetooth.service

来启动蓝牙服务,如果需要开机自启动蓝牙服务,则以root执行:

systemctl enable bluetooth.service

即可!

Fedora 15安装Geforce 4过时显卡的最新96xx驱动,成功运行Gnome 3!

P.S话说昨天比尔盖子中彩票的问题已经解决,yum update一下就行了,可能是程序和内核不兼容导致的。

昨天,一直在琢磨一个问题:我这个老爷机到底安装什么Linux系统好呢?现在的显卡驱动仍不支持Xorg 1.10。最后选择了CentOS 5.6,经过一翻痛苦的下载和安装之后,就去Nvidia那里下载显卡驱动。

结果,“驱动说明”毅然写着“增加对Xorg 1.10的支持”!!!

这系统是白安装了,只能格掉换成Fedora 15了,得好好体验Gnome 3啊!结果,糟糕的Nouveau驱动导致一登录就崩溃,连Fallback模式都无法启动,只能用文本模式安装了。

经过不停地报错、黑屏、报错、系统崩溃,比尔盖子终于总结出了Fedora 15 Geforce4的Nvidia 96xx驱动安装大法!

幸好我会用ifconfig初始化网络,不然可真就没戏了。

第一步:下载驱动
第二步:找到blacklist配置文件,blacklist nouveau,在内核启动参数里也禁用一下。至于详细方法,可以去搜索“禁用nouveau”,很多呢。
第三步:yum update && yum install autoconf kernel-source kernel-devel kernel-headers kernel 安装kernel是相当重要的,不然的话往往你的内核是PAE内核,是不兼容的,我昨天一直卡在这里。如果还提示缺少什么就自己安装。
第四步:sh 驱动文件名,来装驱动。
第五步:startx或者重启,享受Gnome 3

但是,这个驱动真的能体验Gnome 3吗?不能的,这个驱动会导致屏幕闪烁,窗口渲染错误,Gnome 3崩溃,系统崩溃。尤其是点击唯一一个按钮“活动 Activity”的时候,一切都挂了。

我现在也是胆颤心惊的用这Gnome 3,只敢用Firefox,其他通通不敢点,不然就崩溃。希望Nvidia继续完善我们过时显卡的驱动。

改进了博客在Linux下的字体显示

悲催的博客,在Windows下一却正常的字体,在Linux下就变成了不平滑不清晰的烂宋体,简直惨不忍睹啊!

一开始比尔盖子选择忍受,可是随着比尔盖子电脑中Windows的消失,我选择解决,用Firefox强制指定字体。后来用另一台Linux机器打开博客,又是烂宋体,看到那些Linux下字体比XP还平滑清晰的博客,羡慕嫉妒恨啊!

昨天,“比尔盖子技术站”解散了。我的“比尔盖子Linux”进入测试阶段,突然发现“Twenty Eleven”主题的字体在Linux下很不错,便查看了它的style.css,发现了以下代码:

font: 15px "Helvetica Neue", Helvetica, Arial, sans-serif;

这段代码就是控制字体的。原来“Twenty Eleven”主题会以此使用Helvetica Neue, Helvetica, Arial, sans-serif来达到良好的字体效果。

于是,将“比尔盖子 博客”的CSS中也修改为这种字体,保存一下,刷新一下。世界平滑了,世界清晰了!

“比尔盖子技术站”已经关闭,将要改为“比尔盖子Linux”

今天,比尔盖子遗憾的写下了这篇文章。比尔盖子建立的第二个网站,“比尔盖子技术站”被比尔盖子决定将关闭了。当时,比尔盖子只是接触到了服务器搭建(当时都不知道叫这个名字),误打误撞,安装了一个Discuz 4.0的论坛,起名“比尔盖子论坛”,又在误打误撞中,将论坛升级到了Discuz 7.0,并决定论坛为讨论黑客精神和网络安全的。因为没有人上,就用软件采集了一堆别的网站的帖子,论坛完美的变成垃圾站。

说说后话:最后娴熟的升级到了Discuz 7.1、Discuz 7.2、Discuz X 1、Discuz X 1.5、Discuz X 2。、

弄完论坛,发现本地服务器是不行的,我不能24小时开机。最后终于找到了免费空间,安定好以后,觉得一个论坛没人上,没有意思,又弄了一个“比尔盖子技术站”,用的平台是Dedecms,专门发布各种黑客和网络安全的文章,后来也是用采集,完美的变身成垃圾站。

同时,我觉得我早期的建站过程可以整理一下,我就整理回忆了本地服务器建站一个月的历程。最后看到一个人的博客,记载了大量建站经历,我觉得我有必要弄一个,看了一眼,他使用的是Z-Blog系统,我就安装了,并把整理的建站经历,作为第一批已经篡改日期的博客文章发布了。后来又因为没有ASP免费空间,而将博客转为了我不知道是世界一流的Wordpress平台,还抱怨它运行速度慢,不过UI确实不错,尤其是蓝色的后台。

转折啊,转折啊。当我决定放弃免费空间去买Godaddy的空间的时候,我发现Godaddy的空间限制连接数,采集经常正常中断,导致垃圾站计划彻底破产。如今,买了VPS虽然能采集了,但才意识到,重复性内容是多么可怕。

我觉得,比尔盖子技术站已经没有任何意义。练手的网站就是练手的,如今要推倒一切重新开始了。主站是要关闭了,论坛还待定,不过命运估计好不到哪里去的……

比尔盖子这次觉得,要做一个面向初级用户,同类网站不多的网站,并打算采用“半博客式网站”,别说这个词你没听说过,这是比尔盖子自创的,意为使用博客系统来搭建的非博客(比如资讯类)网站,我认为这样互动性强。

经过考虑,我把目光停在了学习一段时间,已经入门的Linux上。国内的Linux站很多,但是存在问题,而且面对初级用户的站点也不多。初级用户需要的是桌面环境使用,而不是面对Bash和终端机,我希望我的网站提供的内容可以让初级用户能用Linux代替Windows的部分功能,而且尽量提供能代替令人发困的命令行的替代工具,也为中国的软件开源事业做出贡献,名字就叫比尔盖子Linux

目前比尔盖子Linux处于测试阶段,网址也是临时的,具体内容请看网站吧。

主页:http://testing.biergaizi.com/
关于(这个虽然能在网站中找到,但是某些人看不见的):http://testing.biergaizi.com/about/

最后,感谢长久支持“比尔盖子技术站”和“比尔盖子论坛”的所有人,向你们致敬!

Linux小测试 | The Linux Pub Quiz 中文版 Chinese Version

本文由比尔盖子(http://biergaizi.info)从http://www.tuxradar.com/content/linux-pub-quiz转载并翻译。
转载时请保留本段文字!
翻译质量不高,主要是因为一开始使用的是OpenOffice翻译,然后粘贴到这里以后,出现了大量的控制格式的HTML代码,修改几个字整个版面就乱了,但仍欢迎从评论中指出翻译不到位的地方!

你对自由软件的人物、应用程序和命令了解多少? 请你用下面的题目做自我测试 – 我们不保证Linux之父林纳斯·托瓦兹(Linus Torvalds)也能做对所有的题……

主题一:人物

1) 谁绘制了Linux的吉祥物Tux的原型? (提示:他也绘制了Ximian猴子)

2) 谁编写了Vi编辑器的第一版?

3) 哪位主流Linux发行版的领导人,曾经去宇宙旅行了10天?

4) Python语言之父是谁?

5) 拉里·沃尔(Larry Wall,下图中穿着一件令人兴奋的T恤的人) 发明了哪种编程语言?

This is Larry Wall. The question is, which programming language did he invent?

这是拉里·沃尔。问题是:他发明了哪种编程语言?

 

6) 由Wietse Venema开发的,很流行的流行邮件服务器叫什么?

7) 谁编写了sendmail?

8) 谁编写了Minux, 并在1992年写了题目为“Linux是过时的?”的电子邮件,从而展开论战?

9) 谁编写了最初的Unix shell (就是广为人知的sh)?

10) GNU和自由软件基金会(Free Software Foundation, FSF)的领袖是谁?

主题二:系统管理

11) 你运行了一个命令

ls f*

得到了一行输出:

apple orange banana

这是怎么回事?

12) 在那个配置文件中你能找到以下内容:

%admin ALL=(ALL) ALL

13) 这个命令是关于什么程序的?

root (hd0,0)

14) 你能在那个目录中找到Linux的日志?

15) 按照Unix的传统,你编写的第一个程序应该是什么?

16) root(即管理员)用户的UID是多少?

17) SSH会默认监听哪个端口?

18) 你发现你有一个名为foo的文件,有两个链接,你如何找到其它的链接?

19) 密码配置文件(/etc/passwd)中缺少什么关键信息?

20) ext2和ext3文件系统最大的区别是什么?

主题三:命令

21)

shopt -s dotglob

在Bash中是干什么用的?

22) 如果系统报错:Error: Scanning of VESA modes failed, 你应该将这个问题报告给谁? (警告:这个问题难度极大!)

23) 你如何删除一个名为-r的文件?

24) 你对一个名为foo的文件执行命令

chmod 7000 foo

当你执行 ls -l foo的时候,请问你看到的字母权限(rwxr–r–的形式)是什么?

25) 在vi编辑器中, dd 命令是干什么用的?

26) 在Linux中,哪一个系统请求用来创建一个新进程?

27) 下面这两条命令有什么区别 (假设运行这两条命令之前,foo文件是不存在的)

su -c date > foo
su -c 'date > foo'

28) 哪条命令用来配置Linux数据包过滤器(译者提醒:即防火墙)?

29) init的配置文件是什么?

30) 如果你在屏幕上看到这样一行输出:

drwxr-xr-x 8 chris chris 4096 2007-08-02 12:03 tutorials

……请问tutorials文件夹中有几个子文件夹?

31) 哪条命令用于查找文件系统中所有名为 pipes (fifos) 的文件?

32) 你如何隐藏一条命令所产生标准输出(standard output)?

主题四:名称

33) Wireshark 以前叫什么?

34) Gnome 是一个流行的桌面环境。请问 ‘Gnome’ 的全称是什么?

35) ……还有 KDE 中的 ‘K’ 全称为?

36) 哪一个开放文档标准与英国一个摇滚乐队同名?

37) Awk 语言如何得名?

38) Linux使用一个名为 PAM 的认证模块. PAM 的全称是什么?

39) Ubuntu在2004年发布的首个版本,代号叫什么(Ubuntu的代号命名规则为:一个形容词+一个动物名称)

40) SUSE 是一个流行的Linux发行版. 请问 SUSE 的全称是?

41) 世界上一个基于CD的Linux发行版(就是现在的LiveCD),是以北欧神话中的生命树得名,请问这个发行版叫做?

42) Debian发行版的这个名字是怎么来的?

主题五:残缺的界面

你能说出这些截图来自哪些应用程序吗?

43)

43)

 

44)

44)

 

45)

45)

 

46)

46)

 

47)

47)

 

48)

48)

 

49)

49)

 

50)

50)

 

51)

51)

 

52)

52)

主题六:发行版

53) 想成为一名UCP (Ubuntu专业认证人员), 你必须通过那三项测试?

54) Linspire 以前叫做什么?

55) ……还有Mandriva 以前叫做什么?

What was Mandriva Linux called before it was called Mandriva?

现在它被成为Mandriva,在对用户友好方面有很高的美誉度。

 

56) SUSE的LOGO是个什么动物?

57) 华硕Eee PC上网本采用了哪个Linux发行版?

主题七:应用程序

58) Gnome的资源管理器叫什么?

59) Linux上最流行的Web服务器叫什么?

60) “zip” 文件(压缩文件) 如何得名?

这些软件是干什么的:

61) Bluefish?

62) FluxBox?

63) Joomla?

64) Kopete?

65) Mutt?

66) Stonith devices?

FluxBox is pretty, but what does it do?

FluxBox很漂亮,但究竟是干什么的?

 

LOGO的名称

请问下面这些LOGO属于哪些应用程序或者发行版?

67)

67)

 

68)

68)

 

69)

69)

 

70)

70)

 

71)

71)

 

72)

72)

主题九:零碎的问题

73) Tux有多少脚趾 (没什么用的提示:不是单数!)

74) Linux下的.NET兼容运行环境叫什么名字?

75) 林纳斯·托瓦兹在何年用电子邮件,公布了他新编写的,自由的Linux?

76) Linux 内核版本2.6.28中的C代码超过100万行,到底是几百万行?

77) 哪一部电影中有这样一句台词 “这是个Unix系统!我知道这个!(It’s a Unix system! I know this!)”?

78) 哪个公司拥有MySQL(流行的开源数据库)?

79) Barret和Silverman编写的SSH(全称Secure Shell,意为安全的Shell) 教材:O’Reilly textbook SSH封面上出现的动物是什么?

80) 一本O’Reilly 的教材以’骆驼书’ 广为人知,因为书的封面有一头骆驼。这本书是关于什么的?

What is this book about?

这本书是关于什么的?

81) 哪家Linux公司于1999上市并创华尔街有史以来上市首日的最大涨幅?

82) 哪个组织开发了SELinux?

主题10:领袖的名字

这些都是今天世界开源界的领袖 – 有多少你能叫出名字?

83)

83)

 

84)

84)

 

85)

85)

 

86)

86)

 

87)

87)

 

88)

88)

 

89)

89)

 

90)

90)

 

做完了?快快去这里对照答案,看看自己做对了几道题?

Linux小测试答案 | The Linux Pub Quiz Answer 中文版答案 Chinese Version

这是测试题答案,请先做测试题目,请点击这里查看题目

本文由比尔盖子(http://biergaizi.info)从http://www.tuxradar.com/linuxquiz-answers转载并翻译。
转载时请保留本段文字!
翻译质量不高,主要是因为一开始使用的是OpenOffice翻译,然后粘贴到这里以后,出现了大量的控制格式的HTML代码,修改几个字整个版面就乱了,但仍欢迎从评论中指出翻译不到位的地方!

这就是测试题答案了,赶快算出你的分数,并在页面底部看看你的Linux水平如何吧!

主题一:人物

1 – Larry Ewing
2 – William Nelson Joy(威廉·纳尔逊·乔伊),通常人们称作Bill Joy(比尔·乔伊)
3 – Mark Shuttleworth(马克·沙特尔沃思),他领导着Canonical和Ubuntu
4 – Guido van Rossum
5 – Perl
6 – Postfix
7 – Eric Allman
8 – Andy Tanenbaum(台湾译作:谭宁邦)。 他指出Linux系统采用了宏内核,而谭宁邦认为微内核才是未来的方向,引发了著名的塔能鲍姆-林纳斯辩论(维基百科)
9 – Stephen Bourne
10 – Richard Mathew Stallman(查理德·史托曼)

主题二:系统管理

11 – 你有一个目录以f开头,并有文件
apple, orange and banana
12 – /etc/sudoers(sudo配置文件)
13 – Grub引导配置文件 (可能在 /boot/grub/menu.lst)
14 – /var/log
15 – Hello World
16 – uid:0
17 – Port 22
18 – 运行ls -i foo 找出 inumber
[1]

(就说它是12345吧), 然后运行 find . -inum 12345
     使用连接符成为一条命令就像这样:
     find . -inum $(ls -i main.cf | cut -d' ' -f1) 

[1]inumber即inode编号,inumber和linode编号不是inode

19 - 密码配置文件里就是没有密码!为了安全,密码被哈希加密,并保存到 /etc/shadow
20 - ext3 是日志式文件系统, ext2 不是。

主题三:命令

21 - 这会告诉Shell在使用通配符时将以 '.' 开头的隐藏文件也包括进去。
22 - mj@ucw.cz (这是在是令人很晕, 看看Linux的内核你就知道了[2])
[2]比尔盖子查看了Linux内核,确实发现在video.s文件中存在
.ascii "Error: Scanning of VESA modes failed. Please "
.ascii "report to <mj@ucw.cz>“

23 - rm -- -r 

24 - 权限会显示成 --S--S--T
25 - 它会删除光标所在的那行
26 - clone() 。 如果你想的话,也可以记住 fork()这个函数 。
27 - 在第一个例子中, foo 的所有者将成为当前登录的用户。但在第二个例子中,foo的所有者将成为root。
28 - iptables
29 - /etc/inittab
30 - 六个 (在Linux系统的任何目录中存在两个其实并不存在的链接。“.”表示该目录本身,
“..”表示上一层目录。减去这两个链接,因此tutorials有六个子目录)
31 - find / -type p
32 - 用“>”将它重定向到 /dev/null

主题四:名称

33 – Ethereal
34 – GNU Network Object Model Environment
35 – 原本意思为 ‘Kool Desktop Environment’, 但是现在已经没有任何的实际意义。
36 – Oasis. 其实就是 ‘组织(Organisation)’ 的简写, for the Advancement of Structured Information Standards’, which is the name of the consortium that developed the standard
(这个不知怎么翻译好,如有建议,请留言评论).
37 – 这是它的三位开发者 Aho, Weinberger 和 Kernighan 名字的缩写
38 – 嵌入式认证模块(Pluggable Authentication Modules,PAM,这是一组Linux身份验证的API)
39 – Warty Warthog
40 – 德语叫法 ‘Software und System Entwicklung’ (Software and System Development).
You can have half a mark just      for knowing it was something in German (这个怎么翻译,如有建议,留言评论).
如果你只是知道是某些德语,你可以记半分。  
41 – Yggdrasil
42 – 从它的创始人Ian Murdoch, 和他的妻子Debra得名

主题五:残缺的界面

43 – Gimp
44 – OpenOffice.org
45 – CUPS的Webmin界面
46 – K3b
47 – KCalc
48 – KDE 主菜单标签烂 (在 OpenSUSE 10.3 中)
49 – KMail
50 – Rosegarden
51 – XChat
52 – GNU/Emacs

主题六:发行版

53 – LPI 101, LPI 102 and LPI 199
54 – Lindows
55 – Mandrake
56 – 一只变色龙
57 – Xandros

Round 7: Applications

58 – 鹦鹉螺(Nautilus)
59 – 阿帕奇(Apache)

60 – 被命名为Zip意味着它与同类压缩工具相比,压缩比最高,压缩所需的时间最短[3]
[3]英文中的“压缩”应为compression

61 – 用于编辑HTML和其他Web内容的一个文本编辑器
62 – 一个轻量级的窗口管理器 
63 – 一个开源的内容管理系统(CMS)
64 – 支持多协议的即时通讯软件
65 – 一个基于文本的用户邮件代理
66 – 一个可以通过软件打开和关闭其它计算机电源的设备. Stonith 表示 ‘shoot the other node in the head’ ,用于关闭一个集群中宕机的节点,从而保证集群的高可用性。

主题八:LOGO的名称

67 – Firefox
68 – Gnome
69 – Ubuntu
70 – Gimp
71 – Wireshark
72 – Debian

主题九:零碎的问题

73 – 六个
74 – Mono
75 – 1991 (准确的说是1991年8月25日)
76 – 七百万行 (准确的是7107577行)
我们使用了这个命令统计: find /usr/src/linux -name ‘*.c’ -exec cat {} \; | wc
77 – 侏罗纪公园
78 – Sun公司(也称升阳微系统公司,Sun Microsystems)
79 – 一只蜗牛 [因为蜗牛在一个安全的(Secure)外壳 (Shell)中!]
80 – Perl(比尔盖子:著名的骆驼书,相信大部分人是知道了)
81 – 红帽(Red Hat)
82 – 美国国家安全局(The US National Security Agency,NSA)

主题十:领袖

83 – Bruce Perens (开源倡导者)
84 – Guido van Rossum (Python创始人)
85 – 查理德·史托曼 (Richard Mathew Stallman,GNU和自由软件基金会,Free Software Foundation,FSF的领袖)
86 – Rasmus Lerdorf (PHP创始人)
87 – Jeremy Allison (因他为Samba所作的工作知名)
88 – Miguel de Icaza (一名Gnome, Mono还有其它软件的开发者)
89 – 温特·瑟夫(Vint Cerf,’因特网之父’)
90 – Alan Cox (一位知名的内核黑客,比尔盖子:传记http://news.csdn.net/n/20050908/26111.html)

你的水平

0-20: 你学习的道路还很漫长,我们祝你成功!

21-50: 你的学习已经取得了一些实质性的进展!你应该阅读技术文档,相关书籍,访问相关技术站点,学习更多内容。

51-70: 还不错!你应该对 RPM 是什么东西心中有数,修改xorg.conf配置文件对你来说也只是小儿科而已。

71-89: 疯狂的极客: 你是一位真正的Linux专家,你的引导菜单中可能存在六种不同的Linux发行版,并且都重新编译过内核,而且你正在计划将Linux安装到你的冰箱里。

90: 嗨,林纳斯!我们刚才说:“你也不一定全答对”,只是个玩笑而已,你懂的……

你的分数是多少呢?快快在评论中贴上你的分数与大家分享吧!

CentOS 6 LAMP搭建(服务器配置)

神马是LAMP?路灯?不对,是Linux+Apache+Mysql+PHP(或Perl、Python)。搭建LAMP就是配置Linux+Apache+Mysql+PHP(或Perl、Python)的Web服务器了。

而在这里,我们使用的是最新的CentOS 6。如果其它版本系统想要参考这个教程,对不起,由于软件源中软件版本低,因此不能参考。

LAMP各软件版本:
Linux:CentOS 6 Kernel 2.6.39.3
Apache:2.2.15
Mysql:5.1.52
PHP:5.3.2

和比尔盖子一起搭建LAMP

比尔盖子最近迁移网站到VPS,这正是制作LAMP教程的好机会,下面大家就跟我来吧!
(以下过程均使用管理员root操作)

 

#整个安装过程中可能需要输入y和回车来确定安装。

###准备工作

#安装“最快镜像源”插件,加速下载
yum install yum-plugin-fastestmirror.noarch

#升级系统
yum update

#安装两个软件源
rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/epel-release-6-5.noarch.rpm
rpm -ivh http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/i386/ius-release-1.0-8.ius.el6.noarch.rpm

###PHP安装与配置

#PHP安装与配置,Apache安装
#PHP依赖Apache,所以会自动安装哦!
yum install php-pear php php-cli php-common php-devel php-gd php-mbstring php-mcrypt php-mysql php-pdo php-soap php-xml php-xmlrpc php-bcmath php-pecl-apc php-pecl-memcache php-snmp

#修改配置文件
#找到short_open_tag = Off,将其改成short_open_tag = On
#vim用法:点一下键盘上的斜杠(/),输入要查询的内容(区分大小写),按回车即可搜索
#找到内容后按一下键盘上的“Insert”,就可以像记事本一样编辑了
#编辑完后,按"Esc",然后输入" :wq “就可保存退出。
vim /etc/php.ini

###Mysql安装与配置

#安装Mysql
yum install mysql mysql-server mysql-devel

#启动服务
service mysqld start

#修改Mysql root密码
/usr/bin/mysqladmin -u root password '新密码'

###Apache配置
#Apache已经被PHP依赖安装,因此我们已经安装好Apache,我们只需要配置一下

#让Apache支持.htaccess
#vim用法:点一下键盘上的斜杠(/),输入要查询的内容(区分大小写),按回车即可搜索
#找到内容后按一下键盘上的“Insert”,就可以像记事本一样编辑了
#编辑完后,按"Esc",然后输入" :wq “就可保存退出。

#查找Options FileInfo AuthConfig Limit
vim /etc/httpd/conf/httpd.conf

###Xcache模块优化性能(可不装)
#安装过程中如果提示“XX not fount",就yum install XX

#安装编译工具以编译
yum install gcc make

#下载Xcache
wget http://xcache.lighttpd.net/pub/Releases/1.3.2/xcache-1.3.2.tar.bz2

#解压缩Xcache
tar -xvf xcache-1.3.2.tar.bz2

#切换到Xcache目录
cd xcache-1.3.2

#根据php配置Xcache
phpize

#编译安装
mkdir ../xcache-build
cd ../xcache-build
~/xcache-1.3.2/configure -enable-xcache
make
make install

#新增Xcache.ini配置文件
vim /etc/php.d/xcache.ini
#增加内容:
[xcache-common]
;; install as zend extension (recommended), normally "$extension_dir/xcache.so"
zend_extension = /usr/lib/php/modules/xcache.so
;; or install as extension, make sure your extension_dir setting is correct
; extension = xcache.so

[xcache.admin]
xcache.admin.auth = On
xcache.admin.user = "mOo"
; xcache.admin.pass = md5($your_password)
xcache.admin.pass = ""

[xcache]
xcache.shm_scheme =        "mmap"
xcache.size   =             32M
xcache.count =                 1
xcache.slots =             8K
xcache.ttl =              3600
xcache.gc_interval =       300

; Same as aboves but for variable cache
; If you don't know for sure that you need this, you probably don't
xcache.var_size   =          0M
xcache.var_count =          1
xcache.var_slots =          8K
xcache.var_ttl =          0
xcache.var_maxttl =       0
xcache.var_gc_interval =     300

; N/A for /dev/zero
xcache.readonly_protection = Off

xcache.mmap_path = "/dev/zero"

xcache.cacher =             On
xcache.stat =             On
###重启服务器

#重启服务器
reboot

 

 

最后说一下配置文件的路径:
PHP:  /etc/php.ini
Apache: /etc/httpd/conf/httpd.conf

搬迁网站到VPS的过程

写在前面的话

Written at the beginning

众所周知(如果不知道猛击这里),在2011年六月的最后一天,比尔盖子网站全部下线搬迁。

这一次,因为饱受Godaddy主机的折磨,比尔盖子在今年初就狠下心来决定:7月份一定要换个VPS(在今年1月的公告中透露过)
果然不出大家的所料,比尔盖子更换了主机。

比尔盖子为了选择一个价格公道,性能优良的VPS,艰难的百度和谷歌,最终选择了Linode主机。这个主机的机房位于硅谷,是中国连接美国速度最快的机房,而且在中国站长中口碑也是相当的好。

但是,出现了一点小意外,导致了信用卡不慎冻结。最终只能使用一家比较可靠的Linode支付宝代购系统用支付宝买下了Linode。这个代购虽然可靠、方便,但是,它是将广大代购用户当成系统编写者的子账户处理的。因此只能在这个Linode代购系统的简易控制面板中操作,像比尔盖子这种想要更换机房、更换内核的极客来说,实在是没有什么可折腾性。因此,比尔盖子的网站将在2011年7月27日时再度搬迁。

正文

一般来讲,搬迁网站的过程无非就是这样:

1.关闭网站访问
2.FTP下载所有文件到本地(聪明点的人会打包压缩,另一些人就直接FTP下载,效率不知有多底,可悲啊)
3.将Mysql数据库导出到本地
4.上传导出到本地的文件到新主机
5.导入本地的数据库到新主机
6.修改网站的配置文件,以便连接新的数据库
7.修改域名的指向,指向到新主机
8.最后的一点点排除故障工作,比如解决死链接

这样做,对比尔盖子这样有一点规模的网站来是相当不合适。因为本网站的数据量高到4GB,如果要采用以上的方法,就等于一共下载和上传了8GB的数据!而站长只拥有512K的ADSL连入互联网,如果按照以上步骤,48小时不关机连续作业也完成不了!这该如何是好呢?

话说天下无难事,只怕有心人。比尔盖子想到了自己曾经用SSH远程连接到服务器下载文件时,几乎每次都是瞬间完成,下载速度最快达到了8Mb/s。如果利用这伟大的美国网速,那么搬迁就快多了。话说得好听,那到底怎么利用美国充沛的带宽资源呢?首先我觉得应该先压缩我网站的所有数据。我来到了Godaddy的文件管理面版,悲剧的发现最大只能压缩20MB的数据!这该怎么办呢?

盖子突然想到,因为我的两个主机都可以通过SSH进行远程管理,因此这个过程可以在SSH上操作。立即输入

tar -jcvf website.tar.bz2 html

来压缩我Godaddy主机上的HTML目录,我所有的网站程序都在这个目录里,但是我发现,压缩用了相当长的时间,最后居然强行停止!经过查看记录,盖子的这个博客安装了一个缓存插件,而系统在压缩这个插件产生的缓存时用了相当长的时间。后来盖子进入这个目录查看,发现里面已经生成超过1000个文件,难怪压缩都强行中断了。

快快使用rm -r删除这个目录,结果,删除用时6分钟,最后还报错。这个缓存是在是太夸张了吧!最后,盖子又进入Godaddy的文件管理器,删除了几个残余文件,才算万事!再次尝试进行压缩,这回终于成功了。不过很奇怪,我的网站的数据量为4GB,但压缩完之后居然文件只有300多MB,以至于比尔盖子总是觉得一些文件在压缩时被丢掉了。

之后,比尔盖子登录了新的VPS,输入

wget http://biergaizi.con/html.tar.bz2

下载刚打包完的压缩文件,神速,2分钟搞定。然后使用

tar -jxvf html.tar.bz2

来解压缩,命令行飞速划过屏幕,解压缩完成了。接下来的一个难题,就是配置Web+PHP+Mysql服务器了。幸好比尔盖子平时就爱折腾以Fedora为主的Linux,你可以去看看 比尔盖子站长使用Linux的经历,就知道比尔盖子多么极客了。今天,平时折腾得到的经验总算用上了。这个VPS的系统是盖子亲自选的CentOS5.6,就是冲着Yum和Fedora一样才选择的CentOS,而不是Debian。

随着比尔盖子噼里啪啦的敲击yum install,yum update和service httpd restart,一个使用Apache+PHP5.3+Mysql5的Web服务器就这样完工了。
(具体的细节,我忘记了,会在本月的第二次搬家中详细写出来的)

最后安装了PHPMyAdmin来管理数据库,又安装了Zend和Xcache这一全新的服务器缓存插件。

 

随着一行reboot,比尔盖子的全新网站就正式运行了起来!

Olderposts Newerposts

Copyright © 2023 比尔盖子 博客

Theme by Anders NorenUp ↑