转到正文

DalianSky's Blog

正在修建中的空中楼阁

存档

标签: linux相关

 最近有听众指,由今年三月二日开始,在使用Google或者Gmail时,会不时出现无法连接的情况,或者打好了的电邮无办法送出,这问题与Google有关,还是代表了中国当局针对Google的情况严重了?

答: 在海外用Google一直都很顺畅,并无任何重大的问题,但近日中国当局针对Google有新一轮的防火墙升级,这次升级的特色,就是针对Google一 系列加密的服务,包括了加密版本的Google搜寻服务,以及利用加密功能进行通讯的Gmail,每隔十分钟,中国两大电讯公司的海外关闸,就会针对 Google的通讯作出处理,令你和Google主机之间的连接出现间歇性中断。
      对于Gmail,以至使用 Google App服务的用家,如果收邮件时候,可以考虑暂时不用网上版的Gmail,而是透过Outlook或者其他支援SSL POP或IMAP服务的软件接收邮件。因为现时中国当局针对是Google的443埠口的通讯,亦即标准网上加密埠口的通讯,而采用995埠口的 SMTP、465埠口的POP暂时未受影响。而放弃使用网页版Gmail最大损失,莫过于要暂时放弃GTalk的功能,皆因GTalk功能在网上版的 Gmail才有,而在Outlook或其他类似接收邮件的软件,都不支援GTalk的。

Gmail最近访问不稳定的原因是电信运营商在随机丢弃和Gmail服务器通信的数据包,手法和阻止https://www.google.com/的访问时一样的。好在Google的服务器很多,通过Google的任意一个服务器就能访问到Google几乎所有的服务。最近观察发现,不是所有的Google服务器都遭到了被随机丢弃数据包的待遇,我们可以通过这些服务器来访问Gmail等Google提供的服务。解决的方法还是老办法,修改hosts

hosts加入以下内容:
66.249.89.91 mail.google.com
74.125.79.109 pop.gmail.com
74.125.79.109 smtp.gmail.com
66.249.89.91 encrypted.google.com 
66.249.89.91 www.google.com
66.249.89.46 www.google.com.hk
72.14.203.91 docs.google.com
72.14.203.93 encrypted-tbn0.google.com
72.14.203.93 encrypted-tbn1.google.com
72.14.203.93 encrypted-tbn2.google.com
72.14.203.93 encrypted-tbn3.google.com

 

有兴趣的可以试试。

Windows系统:c:\windows\system32\drivers\etc\hosts
Linux系统:\etc\hosts

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

ubuntu 10.10 (Maverick Meerkat) 正式发布

附MD5值:
a8d8e24bf8b82b4302d074fcac380d65 *ubuntu-10.10-alternate-amd64.iso
419ad8ee1bb76a49490f4a08b5be43f0 *ubuntu-10.10-alternate-i386.iso 1b9df87e588451d2ca4643a036020410 *ubuntu-10.10-desktop-amd64.iso 59d15a16ce90c8ee97fa7c211b7673a8 *ubuntu-10.10-desktop-i386.iso 6877bf8d673b87ba9500b0ff879091d0 *ubuntu-10.10-netbook-i386.iso ab66a1d59a8d78e9ea8ef9b021d6574a *ubuntu-10.10-server-amd64.iso ce1cee108de737d7492e37069eed538e *ubuntu-10.10-server-i386.iso d1db1f93bb7486593b7d1ea023c0e3f8 *wubi.exe

 

下载链接:http://releases.ubuntu.com/10.10/

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 今天,ubuntu 10.04 LTS (lucid)正式发布

 MD5SUNS:

1
2
3
4
5
6
7
8
9
a54366aa72d6b576ee8fc0215f8a13b9 *ubuntu-10.04-alternate-amd64.iso
5b2dadacfd692b4f2d5c7cf034539262 *ubuntu-10.04-alternate-i386.iso
3e0f72becd63cad79bf784ac2b34b448 *ubuntu-10.04-desktop-amd64.iso
d044a2a0c8103fc3e5b7e18b0f7de1c8 *ubuntu-10.04-desktop-i386.iso
0b0e0d36050d9980ec995262eb9f2e6b *ubuntu-10.04-netbook-armel+dove.img
9e0d6ac7b69bb7912d49369a6807e39d *ubuntu-10.04-netbook-armel+imx51.img
712277c7868ab374c4d3c73cff1d95cb *ubuntu-10.04-netbook-i386.iso
8ee25c78f4c66610b6872a05ee9ad81b *ubuntu-10.04-server-amd64.iso
15342636441181f7a19c65984b44e24c *ubuntu-10.04-server-i386.iso

 

下载页面:releases.ubuntu.com/lucid/


 


 

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 早上起床,打开电脑便看到了teamviewer出了linux的版本,下载,安装,使用起来感觉与windows下面没有任何的不同。

看来现在很多的软件公司对于linux平台是越来越重视了,这是好事儿呀。

发此帖,纪念一下。




teamviewer for linux下载链接:www.teamviewer.com/download/index.aspx


Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 

先用chromium创建一个应用程序快捷方式,在该快捷方式上点右键—>属性,在命令一栏的Chromium后面加上如下字串,并保存退出:

 

1
--app="https://m.google.com/app/buzz?source=mog&gl=cn" --user-agent="Mozilla/5.0 (Linux; U; Android 2.0.1; en-us; Droid Build/ESD56) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17"

其中:User Agent字符串是摩托罗拉Android系统手机Droid中内置的Chrome lite浏览器的User Agent;
其中:–app="https://m.google.com/app/buzz?source=mog&gl=cn",是直接打开buzz;

 

还不快去试一下

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 某些地方无法访问到google chrome扩展的网站(https://chrome.google.com/extensions),有两种方法可以访问到该网站:

1.修改HOSTS法:在hosts中加上如下的内容:

 

1
2
3
4
#Google Chrome
74.125.39.99    chrome.google.com
74.125.39.103   chrome.google.com
74.125.39.99    clients2.google.com

hostswindows系统中位于:C:\Windows\System32\drivers\etc\hosts,在linux系统中位于:/etc/hosts

 

2.可以直接访问这个网站:www.chromeextensions.org/

 
附:常用的几个有用的扩展

IE TAB:在chrome标签页里以IE模式打开网页:chrome.google.com/extensions/detail/hehijbfgiekmjfkfjpbkbammjbdenadd
FLASHBLOCK:在chrome里不自动加载flash,如果需要下载或者显示flash的内容在其上用鼠标点一下就可以了,这个扩展会降低CPU的占用率,扩展下载:chrome.google.com/extensions/detail/cdngiadmnkhgemkimkhiilgffbjijcie

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 有童鞋在论坛里发帖提问如何给grub2添加背景图片,下面我说说我的方法.

我是这么做的,比如我的显示器的分辨率是1280×800,那么我就复制一个1280×800的图片放到/boot/grub目录下面,然后命名为grub.jpg或者grub.png grub.tga,grub2只能调用这三种格式的图片

然后修改/etc/default/grub

代码:
GRUB_GFXMODE=1280×800



最后再执行一下

代码:
update-grub



收工,重启一下就能看到效果了

 

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

前些天写了篇<沃达丰v830(国内型号:华为u7300)在ubuntu下3G上网>,是使用手机中的USB-MODEM通过wvdial拨号方式上网的,这种上网方式有一处不便:就是每次上网的时候都需要先用USB连接线把手机与电脑连接起来,感觉很麻烦.
这次给大家介绍的是在UBUNTU LINUX中用蓝牙无线连接电话拨号上网的方法.
ubuntu系统默认的蓝牙管理程序不如blueman好用,所以需要先安装blueman,命令是:

1
apt-get install blueman

在blueman程序中搜索手机,配对成功后,刷新一下手机的服务,会看到serial port/dial-up networking/dialup settings这几个选项.点选dialup settings输入拨号接入码:*99#,APN添写:uninet,然后就可以点dial-up networking拨号上网了.
需要注意的是:把手机中的modem改成bluetooth modem方式. 该方法适用于各种支持bluetooth modem的手机.

 

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

上不了chrome扩展网站的话只需要修改以下hosts文件就能上了

终端运行代码:
sudo gedit /etc/hosts

然后添加下面两行

74.125.39.99 chrome.google.com
74.125.39.99 clients2.google.com

之后保存就可以上了

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 最近几天一直在折腾WCDMA无线上网,无奈无线上网卡一直没有调通,于是就在网上淘了个沃达丰V830的WCDMA手机.

 

1
2
3
lsusb
 
Bus 005 Device 012: ID 12d1:1009 Huawei Technologies Co., Ltd. U120

 

下载usb_modeswitch:www.draisberghof.de/usb_modeswitch/usb_modeswitch-1.0.5.tar.bz2,解压缩后进入目录:

 

1
make install

修改/etc/usb_modeswitch.conf

1
nano /etc/usb_modeswitch.conf

 

添加以下内容:

 

1
2
3
4
5
6
7
# Huawei U7300 (aka &quot;Vodafone V830&quot;) 
DefaultVendor=  0x12d1;
DefaultProduct= 0x1009
 
# choose one of these:
;DetachStorageOnly=1
HuaweiMode=1

 

修改/etc/wvdial.conf

 

1
2
3
4
5
6
7
8
9
10
11
12
13
[Dialer Defaults]
Phone = *99#
APN = uninet
Username = wcdma
Password = wcdma
Stupid Mode = 1
Dial Command = ATDT
Modem = /dev/ttyUSB0
Baud = 460800
Init2 = ATZ
Init3 = ATQ0 V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0
ISDN = 0
Modem Type = Analog Modem

 

使用的时候插上USB连接线后,执行:

 

1
2
sudo usb_modeswitch
sudo wvdial

 

就可以用上3G了.

 

 

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 我就不骂闲街了,大家都明白,骂了也没用。

刚升级ubuntu9.10不久,不能用xmarks真让人恼火,下面是解决办法:

1
#sudo gedit /etc/hosts

然后再加入下面的IP,保存即可。

1
2
3
4
5
6
7
8
#xmarks
64.147.188.86 www.xmarks.com
64.147.188.92 api.xmarks.com
64.147.188.89 login.xmarks.com
64.147.188.87 sync.xmarks.com
64.147.188.86 static.xmarks.com
64.147.188.86 download.xmarks.com
64.147.188.86 my.xmarks.com

如果还不行就在xmarks的设置里选高级,再选择“全部加密”,接着应该就可以同步了。

来源:http://zhao.jinhai.de/post/650.html

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare
1
sudo apt-get install python-mutagen

在要转换编码的目录下执行:

1
find . -iname &quot;*.mp3&quot; -execdir mid3iconv -e GBK {} \;

即可

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

 

grub2基础教程-修订
     
                                 smallapple


目录

一、grub2新特性

二、grub2安装与启动

三、grub2配置文件详解

四、脚本修改

五、使用grub2常见错误及修复方法


一、grub2新特性

1grub2grub有很多不同的地方
a
)图形接口
b
)使用了模块机制,通过动态加载需要的模块来扩展功能
c
)支持脚本语言,例如条件判断,循环、变量和函数
d
)支持rescue模式,可用于系统无法引导的情况
e
)国际化语言。包括支持非ASCII的字符集和类似gettext的消息分类,字体,图形控制台等等
f
)有一个灵活的命令行接口。如果没有配置文件存在,GRUB会自动进入命令模式
g
)针对文件系统、文件、设备、驱动、终端、命令、分区表、os loder的模块化、层次化、基于对象的框架
h
)支持多种文件系统格式
i
)可访问已经安装的设备上的数据
j
)支持自动解压

2、设备的命名
grub2
同样以fd表示软盘,hd表示硬盘(包含IDESCSI硬盘)。设备是从0开始编号,分区则是从1开始,主分区从1-4,逻辑分区从5开始,而grub分区编号是从0开始的。下面给出几个例子 :
(fd0)
:表示整个软盘
(hd0,1)
:表示BIOS中的第一个硬盘的第1个分区
(hd0,5)/boot/vmlinuz
:表示BIOS中的第一个硬盘的第一个逻辑分区下的boot目录下的vmlinuz文件

二、grub2安装与启动

1、安装ubuntu9.10时,grub默认安装在第一硬盘(hd0)的mbr,其实就是把引导文件boot.img写入硬盘的mbr,当然,用户也可以选择不写入硬盘mbr而是写入linux分区的引导扇区。启动时根据mbr所提供信息找到启动分区后,加载分区内的grub核心文件core.img和配置文件grub.cfg,进入选择菜单画面,在菜单画面,按上下箭号选择需要系统菜单项,按Enter进入选项。




e进入己选择菜单的编辑状态,在编辑状态下,由上下左右箭号来移动光标,enter键换行,ctrl+x以编辑的内容启动,ctrl+c进命令行状态,按Esc退出,回到菜单项。

在需要使用额外的内核参数启动时,比如要加上acpi=off时,把光标移动到linux这一行最后,在splash后加上一空格再输入acpi=off,然后按ctrl+x启动。



c进入命令行状态,按Tab键可查看所有可用的命令。


在命令行状态,可以根据需要加载或移除相应模块,也可用来启动在菜单没有显现的的系统。

比如,在第一硬盘的第一分区上装有windows xp系统,但在菜单上没显示出来,我们可以命令行状态下输入命令启动:

    grub>set root=(hd0,1)

    grub>chainloader +1

    grub>boot

又比如启动第二硬盘第一逻辑分区上的ubuntu系统:

    grub>set root=(hd1,5)

    grub>linux /boot/vmlinuz-xxx-xxx root=/dev/sdb5

    grub>initrd /boot/initrd.img-xxx-xxx

    grub>boot

其中内核vmlinuzinitrd.img的版本号可用按Tab键自动查看。


2、下面介绍下在grub2中一些常用的命令

    1)help
        查看命令用法,如
    help search
:查看search命令详细用法
    2)set

        设置变量值,如

    set default=0
    set timeout=5

    set root=(hd0,3)等等

        需要调用变量AA的值时,使用${AA},如set root=(hd1,1),则${root}=(hd1,1)

    3)default

        定义默认引导的操作系统。0 表示第一个操作系统,1表示第2个,依此类推

    4)timeout

        定义在时间内用户没有按下键盘上的某个按键,自动引导default指定的操作系统。

    5)root

        指定用于启动系统的分区。

    6)insmodrmmod

        加载或移除某模块,如

insmod jpeg

insmod png

insmod ntfs

rmmod png

 等

 7)drivemap
 drivemap
兼容grubmap,主要用于只能从第一硬盘(hd0)引导启动的系统如 win2000 xp 2003,比如要添加第二硬盘第一分区上的xp系统:
 menuentry "Windows XP" {
 set root=(hd1,1)
 drivemap -s (hd0) ${root}
 chainloader +1
 }

    8)ls
        列出当前的所有设备。如(hd0)(hd0,1)(hd0,5)(hd1)(hd1,1)(hd1,2)

    ls -l
        详细列出当前的所有设备。对于分区,会显示其labeluuid
    ls /
        列出当前设为root的分区下的文件
    ls (hd1,1)/
        列出(hd1,1)分区根目录的文件
    9)search
    search -f /ntldr
        列出根目录里包含ntldr文件的分区,返回为分区号
    search -l LINUX
        搜索labelLINUX的分区。
    search –set -f /ntldr
        搜索根目录包含ntldr文件的分区并设为root,注意如果多个分区含有ntldr文件,

    set失去作用。

    10)loopback
    loopback
命令可用于建立回放设备,如
    loopback lo0 (hd1,1)/abc.iso
        可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动
    loopback lo0 (hd1,1)/aa.iso
    linux (lo0)/memdisk
    initrd (lo0)/abc.img
        要删除某一回放设备,可以使用-d参数:
    loopback -d lo0
    11)pager
        分页显示。
    set pager=1
        显示满一页时暂停,按space继续
    set pager=0
        取消分页显示
    12)linux
        用linux命令取代grub中的kernel命令

    13)chainloader

        调用另一个启动器,如

    chainloader (hd0,1)+1

        调用第一硬盘第一分区引导扇区内的启动器,可以是windowslinux的启动器


三、grub2配置文件详解

    grub2改用grub.cfg为配置文件,配置文件包含以下基本内容:(红色为解释部分)


### BEGIN /etc/grub.d/00_header ###
load_env

#加载变量,如果在grubenv保存变量,则启动时装载
set default="0"

#设置默认引导项,默认值为0
insmod ext2

#插入文件系统支持的模块,除了用作启动的分区外,其他分区格式可在menuentry底下再添加
set root=(hd0,8)

# 指定系统root分区,也就是 / 分区
search –no-floppy –fs-uuid –set 2d61e5f9-1d2a-4167-a6f1-b991ba00878b

#指定uuid=2d61e5f9-1d2a-4167-a6f1-b991ba00878b的分区为root分区,如果前面的分区号(hd0,8)的#uuid与这里的uuid一致,这两句作用一样,如果不一致,则指定uuid的起作用。

if loadfont /usr/share/grub/unicode.pf2 ; then

#设置终端字体,unicode.pf2支持中文字符显示
set gfxmode=640×480

#设置显示分辨率,默认为640×480,可用800×600,1024×768,建议跟你想设定的图片大小一致
insmod gfxterm

#插入终端模块gfxterm,支持中文字符显示和支持24位图像
insmod vbe

#插入vbe模块,GRUB2引入模块化机制,要使用它,需要在这里加入
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don’t
# understand terminal_output
terminal gfxterm

#设定grub2终端为gfxterm
fi
fi
set timeout=10

#设定默认启动前等待时间,默认为10
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###

set menu_color_normal=white/black

#设定菜单字体及背景颜色
set menu_color_highlight=black/blue

#设定选择项字体及背景颜色

#如果使用默认,背景将完全被蓝色挡住了,需要修改blue为black,背景图片才能显示
### END /etc/grub.d/05_debian_theme ###


### BEGIN /etc/grub.d/10_linux ###

#10_linux为系统自动添加的当前root分区linux引导项

#每个菜单项要包括menuentry双引号" "和大括号{ }才完整,否则不显示菜单
menuentry "Ubuntu, Linux 2.6.31-10-generic" {
set quiet=1
insmod ext2
set root=(hd0,8)
search –no-floppy –fs-uuid –set 2d61e5f9-1d2a-4167-a6f1-b991ba00878b

#这句与set root=(hd0,8)效果一样,可删除其一,二者不一致以这句为准
linux /boot/vmlinuz-2.6.31-10-generic root=UUID=2d61e5f9-1d2a-4167-a6f1-b991ba00878b ro quiet splash

#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda8(/分区的分区号)代替
initrd /boot/initrd.img-2.6.31-10-generic
}


### END /etc/grub.d/10_linux ###


#20_memtest86+为系统自动添加的内存测试菜单项
### BEGIN /etc/grub.d/20_memtest86+ ###

menuentry "Memory test (memtest86+)" {

linux16 /boot/memtest86+.bin

}

menuentry "Memory test (memtest86+, serial console 115200)" {

linux16 /boot/memtest86+.bin console=ttyS0,115200n8

}

### END /etc/grub.d/20_memtest86+ ###
#30_os-prober
或30_others为系统自动查找并添加其他系统菜单项,按windows,linux,macos顺序

#查找并添加,支持windows 7识别
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_otheros ###
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
menuentry "Microsoft Windows XP Professional" {
set root=(hd0,1)
search –no-floppy –fs-uuid –set e852-230b
drivemap -s (hd0) $root

#对以ntldr引导的系统如win2000,xp,win2003,因其引导机制只能从第一硬盘启动,系统会自动添加#映射命令,对vista和win7就没有这句命令
chainloader +1

}

### END /etc/grub.d/30_otheros ###
#40_custom
为自定义的启动项,如启动cdlinux
### BEGIN /etc/grub.d/40_custom ###

menuentry "CDLinux"{

set root=(hd0,8)

linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8

initrd /CDlinux/initrd

}
### END /etc/grub.d/40_custom ###

定制个性化的配置文件,可以加入背景图片,使用中文字符,让启动画面独具特色,而不是单调的黑、白、蓝三色。下面是一张经美化启动画面:




四、脚本修改

该怎样定制个性化的配置文件呢?

系统安装完成后,用户就会发现/boot/grub/grub.cfg文件只有root权限可读,如果要直接修改grub.cfg文件,要先修改其权限。好不容易把grub.cfg修改好了,系统内核或grub升级时,会自动执行update-grubgrub.cfg文件就会被打回原形,如何保证修改后的配置文件能一直保留下来呢?

其实不用修改grub.cfg,只要把个性化配置写入/etc/default/目录下的grub和/etc/gurb.d目录下的脚本文件,以后不管升级内核或者是升级grub所执行的update-grub,都会按要求创建个性化的grub.cfg

1、首先看下 /etc/default/grub,先从应用程序-附件里打开终端,输入

            sudo gedit /etc/default/grub

                  用户密码



看看打开的文件可作什么修改:


# If you change this file, run ‘update-grub’ afterwards to update
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0 ->设置默认启动项,按menuentry顺序。比如要默认从第四个菜单项启动,数字改为3
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true ->隐藏菜单,grub2不再使用,不管
GRUB_TIMEOUT="3" ->设置进入默认启动项的等候时间,默认值10秒,按自己需要修改
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" ->添加内核启动参数,这个为默认
GRUB_CMDLINE_LINUX="noresume" ->手动添加内核启动参数,比如 acpi=off noapic等可在这里添加

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console ->设置是否使用图形介面。去除前面#,仅使用控制台终端,不使用图形介面

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo’
#GRUB_GFXMODE=640×480 设定图形介面分辨率,如不使用默认,把前面#去掉,把分辨率改为800×600或1024×768

# Uncomment if you don’t want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true ->设置grub命令是否使用UUID,去掉#,使用root=/dev/sdax而不用root=UUDI=xxx

# Uncomment to disable generation of recovery mode menu entrys
#GRUB_DISABLE_LINUX_RECOVERY="true" ->设定是否创建修复模式菜单项

2、再看下/etc/grub.d目录下的脚本文件:




00_header,05_debian_theme,10_linux,20_memtest86+,30_os- prober,40_custom这五个脚本对应grub.cfg上的各个部分,有的版本的grub可能把30_os-prober分出另一部分为 30_os-others,这并不影响。怎样修改这些脚本文件才能保证不会破坏update-grub的运行,又能让生成的grub.cfg合乎意愿呢? 其实很简单,只要在脚本文件中找到
    cat << EOF
    ********
    ********
    ********
    EOF
这类语句,EOF中间的文本会直接写入grub.cfg中相应位置,所以个性化的语句添加在这地方就可以了。

其他使用变量的语句不要随变做修改,除非你清楚修改后会有什么结果。


1)看看00_header,一样在终端中打开sudo gedit /etc/grub.d/00_header,找到这部分


cat << EOF
load_env ->加载由save_env保存在grubenv的变量
set default="${GRUB_DEFAULT}" ->使用/etc/default/grub中的设定值
if [ \${prev_saved_entry} ]; then
  saved_entry=\${prev_saved_entry}
  save_env saved_entry
  prev_saved_entry= ->变里设置的变量由下句保存到grubenv
  save_env prev_saved_entry
fi ->这里回车添加新行后可插入需要添加的模块
insmod jpeg ->添加背景图片格式支持,如jpeg,png,tga等。
insmod fat ->添加文件系统格式支持如fat,ntfs,也可在menuentry下添加
EOF

再看看最后这一段


cat << EOF
if [ \${recordfail} = 1 ]; then
  set timeout=-1 ->设定为若有启动失败记录,就显示菜单,需手动选择才能启动选择项
else
  set timeout=${GRUB_TIMEOUT} ->使用/etc/default/grub中的设定值
fi ->这行后添加行
background_image (hd0,7)/boot/images/002.jpg ->添加背景图片的绝对路径
EOF


2)05_debian_theme修改字体及背景颜色

先打开文件 sudo gedit /etc/grub.d/05_debian_theme

看这里

  cat << EOF
set menu_color_normal=white/black ->设置菜单项的字体和背景颜色
set menu_color_highlight=black/white ->设置选择项的字体和背景颜色。
EOF


3)10_linux这部分是自动搜索当前系统,建立当前系统的启动菜单,包括系统头,内核等信息,不要随便修改,要使用个性菜单名,比如中文菜单,可适当添加:

先打开文件 sudo gedit /etc/grub.d/10_linux,找到


        cat << EOF
menuentry "$1" { ->双引号内可添加个性化字符,$1变量也可改为定值,如改为menuentry "启动 Ubuntu Karmic" {
        recordfail=1
        save_env recordfail ->如不要保存启动失败记录的,这两句可删除
EOF

  if [ "x$3" = "xquiet" ]; then
    cat << EOF
    set quiet=1
EOF ->启动画面不用splash,要用跳动字符的,这段可删除


个性化菜单项也可在这里修改,即上面的menuenrty "$1"不变,修改下面的数值:
  linux_entry "${OS}, Linux ${version}" \ ->可改为 linux_entry "启动 Ubuntu, Linux ${version}"\
      "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} ${GRUB_CMDLINE_LINUX_DEFAULT}" \
      quiet
  if [ "x${GRUB_DISABLE_LINUX_RECOVERY}" != "xtrue" ]; then
    linux_entry "${OS}, Linux ${version} (recovery mode)" \ ->可改为 linux_entry "启动 Ubuntu, Linux ${version} (修复模式)"\
    "single ${GRUB_CMDLINE_LINUX}"
  fi

注意只修改引号内的字符,前面的menuentry,linux_entry和后面的\不要做修改。


4)20_memtest86+自动添加内存测试启动项

打开文件 sudo gedit /etc/grub.d/20_memtest86+,找到


  cat << EOF
menuentry "Memory test (memtest86+)" { ->双引号内可添加个性字符如menuentry "启动 内存测试"
    linux16    $MEMTESTPATH
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    linux16    $MEMTESTPATH console=ttyS0,115200n8
}
EOF
上面有两内存测试项,可删除其中一个。

5)30_os-prober查找其他分区中存在的系统并建立菜单项,依次为windows,linux,macos。

对于单系统,默认会隐藏菜单,可在这里去掉隐藏

先打开文件 sudo gedit /etc/grub.d/30_os-prober

单ubuntu系统会自动隐藏菜单,要取消隐藏菜单,可把这部份的三个timeout=0改为和/etc/default/grub中的timeout一致,比如timeout=10。
    cat <<EOF
if [ \${timeout} != -1 ]; then
  if keystatus; then
    if keystatus –shift; then
      set timeout=-1
    else
      set timeout=0
    fi
  else
    if sleep$verbose –interruptible 3 ; then
      set timeout=0
    fi
  fi
fi
EOF
      else
    cat << EOF
if [ \${timeout} != -1 ]; then
  if sleep$verbose –interruptible ${GRUB_HIDDEN_TIMEOUT} ; then
    set timeout=0
  fi
fi
EOF

下面这段自动查找并添加windows、linux和macos启动项,可在menuentry内修改个性字符
windows启动项
for OS in ${OSPROBED} ; do
   ……
  if [ -z "${LONGNAME}" ] ; then
    LONGNAME="${LABEL}"
  fi
    ……
      cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" { ->比如改为menuentry "启动 Windows XP" {
EOF

linux启动项
    linux)
      LINUXPROBED="`linux-boot-prober ${DEVICE} 2> /dev/null | tr ‘ ‘ ‘^’ | paste -s -d ‘ ‘`"
    ……
        if [ -z "${LLABEL}" ] ; then
          LLABEL="${LONGNAME}"
        fi
        cat << EOF
menuentry "${LLABEL} (on ${DEVICE})" { ->比如改为menuentry "启动 Mandriva" {
EOF

macos启动项
    macosx)
      OSXUUID="`grub-probe –target=fs_uuid –device ${DEVICE} 2> /dev/null`"
        cat << EOF
menuentry "${LONGNAME} (on ${DEVICE})" { ->比如改为menuentry "启动 MacOS" {
EOF

6)40_custom 自定义启动项,按菜单标准格式在后面添加即可,如


#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the ‘exec tail’ line above.

menuentry "启动 Veket" {
    set root=(hd0,8)
    linux /veket/vmlinuz root=/dev/ram0 PMEDIA=hd
    initrd /veket/initrd.gz
}
menuentry "启动 CDLinux" {
    set root=(hd0,8)
    linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
    initrd /CDlinux/initrd
}


3、把各项脚本修改保存后,在终端执行
sudo update-grub
再执行

sudo gedit /boot/grub/grub.cfg
看看配置文件是不是和你想要的一样了。
如果有不够满意的地方,重新修改下脚本文件,再执行sudo update-grub


4、ubuntu和windows双系统,怎样让系统默认为从windows启动

在 /etc/grub.d目录中的脚本文件的文件名都是以数字开头,这确定了在执行update-grub时各文件内容被执行的顺序,我们只要把 30_os-prober这个文件名的数字30改为05到10之间的数字即可(没多少可选06、07、08、09),比如改为08_os-prober, 这样创建出来的grub.cfg内的菜单项,windows的排序就会自动在ubuntu之前。


五、使用grub2常见错误及修复方法

1、双系统,重装windows引起没有ubuntu启动项

使用安装版的windows重装windows时会改写mbr,造成grub丢失,可以用grub4dos引导进入ubuntu后修复grub或用livecd启动后修复grub

1)用grub4dos修复ubuntu

先下载最新版的grub4dos,下载地址http://nufans.net/grub4dos/ ,如果是xp系统,把grub4dos压缩包内的grldr复制到C根目录下,修改boot.ini,在最后加上一行 c:\grldr="grub4dos"


对 于vista/win7系统,把压缩包内的grldr.mbr和grldr复制到C盘根目录下,在C盘自己建立一个boot.ini文件,若有boot隐 藏分区的,先给boot分区分配盘符,再把grldr,grldr.mbr和boot.ini放在boot分区下,boot.ini内容如下:


然后在根目录新建一个menu.lst,内容为

        timeout 0
        default 0

        title grub2
        find –set-root /boot/grub/core.img

        kernel /boot/grub/core.img
        boot

        (有/boot分区的改为

        find –set-root /grub/core.img

        kernel /grub/core.img)

重启后选择Grub4Dos会自动转入grub2,从grub2菜单项选择ubuntu启动后,在终端执行

        sudo grub-install /dev/sda

将grub装入第一硬盘的mbr,如要装入第二硬盘的mbr把sda改为sdb,第三硬盘为sdc,类推。

至于要把grub装到sdasdbsdcmbr上,需根据自己情况确定,看看要设置哪一块硬盘为启动盘,就把grub装到那块硬盘的mbr上。


2)用livecd修复grub

用ubuntu9.10的livecd启动后,打开终端

假如你的ubuntu的 / 分区是sda7,又假如 /boot分区是 sda6,用livecd启动,在终端下输入
    sudo -i
    mount /dev/sda7 /mnt
    mount /dev/sda6 /mnt/boot (如果没 /boot 单独分区这步跳过)
    grub-install –root-directory=/mnt/ /dev/sda
  

     和前面一样,要装入第二硬盘的把sda改为sdb。

如果grub.cfg己丢失,需要重建的还要执行

    mount –bind /proc /mnt/proc
    mount –bind /dev /mnt/dev
    mount –bind /sys /mnt/sys
    chroot /mnt update-grub
    umount /mnt/sys
    umount /mnt/dev
    umount /mnt/proc

        exit


3)用带grub启动的光盘或U盘修复

如果手上有grub启动的工具盘,用工具盘启动,在grub菜单上按c进入命令行状态,

在grub>提示符下输入

    grub>find /boot/grub/core.img (有/boot分区的用find /grub/core.img)

    (hdx,y) (显示查找到的分区号)

    grub>root (hdx,y)

    grub>kernel /boot/grub/core.img (/boot分区的用 kernel /grub/core.img)

    grub>boot

执行boot后能转入grub2菜单,启动ubuntu后,再在ubuntu终端下执行

    sudo grub-install /dev/sda (或sdb,sdc等)修复grub。



3)用带grub启动的光盘或U盘修复

如果手上有grub启动的工具盘,用工具盘启动,在grub菜单上按c进入命令行状态,

在grub>提示符下输入

    grub>find /boot/grub/core.img (有/boot分区的用find /grub/core.img)

    (hdx,y) (显示查找到的分区号)

    grub>root (hdx,y)

    grub>kernel /boot/grub/core.img (/boot分区的用 kernel /grub/core.img)

    grub>boot

执行boot后能转入grub2菜单,启动ubuntu后,再在ubuntu终端下执行

    sudo grub-install /dev/sda (或sdb,sdc等)修复grub。

        如果ubuntu的启动分区使用ext4格式,要有支持ext4格式的grub才能修复。


2、安装时grub没装在mbr上而选择装在linux分区的pbr上,怎么引导ubuntu

1)按前面的方法一,以grub4dos引导转入grub2。

2)把ubuntu分区/boot/grub目录下的boot.img提取出来,放到C盘根目录下,然后修改boot.ini,在最后添加一行 C:\boot.img="grub2"

对vista/7可在C盘新建一个boot.ini,内容为


    [boot loader]

    timeout=0

    default=c:\boot.img

     [operating systems]

    c:\boot.img="grub2"

重启后选择grub2就可进入grub2菜单。


3、由于分区调整引起分区号或分区UUID改变造成的grub2不能正常启动

己安装好系统,对硬盘再次进行分区调整时可能会改变现有分区的分区号发生变化,或者某种原因改变启动分区的UUID,都会造成grub2不能正常启动,而启动进入修复模式(grub rescue),这时就要对grub进行修复。

1)用ubuntu9.10的livecd光盘启动,进入试用桌面系统后,再修复grub,操作方法如第一种情况的第二种方法—

2)在rescue模式下启动并修复

由于分区问题,启动时会自动进入rescue模式,只要grub核心文件还在分区内,就能由rescue模式转到normal模式,进而通过命令进入系统。下面这个就是rescue介面:

由于在rescue模式下,只有少量的基本命令可用,必须通过一定的操作才能加载正常模块,然后进入正常模式。

rescue模式下可使用的命令有:set,ls,insmod,root,prefix(设置启动路径)

先假设grub2的核心文件在(hd0,8)分区,再来看看怎样从rescue模式进入从(hd0,8)启动的正常模式(normal)。

在rescue模式下search命令不能用,对不清楚grub2文件处于哪个分区的,可以用ls命令查看,比如

    ls (hd0,8)/ 查看(hd0,8)分区根目录,看看有没有boot文件夹

    ls (hd0,8)/boot/ 查看(hd0,8)分区的/boot目录下文件

    ls (hd0,8)/boot/grub/ 查看(hd0,8)分区/boot/grub目录下文件

通过文件查看,可以确定grub2核心文件处于哪个分区,接下来就可以进行从rescue到normal的转变动作:


1)分区号(hd0,8)在单独使用时可以不加小括弧,在使用路径是必须加小括弧,如第2和第3步。

2)由于grub2版本的的不一致,有的可能在第9步insmod normal.mod加载正常模块后直接进入normal模式,即出现了normal grub>的提示符,这种情况就不能执行第10步,即可以跳过normal命令的输入。

3)虽然输入normal命令会出现菜单,但由于缺少加载内核的Linux命令,直接从菜单不能进入系统,需要按c在命令行继续操作。

4)使用/boot单独分区的,要正确修改路径,如

    prefix=(hd0,8)/grub

    insmod /grub/normal.mod

另外root=/dev/sda8也要修改根分区的分区号。

5)按boot启动系统后,再在系统下打开终端,执行命令修复grub

重建配置文件grub.cfg

    sudo update-grub

重建grub到第一硬盘mbr

    sudo grub-install /dev/sda

 

4、双硬盘双系统 Grub Loading时间过长的解决方案

对双(多)硬盘的情况建议把grub安装在ubuntu所在硬盘的mbr上,/boot分区或 / 分区 尽量靠前,并设该硬盘为启动盘,会大大缩短启动时间。

5、重复一下,单linux系统或硬盘安装时iso放在C盘,umount /isodevice引起的误认为单系统不能出现菜单项的几种处理方法。
1. 开机自检后时按几下shift键,可调出菜单项
2. sudo update-grub
重建grub.cfg,会发现新的系统而改写grub.cfg,一般能出现菜单项。
3.如第二种方法不能解决,直接修改grub.cfg
把在### BEGIN /etc/grub.d/30_os-prober 中的这一段
if keystatus; then
if keystatus –shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose –interruptible 3 ; then
set timeout=0
fi
fi
整段删除或修改三处set timeout=<大于0>,再执行
sudo update-grub



参考论坛资料: http://bbs.znpc.net/forumdisplay.php?fid=57&page=1

 

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。   可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find命令,“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说,“find”命令也是了解和学习Linux文件特点的方法。因为Linux发行版本繁多,版本升级很快,在Linux书籍上往往写明某个配置文件的所在位置,往往Linux新手按图索骥还是不能找到。比如说REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盘位置和文件目录就有了很大的改变,如果不学会使用“find”命令,那么在成千上万的Linux文件中要找到其中的一个配置文件是相当困难的,笔者在没有精通“find”命令之前就吃过这样的苦头。好,下面就详细为大家介绍强大的“find”命令的全部使用方法和用途。   通过文件名查找法:   这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的"ls"命令就能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名,而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令:

1
  find / -name httpd.conf

  这个命令语法看起来很容易就明白了,就是直接在find后面写上 -name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:

1
2
  
  etc/httpd/conf/httpd.conf

  这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。
  如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行find/ -name httpd.conf命令,而可能是你的系统中没有安装Apache服务器,这时只要你安装了Apache Web服务器,然后再使用find / -name httpd.conf就能找到这个配置文件了。

  无错误查找技巧:

  在Linux系统中“find”命令是大多数系统用户都可以使用的命令,并不是ROOT系统管理员的专利。但是普通用户使用“find”命令时也有可能遇到这样的问题,那就是Linux系统中系统管理员ROOT可以把某些文件目录设置成禁止访问模式。这样普通用户就没有权限用“find”命令来查询这些目录或者文件。当普通用户使用“find”命令来查询这些文件目录是,往往会出现"Permissiondenied."(禁止访问)字样。系统将无法查询到你想要的文件。为了避免这样的错误,我们可是使用转移错误提示的方法尝试着查找文件,输入

1
  find / -name access_log 2&gt;/dev/null

  这个方法是把查找错误提示转移到特定的目录中去。系统执行这个命令后,遇到错误的信息就直接输送到stderrstream 2 中,access_log 2就是表明系统将把错误信息输送到stderrstream 2中,/dev/null是一个特殊的文件,表明空的或者错误的信息,这样查询到的错误信息将被转移了,不会再显示了。  在Linux系统查找文件也会遇到这样一个实际问题。如果我们在整个硬盘,这个系统中查找某个文件就要花费相当长的一段时间,特别是大型Linux系统和容量较大的硬盘,文件放在套嵌很深的目录中的时候。如果我们知道了这个文件存放在某个大的目录中,那么只要在这个目录中往下找就能节省很多时间了。使用find /etc -name httpd.conf 就可以解决这个问题。上面的命令就是表示在etc目录中查询httpd.conf这个文件。这里再说明一下“/ ”这个函数符号的含义,如果输入 “find/ ”就是表示要求Linux系统在整个ROOT目录下查找文件,也就是在整个硬盘上查找文件,而“find/etc”就是只在 etc目录下查找文件。因为“find/etc”表示只在etc目录下查找文件,所以查找的速度就相应要快很多了。   根据部分文件名查找方法:   这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

1
  find /etc -name &#39;*srm*&#39;

  这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

1
  find /etc -name &#39;srm*&#39;

  这是只有像srmyz 这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。   根据文件的特征查询方法:   如果只知道某个文件的大小,修改日期等特征也可以使用“find”命令查找出来,这和WINDOWS系统中的"搜索"功能是基本相同的。在微软的"搜索"中WINDOWS中的"搜索助理"使得搜索文件和文件夹、打印机、用户以及网络中的其他计算机更加容易。它甚至使在Internet 上搜索更加容易。"搜索助理"还包括一个索引服务,该服务维护了计算机中所有文件的索引,使得搜索速度更快。使用"搜索助理"时,用户可以指定多个搜索标准。例如,用户可以按名称、类型及大小搜索文件和文件夹。用户甚至可以搜索包含特定文本的文件。如果用户正使用 Active Directory,这时还可以搜索带有特定名称或位置的打印机。   例如我们知道一个Linux文件大小为1,500 bytes,那么我们可是使用如下命令来查询find / -size 1500c,字符 c 表明这个要查找的文件的大小是以bytes为单位。如果我们连这个文件的具体大小都不知道,那么在Linux中还可以进行模糊查找方式来解决。例如我们输入find/ -size +10000000c 这个命令,则标明我们指定系统在根目录中查找出大于10000000字节的文件并显示出来。命令中的“+”是表示要求系统只列出大于指定大小的文件,而使用“-”则表示要求系统列出小于指定大小的文件。下面的列表就是在Linux使用不同"find"命令后系统所要作出的查找动作,从中我们很容易看出在Linux中使用“find"命令的方式是很多的,“ find"命令查找文件只要灵活应用,丝毫不必在WINDOWS中查找能力差。

1
2
3
4
5
6
7
8
  find / -amin -10 	# 查找在系统中最后10分钟访问的文件
  find / -atime -2 		# 查找在系统中最后48小时访问的文件
  find / -empty 		# 查找在系统中为空的文件或者文件夹
  find / -group cat 	# 查找在系统中属于 groupcat的文件
  find / -mmin -5 		# 查找在系统中最后5分钟里修改过的文件
  find / -mtime -1 	# 查找在系统中最后24小时里修改过的文件
  find / -nouser 		# 查找在系统中属于作废用户的文件
  find / -user fred 	# 查找在系统中属于FRED这个用户的文件

  下面的列表就是对find命令所可以指定文件的特征进行查找的部分条件。在这里并没有列举所有的查找条件,参考有关Linux有关书籍可以知道所有find命令的查找函数。

1
2
3
4
5
6
7
8
9
10
  选项	  		用途描述
  -amin n		查找系统中最后N分钟访问的文件
  -atime n		查找系统中最后n*24小时访问的文件
  -cmin n		查找系统中最后N分钟被改变状态的文件
  -ctime n		查找系统中最后n*24小时被改变状态的文件
  -empty		查找系统中空白的文件,或空白的文件目录,或目录中没有子目录的文件夹
  -false			查找系统中总是错误的文件
  -fstype type	查找系统中存在于指定文件系统的文件,例如:ext2 .
  -gid n			查找系统中文件数字组 ID 为 n的文件
  -group gname	查找系统中文件属于gnam文件组,并且指定组和ID的文件

 Find命令的控制选项说明:   Find命令也提供给用户一些特有的选项来控制查找操作。下表就是我们总结出的最基本,最常用的find命令的控制选项及其用法。

1
2
3
4
5
6
7
8
9
  选项	  			用途描述
  -daystart			测试系统从今天开始24小时以内的文件,用法类似-amin
  -depth			使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容
  -follow			遵循通配符链接方式查找; 另外,也可忽略通配符链接方式查询
  -help				显示命令摘要
  -maxdepth levels	在某个层次的目录中按照递减方法查找
  -mount			不在文件系统目录中查找, 用法类似 -xdev.
  -noleaf			禁止在非UNUX文件系统,MS-DOS系统,CD-ROM文件系统中进行最优化查找
  -version			打印版本数字

     使用-follow选项后,find命令则遵循通配符链接方式进行查找,除非你指定这个选项,否则一般情况下find命令将忽略通配符链接方式进行文件查找。   -maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令

1
  find . -maxdepth 2 -name fred

  假如这个fred文件在./sub1/fred目录中,那么这个命令就会直接定位这个文件,查找很容易成功。假如,这个文件在./sub1/sub2/fred目录中,那么这个命令就无法查找到。因为前面已经给find命令在目录中最大的查询目录级别为2,只能查找2层目录下的文件。这样做的目的就是为了让find命令更加精确的定位文件,如果你已经知道了某个文件大概所在的文件目录级数,那么加入-maxdepth n 就很快的能在指定目录中查找成功。   使用混合查找方式查找文件   find命令可以使用混合查找的方法,例如我们想在/tmp目录中查找大于100000000字节并且在48小时内修改的某个文件,我们可以使用-and 来把两个查找选项链接起来组合成一个混合的查找方式。

1
  find /tmp -size +10000000c -and -mtime +2

  学习过计算机语言的朋友都知道,在计算机语言里,使用and ,or 分别表示“与”和“或”的关系。在Linux系统的查找命令中一样通用。   还有这样的例子,

1
  find / -user fred -or -user george

  我们可以解释为在/tmp目录中查找属于fred或者george这两个用户的文件。   在find命令中还可以使用“非”的关系来查找文件,如果我们要在/tmp目录中查找所有不属于panda的文件,使用一个简单的

1
  find /tmp ! -user panda

  命令就可以解决了。很简单。   查找并显示文件的方法   查找到某个文件是我们的目的,我们更想知道查找到的文件的详细信息和属性,如果我们采取现查找文件,在使用LS命令来查看文件信息是相当繁琐的,现在我们也可以把这两个命令结合起来使用。

1
  find / -name &quot;httpd.conf&quot; -ls

  系统查找到httpd.conf文件后立即在屏幕上显示httpd.conf文件信息。

1
  12063 34 -rw-r--r-- 1 root root 33545 Dec 30 15:36 /etc/httpd/conf/httpd.conf

  下面的表格就是一些常用的查找文件并显示文件信息的参数和使用方法

1
2
3
4
5
6
7
8
  选项  			用途描述
  -exec command;	查找并执行命令
  -fprint file  		打印文件完整文件名
  -fprint0 file		打印文件完整文件名包括空的文件
  -fprintf file format 	打印文件格式
  -ok command;		给用户命令执行操作,根据用户的Y 确认输入执行
  -printf format		打印文件格式
  -ls				打印同种文件格式的文件.

  总结:到这里为止我们已经学习了这名多关于find命令的使用方法,也列出了很多常用的find命令的选项,如果我们能熟练掌握在Linux中find命令的使用方法,那么在Linux中查找文件也不是一件困难的事情。

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare

手动执行一条语句:

1
cp /boot/initrd.img-`uname -r` $WORKDIR/ISOTMP/casper/initrd.gz

把$WORKDIR替换成你remastersys所在的路径,然后再执行remastersys,选择Distiso即可生成iso了,这样生成的ISO就可以用最新的内核启动了。 由于remastersys依赖的是grub,当你安装了remastersys的时候,系统中的grub2已经被grub取代了,因此生成iso后要再执行:

1
apt-get install grub2

将系统中的引导程序恢复成grub2,不然你的系统有可能会无法启动。 btw:1.生成的ISO启动以及使用它是没有任何问题的,但是新的ubiquity安装程序好象无法自动安装grub2,需要chroot你安装的目录再

1
grub-install --root-directory=CHROOT-DIR /dev/sda

2.最好能等到9.10正式版发行后,remastersys更新后再用它生成livecd

Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 if (-f $request_filename) {
      break;
    }
 
    set $supercache_file '';
    set $supercache_uri $request_uri;
 
    if ($request_method = POST) {
      set $supercache_uri '';
    }
 
    if ($query_string) {
      set $supercache_uri '';
    }
 
    if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
      set $supercache_uri '';
    }
 
    if ($supercache_uri ~ ^(.+)$) {
      set $supercache_file 
/wp-content/cache/supercache/$http_host/$1index.html;
    }
 
    if (-f $document_root$supercache_file) {
      rewrite ^(.*)$ $supercache_file break;
    }
 
    if (!-e $request_filename) {
      rewrite . /index.php last;
    }
Google ReaderGoogle BookmarksFacebookTwitterYahoo BookmarksMySpaceHotmailYahoo MailWordPressYahoo MessengerShare