??xml version="1.0" encoding="utf-8" standalone="yes"?>
比如Q拨打北京的座机Q?br />
+99008668015 010 12345678
如果拨打手机Q号码前面要?
+99008668015 0 13012345678
参照了两文章,分别是Ubuntu中文论坛里的 NV+edgy+aiglx+BerylҎ汇?/a> ?Beryl的官方WIKI里的 Install Beryl on Ubuntu Edgy with AIGLX
安装q程大致分以下的三步Q?br />1. 安装昑֍驱动E序
2. 修改 /etc/X11/xorg.conf 文gQ加载相应的驱动及模?br />3. 安装 Beryl 的相兌Y件包
一、安装显卡驱动程?br />
下面Q开始第一步:安装昑֍驱动E序。这里介l的是手动下载安装NVIDIA官方的办法?br />要安装Beryl必M格地安装自己对应昑֍的官方商业驱动。我的显卡是据有收藏价值的 NVIDIA GeForce4 MX 440 。登录到NVIDIA官方|站Q几l辗转,来到 Linux Display Driver Archive 面Q该面|列了所有的Linux驱动E序Q根据自q昑֍芯片选择对应的驱动程?也就是说q不是越新的p好,有可能新的根本就不支持你的旧昑֍)。我的GeForce4 MX 440 Q就只能选择1.0-9631版的驱动Q而不能选择最新的1.0-9746 。下载后得到一个名?NVIDIA-Linux-x86-1.0-9631-pkg1.run 的文件。要安装此文Ӟ需要自p行编译。因此,需要有~译环境Qƈ安装得有自己内核对应的头文g。这些可以通过 sudo apt-get install build-essential linux-headers-$(uname -r) 来安装。然后,再修?/etc/default/linux-restricted-modules-common 文gQ在最后一行的那个引号里面填上“nv?(已经有引号了不需要输入引? ,保存。然后是备䆾 /etc/X11/xorg.conf 文gQ这一步很重要Q如果安装失败,q可以靠它来修复X?br />好了Q下面开始正式的~译安装昑֍驱动q程?br />1.注销
2.d到控制台(Ctrl+Alt+F1)
3. sudo /etc/init.d/gdm stop 关闭gdm
4. sudo ./NVIDIA-Linux.run (执行安装E序Q文件名Ҏ实际情况更改)
5. 接受许可协议
6. 提示说缺模块,是否从网l上下蝲Q?选择 NO
7. 提示需要自q译模块,选择 OK Q?开始编?br />8. 提示需要修?xorg.conf Q?选择 YES Q?允许修改
9. 安装完成 QOK 退出安装程?br />10. sudo /etc/init.d/gdm start 重新启动gdm
d后,?“应用程序?“系l工具?“NVIDIA X Server Settings?里可以看C些详l信息?br />到这里,昑֍驱动E序的安装就告一D落?br />
二、修?/etc/X11/xorg.conf 加蝲需要的模块 在修改以前,一定要再次备䆾Q?br />
保证?Module 里包含以下内容:
Load "dri"
Load "dbe"
Load "glx"
在显卡的 Device 里添加以下内容:
Option "XAANoOffscreenPixmaps"
?Screen 里添加以下内容:
Option "AddARGBGLXVisuals" "True"
在文件的l尾Q添加以下内容:
Section "DRI"
Mode 0666
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection
保存后退出,q启gdm (同样是注销后登录到控制収ͼ?sudo /etc/init.d/gdm restart 来重启gdm)?br />
三、安?Beryl 软g?br />
如果是用的cn99,或者是ubuntu亚洲官方{源可以直接安装,如果不是用的q些源,或者是想用最新版本的berylQ就修改源,加入Q?br />deb http://ubuntu.beryl-project.org/ edgy main
然后Q执?wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add - 加入密匙,然后才刷新Y件包信息?br />然后Q执行?sudo aptitude install beryl 可以安装上 Beryl 的所有依赖包和推荐的软g包。然后,?pȝ--首选项--会话 里,d?beryl-manager 的启动项Q再重启一ơX可以尽情n?Beryl 的绚丽桌面了?br />
2.仔细阅读mysql目录下的说明文?br />
3.参照说明文档(INSTALL-BINARY)办事Q?按照“国际惯例”,# 代表 root ; $ 代表普通用?br /> # groupadd mysql
# useradd -g mysql mysql
$ cd /usr/local
# ln -s /home/××××/mysql .
$ cd mysql
# scripts/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
xQ安装部分就结束了?br />
4.基本安全讄 (删除匿名账户Q修改root密码)
$ cd /usr/local/mysql
# bin/mysqld_safe --user=mysql & //启动MySQL
$ cd /usr/local/mysql
# bin/mysql -u root -p //注:W一ơ登录,root密码为空Q直接回车,或者把-p参数L也可?br /> mysql> DELETE FROM mysql.user WHERE User = '' ; //删除匿名账户
mysql> FLUSH PRIVILEGES; //更新授权?/span>
下面是修改root账户的密码,Ҏ很多
1Q?br /> $ cd /usr/local/mysql
$ bin/mysql -u root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd'); //一定要用PASSWORD()来加?br />2Q?br /> $ cd /usr/local/mysql
$ bin/mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
3Q?br /> $ cd /usr/local/mysql
$ mysqladmin -u root password "newpwd "
关于密码修改到此结束?/span>
5.让MySQL可以自启?br /> # cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
$ cd /etc/init.d
# cp /usr/local/mysql/support-files/mysql.server .
# update-rc.d mysql.server defaults
OK.大功告成?span class="postbody">
写这个脚本,完全是出于学习,脚本中还有很多不的地方有待改进。然而,我比较懒Q先凑合着用吧Q等到把最q的目拿下以后再来好好学学scripting?br />
验证q,标准的mdf文g也可以挂载的Q因为,按照脚本的写法,只要是用 file 命o得到的结果里包含 iso 9660 的文Ӟ都可以用本脚本挂载?br />
点?q里 下蝲deb包,׃BlogJava只能上传zip/rar格式Q所以又被压~成了zip。以前也曾试着弄过deb包,l果初始化脚本没有写对,宛_一位试用的兄弟卸蝲不了Q在此,再次向那位兄弟表C歉意。这下,q脆q接把脚本扔到/usr/bin里面了,可以随便卸蝲了?br />
##################################################################################
#
# GMountISO 一个挂载iso文g的小脚本
# 作?xiaosilent
# Email:xiaosilent@gmail.com
# 版本:0.6
# 依赖Qzenity
# 用法:
# 1,囑Ş界面下,在iso文g上右击选择打开方式Q在命o栏里扑ֈGMountISOQ启动脚?br /># 2.1l端下,直接执行脚本Q和囑Ş界面下一?br /># 2.2l端下,gmountiso iso_path mount_path 直接完成挂蝲
#
##################################################################################
################### 定义变量 ##########################################
ISO_PATH=$1 #iso文g路径Q从W一个参数里获取
MOUNTPOINT=$2 #挂蝲点,W二个参?br />
CHOSED_FUNCTION="" #功能选择Q挂?卸蝲
ISMOUNTED="" #挂蝲Ҏ否已l被占用
################### 一些功能模块?######################################
###功能选择 挂蝲/卸蝲
function choosefunction(){
CHOSED_FUNCTION=`zenity --title="选择要执行的操作" --list --width=100 --radiolist --column="是否选中" --column="操作cd" TRUE "挂蝲新卷" FALSE "卸蝲旧卷"`
if [ "$?" -eq "1" ]
then
echo "没有选择Q直接退?/span>"
exit 0
fi
}
###获取ISO文g的\?br />function getISOPath(){
if [ "$ISO_PATH" = "" ] #命o行参CؓI?br /> then
ISO_PATH=`zenity --file-selection --title "选择要挂载的ISO文g" --filename="~"` #弹出文g选择对话?br /> if [ "$ISO_PATH" = "" ] #从文件对话框"取消"Q给出提CZ息,E序退出?br /> then
zenity --error --title="错误信息" --text="您没有指定要挂蝲的ISO文gQ?/span>"
exit 1
fi
fi
if [ `file $ISO_PATH | grep "ISO 9660" | wc -c` -eq "0" ]
then
zenity --error --title="错误信息" --text="dISO文g出错Q请认文g存在且是标准的ISO格式"
exit 1
fi
}
###获取挂蝲点\?br />function getMountPoint(){
if [ "$MOUNTPOINT" = "" ] #没有从命令行里制定挂载\?br /> then
MOUNTPOINT=`zenity --file-selection --directory --title="请选择ISO文g挂蝲目录" --filename="/media/iso"`
if [ "$MOUNTPOINT" = "" ] #选择了?/span>"取消",l出提示信息Q程序退出?br /> then
zenity --error --title="错误信息" --text="您没有指定挂载目?/span>"
exit 1
fi
fi
}
###挂载点是否存在
function checkMountPoint_Exist(){
if [ ! -e $MOUNTPOINT ] #监测挂蝲Ҏ否存?br /> then #挂蝲点 不存在
zenity --error --title="错误信息" --text="挂蝲目录$MOUNTPOINT不存?/span>"
exit 1
fi
}
###所指定的挂载点是否为目?br />function checkMountPoint_Directory(){
if [ ! -d $MOUNTPOINT ] #如果挂蝲点不是一个目?br /> then
enity --error --title="错误信息" --text="挂蝲目录$MOUNTPOINT不是目录"
exit 1
fi
}
###指定的挂蝲Ҏ否已l被使用
function checkMountPoint_Mounted(){
ISMOUNTED=`grep $MOUNTPOINT /etc/mtab | wc -c`
if [ "$ISMOUNTED" -gt "0" ]
then
ISMOUNTED="TRUE"
else
ISMOUNTED="FALSE"
fi
}
###执行 卸蝲 的操?br />function doUMount(){
if [ "$ISMOUNTED" = "TRUE" ]
then
zenity --warning --title="认卸蝲" --text="卛_卸蝲$MOUNTPOINT下的文g南\n\n在确认卸载以前,L认该卸蝲操作是安全的Q\n\n是否定要进行卸载?"
if [ $? -eq 1 ]
then
exit 0
else
gksu umount $MOUNTPOINT ##gksu在图形界面下切换到超U用戗?br /> checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ]
then
zenity --error --title="卸蝲p|" --text="讑֤忙,或其他原因,卸蝲p|Q?/span>"
exit 1
else
if [ "$CHOSED_FUNCTION" = "挂蝲新卷" ]
then
zenity --info --title="成功卸蝲" --text="原来的卷已经成功卸蝲Q即开始新L挂蝲操作Q?/span>"
else
zenity --info --title="成功卸蝲" --text="挂蝲?MOUNTPOINT的卷已经成功卸蝲Q?/span>"
exit 0
fi
fi
fi
fi
}
###执行 挂蝲 的操?br />function doMount(){
gksu "mount $ISO_PATH $MOUNTPOINT -t iso9660 -o loop,utf8" #gksu在图形界面下切换到超U用戗?br /> checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ]
then
zenity --info --title="挂蝲成功" --text="文g$ISO_PATH已经被成功挂载到$MOUNTPOINTQ\n\nE序自动启动浏览器打开该目录!"
nautilus $MOUNTPOINT #启动览器浏览新挂蝲的卷
else
zenity --error --title="挂蝲p|" --text="在把文g$ISO_PATH挂蝲?MOUNTPOINT时失败!"
fi
exit 0
}
################### ȝ序 ?###################
choosefunction
if [ "$CHOSED_FUNCTION" = "卸蝲旧卷" ] #######卸蝲旧卷
then
getMountPoint
checkMountPoint_Exist
checkMountPoint_Directory
checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ] ########是否需要卸?br /> then
doUMount
else
zenity --info --title="无须卸蝲" --text="指定目录q未曾挂载Q何文件卷Q?/span>"
exit 0
fi
else ##########挂蝲新卷
getISOPath
getMountPoint
checkMountPoint_Exist
checkMountPoint_Directory
checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ] ########是否需要卸?br /> then
doUMount
fi
doMount
fi
exit 0
解决完依赖关p,把下载回来的内核源码解压CQ意目录,比方?~/Desktop/linux-2.6.19 也就是在桌面上了Q在l端下进到该目录Q按照README的说法,?make mrproper 一?然后Q就该配|内怺?br />按照README的说法,可以选择的方法太多了Q?make menuconfig / make xconfig / make gconfig / make oldconfig / make defconfig Q然而,真正需要执行的Q只?make gconfig QGtk下的囑Ş界面模式QKDE的用make xconfigQ,默认情况下,配置E序׃自动?boot里读取当前内核的配置文gQ这可以从终端下的输出得到证明,如果没有dpp入一下。要在当前内栔R|的基础上进行配|,可以大大地加大编译成功的概率?br />其实Q编译内核,最重要的就是内栔R|了Q后面的~译都是自动的,Ҏ不需要h的参与,配置得好Q系l的性能可能得到大q度的提升,当然Q如果没有配|对Q就可能出现各种各样的问题,q就又回Cؓ什么要在现有内栔R|文件的基础上进行配|了?br />
要注意的是,如果要支持PPPoE拨号的话Q就必须把第一?"Code maturity level options" 里的“Prompt for development and/or incomplete code/drivers?选上Qƈ且,?Device Drivers--Network device support--ppp(poin-to-point protocol) support 里,一定要选择?“PPP over Ethernet?否则Q编译完的内核是不能q行pppoe拨号的,会出现“Failed to create PPPoE socket: Address family not supported by protocol”的错误?/font>
其他的配|,根据自qg情况Q适当选择可以了?br />
可以在开始编译之前,?man make-kpkg 看一下,各个参数的具体含义,如果有必要的话,可以加上其他的参敎ͼ比如Q?--append-to-version 之类的?br />?make-kpkg clean 清一下,
再执?fakeroot make-kpkg --initrd kernel_image kernel_headers 开始编译工作?br />
l历了O长的{待之后Q在上一U目录生?linux-headers-2.6.19.deb ?linux-image-2.6.19.deb 直接安装上就可以了。要注意的是如果pP直接重启使用新内核的话,你会发现开、关机的时候屏q是黑的Q没有Q何的提示信息Q这个问题可以通过重新安装usplash-theme-ubuntu 来解冟?br />
到这里,内核~译、安装过E就是l束了,如果利的话Q就可以情享受新内怺Q如果点背,p|了,那就从旧内核启动Q删掉新内核Q重新来q吧。所以,无论如何Q都不要删除pȝ原来的旧内核哟~~~
sudo mkdir fallback
sudo ln -s /usr/share/fonts/zh_CN/simsun.ttc .
sudo mkfontdir
sudo mkfontscale
其中QJAVA_HOME代表的是jdk的安装目录,我是自己~译安装的sun的jdkQ安装目录就?usr/lib/j2sdk1.5-sun?/usr/share/fonts/zh_CN/simsun.ttc 是我的宋体文件存放\径,Ҏ实际情况修改是了?只是Q要注意的是Q所使用的字体文件一定是要能够支持中文的字体Q否则,q一切都是白搭?br />
ȝQ安装主题,虽然可以直接通过主题理器安装到~/themesQ却会出现在使用 新立?{等理工具的时候窗体不能应用主题的情况Q要解决q个问题Q只要把 相应的主题文件安装到 /usr/share/themes 下就可以了。icon 也是一P安装?/usr/share/icons 卛_。当Ӟ直接从~/.themse ?~/.icons 下链接过M是一个办法。ȝ来说是要让/usr/share 下也能够d ~ 下的 主题和图标文件就可以了?br />
整张贴图
##################################################################################
#
# GMountISO 一个挂载在GNOME环境下挂载iso文g的小小脚本
# 作?xiaosilent
# Email:xiaosilent@gmail.com
# 版本:0.3
# 依赖Qzenity
# 用法:
# 1,囑Ş界面下,直接执行脚本,也可复制到~/gnome2/nautilus-scripts/下,q样在nautilus的上下文菜单中出现scriptV?br /># 2.1l端下,直接执行脚本Q和囑Ş界面下一?br /># 2.2l端下,./mountiso iso_path mount_path 直接完成挂蝲
#
##################################################################################
################### 定义变量 ##########################################
ISO_PATH=$1 #iso文g路径Q从W一个参数里获取
MOUNTPOINT=$2 #挂蝲点,W二个参?br />
CHOSED_FUNCTION="" #功能选择Q挂?/span>/卸蝲
ISMOUNTED="" #挂蝲Ҏ否已l被占用
################### 一些功能模块?######################################
###功能选择 挂蝲/卸蝲
function choosefunction(){
CHOSED_FUNCTION=`zenity --title="选择要执行的操作" --list --width=100 --radiolist --column="是否选中" --column="操作cd" TRUE "挂蝲新卷" FALSE "卸蝲旧卷"`
if [ "$?" -eq "1" ]
then
echo "没有选择Q直接退?/span>"
exit 0
fi
}
###获取ISO文g的\?br />function getISOPath(){
if [ "$ISO_PATH" = "" ] #命o行参CؓI?br /> then
ISO_PATH=`zenity --file-selection --title "选择要挂载的ISO文g" --filename="~"` #弹出文g选择对话?br /> if [ "$ISO_PATH" = "" ] #从文件对话框"取消"Q给出提CZ息,E序退出?br /> then
zenity --error --title="错误信息" --text="您没有指定要挂蝲的ISO文gQ?/span>"
exit 1
fi
fi
if [ `file $ISO_PATH | grep "ROM" | wc -c` -eq "0" ]
then
zenity --error --title="错误信息" --text="dISO文g出错Q请认文g存在且是标准的ISO格式"
exit 1
fi
}
###获取挂蝲点\?br />function getMountPoint(){
if [ "$MOUNTPOINT" = "" ] #没有从命令行里制定挂载\?br /> then
MOUNTPOINT=`zenity --file-selection --directory --title="请选择ISO文g挂蝲目录" --filename="/media/iso"`
if [ "$MOUNTPOINT" = "" ] #选择了?/span>"取消",l出提示信息Q程序退出?br /> then
zenity --error --title="错误信息" --text="您没有指定挂载目?/span>"
exit 1
fi
fi
}
###挂载点是否存在
function checkMountPoint_Exist(){
if [ ! -e $MOUNTPOINT ] #监测挂蝲Ҏ否存?br /> then #挂蝲点 不存在
zenity --error --title="错误信息" --text="挂蝲目录$MOUNTPOINT不存?/span>"
exit 1
fi
}
###所指定的挂载点是否为目?br />function checkMountPoint_Directory(){
if [ ! -d $MOUNTPOINT ] #如果挂蝲点不是一个目?br /> then
enity --error --title="错误信息" --text="挂蝲目录$MOUNTPOINT不是目录"
exit 1
fi
}
###指定的挂蝲Ҏ否已l被使用
function checkMountPoint_Mounted(){
ISMOUNTED=`grep $MOUNTPOINT /etc/mtab | wc -c`
if [ "$ISMOUNTED" -gt "0" ]
then
ISMOUNTED="TRUE"
else
ISMOUNTED="FALSE"
fi
}
###执行 卸蝲 的操?br />function doUMount(){
if [ "$ISMOUNTED" = "TRUE" ]
then
zenity --warning --title="是否选择卸蝲" --text="挂蝲目录$MOUNTPOINT已经被占用,必须要先q行卸蝲。\n\n在确认卸载以前,L认该卸蝲操作是安全的Q\n\n卸蝲操作需要root权限Q是否确定要q行卸蝲Q?/span>"
if [ $? -eq 1 ]
then
exit 0
else
gksu umount $MOUNTPOINT ##gksu在图形界面下切换到超U用戗?br /> checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ]
then
zenity --error --title="卸蝲p|" --text="讑֤忙,或其他原因,卸蝲p|Q?/span>"
exit 1
else
if [ "$CHOSED_FUNCTION" = "挂蝲新卷" ]
then
zenity --info --title="成功卸蝲" --text="原来的卷已经成功卸蝲Q即开始新L挂蝲操作Q?/span>"
else
zenity --info --title="成功卸蝲" --text="原来的卷已经成功卸蝲Q?/span>"
exit 0
fi
fi
fi
fi
}
###执行 挂蝲 的操?br />function doMount(){
gksu "mount $ISO_PATH $MOUNTPOINT -t iso9660 -o loop,utf8" #gksu在图形界面下切换到超U用戗?br /> checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ]
then
zenity --info --title="挂蝲成功" --text="文g$ISO_PATH已经被成功挂载到$MOUNTPOINTQ\n\nE序自动启动浏览器打开该目录!"
nautilus $MOUNTPOINT #启动览器浏览新挂蝲的卷
else
zenity --error --title="挂蝲p|" --text="在把文g$ISO_PATH挂蝲?MOUNTPOINT时失败!"
fi
exit 0
}
################### ȝ序 ?###################
choosefunction
if [ "$CHOSED_FUNCTION" = "卸蝲旧卷" ] #######卸蝲旧卷
then
getMountPoint
checkMountPoint_Exist
checkMountPoint_Directory
checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ] ########是否需要卸?br /> then
doUMount
else
zenity --info --title="无须卸蝲" --text="指定目录q未曾挂载Q何文件卷Q?/span>"
exit 0
fi
else ##########挂蝲新卷
getISOPath
getMountPoint
checkMountPoint_Exist
checkMountPoint_Directory
checkMountPoint_Mounted
if [ "$ISMOUNTED" = "TRUE" ] ########是否需要卸?br /> then
doUMount
fi
doMount
fi
exit 0
暂时q只实现了这么点功能Q不q,目前暂时够本人用了,所以,暂时Q这个脚本就是这样了?br />
刚才Q搜索了一下mountisoQ出来一个kde下的东东Q所以,我这个mountiso׃能再存在了,现在换成 GMountISO?br />
#---------------------------------------------------------------
# mountiso ISO文g挂蝲脚本
# 作?xiaosilent
# Email:xiaosilent@gmail.com
# 版本:0.1
# 依赖Qzenity
# 用法Q?/span>====先把本脚本链接到 /usr/bin.q赋?55的权?/span>========
# a.l端下: mountiso ***.iso
# b.X环境Q在iso文g上右击,选择 "属?/span>"Q切换到 "打开方式"Q?/span>"d"Q指定本脚本所在位|,定?br /># 最后,再在iso文g上右击,选择 "用 mountiso 打开" 卛_?br />#----------------------------------------------------------------
#~省挂蝲路径
DEFAULT_MOUNTPOINT="/media/iso"
#要挂载的iso文g的\?br />ISOFILE=$1 #获取参数
if [ "$ISOFILE" = "" ] #参数为空
then
echo "请在弹出的对话框中选择要挂载的ISO文g"
ISOFILE=`zenity --file-selection --title "选择要挂载的ISO文g"` #弹出文g选择对话?br /> if [ "$ISOFILE" = "" ] #从文件对话框"取消"
then
zenity --error --title "错误信息" --text="您没有指定要挂蝲的ISO文g"
exit 1
fi
fi
#挂蝲路径
echo "请在弹出的对话框中输入文件要挂蝲到的目录Q默认是$DEFAULT_MOUNTPOINT"
MOUNTPOINT=`zenity --entry --title="挂蝲ISO" --text="误入要挂蝲到的位置" --entry-text="$DEFAULT_MOUNTPOINT"`
if [ "$MOUNTPOINT" = "" ] #选择了?/span>"取消"
then
zenity --error --title "错误信息" --text="您没有指定要挂蝲到的目录"
exit 1
fi
if [ -e $MOUNTPOINT ] #挂载点是否存在
then #挂蝲点存?br /> if [ -d $MOUNTPOINT ] #认挂蝲Ҏ一个目?br /> then #存在且是目录Q开始挂载操?br /> sudo umount $MOUNTPOINT #先试图从该挂载点卸蝲
sleep 1
gksu "mount $ISOFILE $MOUNTPOINT -t iso9660 -o loop,utf8" #gksu在图形界面下切换到超U用?/span>,换用sudoQ在囑Ş界面下会出错?br /> exit 0
else #存在但不是目?br /> zenity --error --title "错误信息" --text="要挂载到?MOUNTPOINT不是目录"
exit 1
fi
else #挂蝲点不存在
zenity --error --title "错误信息" --text="要挂载到的目?MOUNTPOINT不存?/span>"
exit 1
fi
透过q个脚本Q突然发现自己更加喜ƢLinuxq个东东了,能按自己需要来定制我的操作pȝ是爽?br />原来学着写点脚本,也是一件不错的事情Q哈哈!Q?br />
先分别从http://httpd.apache.org?a >http://www.php.net下蝲回httpd2和php5的源码包Q分别ؓQhttpd-2.2.3.tar.gz和php-5.2.0.tar.gz?br />在编译之前,先大概浏览一下它们的INSTALL文gQ看看都有哪些说明?br />httpd的说明很单,再看php的说明,里面有一D|Q?br /> Prerequisite knowledge and software for compiling:
* Basic Unix skills (being able to operate "make" and a C compiler)
* An ANSI C compiler
* flex: Version 2.5.4
* bison: Version 1.28 (preferred), 1.35, or 1.75
* A web server
* Any module specific components (such as gd, pdf libs, etc.)
也就是说Q要有C~译器,flexQbisonQ一个web服务器,q要一些模块的lg。由于计划用apache做web服务器程序,基本~译环境早就装好(如果没有Q就sudo apt-get install build-essential 安装之?Q就看flex和bisonq两个东东了?br />新立得里面搜索了一下,有是有,׃知道是不是版本太陈旧了。还是问了一下googleQ得Cflex和bison的地址Q?a >http://www.gnu.org/software/flex/?a >http://www.gnu.org/software/bison/。分别下载回源码包,然后先编译安装这两个东西Q同L了看说明Q直?
make
sudo make install
2.开始安装Apache
再回q头来看php的说明?br />文g里先讲到的是apache1.3.×的版本如何编译,q里我下载的?.2.3版的Apache了,直接跌q一节,看关于Apache2的编译安装说明?br />
Example 2-4. Installation Instructions (Apache 2 Shared Module
Version)
1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5. cd httpd-2_0_NN
6. ./configure --enable-so
7. make
8. make install
Now you have Apache 2.0.NN available under /usr/local/apache2,
configured with loadable module support and the standard MPM prefork.
To test the installation use your normal procedure for starting
the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start
and stop the server to go on with the configuration for PHP:
/usr/local/apache2/bin/apachectl stop.
前面q有一点版本方面的说明׃了Q根据示例,q入httpd的文件夹Q直接执行?./configure --enable-so来编译apache可以了。考虑刎ͼApache在我机器上待的时间可能不长,如果按默认的安装Q安装到/usr/local下面去,我可能过几天忘了,找不C。就用prefix参数修改一下安装\径。 ?
3.开始编译PHP5
q是看说明:
9. cd ../php-NN
10. Now, configure your PHP. This is where you customize your PHP
with various options, like which extensions will be enabled. Do a
./configure --help for a list of available options. In our example
we'll do a simple configure with Apache 2 and MySQL support. Your
path to apxs may differ, in fact, the binary may even be named apxs2 on
your system.
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
11. make
12. make install
If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.
Note that unless told otherwise, 'make install' will also install PEAR,
various PHP tools such as phpize, install the PHP CLI, and more.
q入到php源码目录Q示例中是?./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysqlq样的,但是Q我不需要安装mysqlQapache的安装目录也不是/usr/local/apache2,所以,E做修改
4.配置ApacheQ是php能够q行h
再看说明Q?br />13. Setup your php.ini
cp php.ini-dist /usr/local/lib/php.ini
You may edit your .ini file to set PHP options. If you prefer having
php.ini in another location, use --with-config-file-path=/some/path in
step 10.
If you instead choose php.ini-recommended, be certain to read the list
of changes within, as they affect how PHP behaves.
14. Edit your httpd.conf to load the PHP module. The path on the right hand
side of the LoadModule statement must point to the path of the PHP
module on your system. The make install from above may have already
added this for you, but be sure to check.
For PHP 4:
LoadModule php4_module modules/libphp4.so
For PHP 5:
LoadModule php5_module modules/libphp5.so
15. Tell Apache to parse certain extensions as PHP. For example,
let's have Apache parse the .php extension as PHP. You could
have any extension(s) parse as PHP by simply adding more, with
each separated by a space. We'll add .phtml to demonstrate.
AddType application/x-httpd-php .php .phtml
It's also common to setup the .phps extension to show highlighted PHP
source, this can be done with:
AddType application/x-httpd-php-source .phps
16. Use your normal procedure for starting the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start
Following the steps above you will have a running Apache 2.0 with
support for PHP as SAPI module. Of course there are many more
configuration options available for both, Apache and PHP. For more
information use ./configure --help in the corresponding source tree.
In case you wish to build a multithreaded version of Apache 2.0 you
must overwrite the standard MPM-Module prefork either with worker or
perchild. To do so append to your configure line in step 6 above
either the option --with-mpm=worker or --with-mpm=perchild. Take care
about the consequences and understand what you are doing. For more
information read the Apache documentation about the MPM-Modules.
l过q样单的步骤Q再启动ApacheQ就可以执行php脚本了?br />
在这里,我们使用自己~译sun的J2SDK安装包的方式q行安装?br />从sun下蝲最新的J2SDK安装包,因ؓQ是Ubuntu操作pȝQ所以,要选择linuxq_下的jdk安装包进行下载,得到文gjdk-1_5_0_06-linux-i586.bin。现在可以直接给.bin文g加上可执行权限,然后在终端下q行安装E序Q这里,我们要把它编译成.deb包的形式再来安装?
W二步就是安装JDK了?br />
从www.eclipse.org上下载gtk版的eclipse3.2 (其实Q只要你在ubuntupȝ上用览器访问,|站会自动把eclipse的版本和你系l想匚w) 解压到本地的L目录q是安装完成了Q简单吧Q?br />
W三步就是安装MyEclipse插g.
?www.myeclipseide.com 下蝲 5.* 版的myeclipse ?手动安装?ManualInstall)Q要注意的是Q虽然网站上提供得有rpm格式的安装包Q这是给RedHat操作pȝ用的QUbuntu是采用的Debian的deb格式装软g包。把得到的zip文g解压到本地的L目录Q然后启动eclipseQ选择 Help - Software Updates - Manage Configuration。在弹出的页面中Q可以看?Eclipse SDK 下是eclipse的安装\径,在该路径上点右键Q在弹出的菜单中选择 Add - Extension Locaion Q添加一个扩展,也就是要指定myeclipse的\径了Q在弹出的文仉择对话框中Q选择myeclipse的\径,定可以了。然后,Ҏ提示重启eclipseQmyeclipseq是安装完成了?br />最后是安装TomcatQ从 tomcat.apache.org 下蝲非windows版本的安装包Q解压到本地L目录Q进入到$Tomcat_Home/binQ执?
最后,q需要在MyEcipse里配|一下服务器Q在 eclipse 的菜单栏上选择 window - Preferences 展开 MyEclipseQ展开 Application Servers Q选择 Tomcat 5,在右侧的~辑ZQ先选择 EnableQ然后指定tomcat的根目录(Tomcat Home Directory)Q根据实际情冉|定即可。再在左侧去展开 Tomcat 5, 查看JDK,是不是刚才安装的jdk。最后确认。这下回到eclipse的图形工hQ就可以通过 服务?那个图标启动/重启/关闭 tomcat?点击试试Q弹Z菜单Q里面有个Tomcat 5 子菜单吧Q再选择启动Q就可以在下面的 控制?看到一些输Z息,q启动tomcat?br />
拔掉|线Q在 BIOS 里修Ҏ从光驱启动,?/font> LiveCD 直接选择W一启动进?/font> Ubuntu Q执行桌面上?/font> install q入安装界面。首先选择默认的系l语aQ再填写一些简单的目Q进入到分区讄?/font>
同学机子原来有三个分区,q次q留最后一?/font> FAT 的分区,作数据备份,其他的全部删掉。先?/font> 1 ?/font> G 出来做交换分区( swap Q,然后l?/font> / 划了 10 ?/font> G Q剩下的都给?/font> /home 。在讄分区挂蝲Ҏ的时候出了点问题?/font>
׃保留了一?/font> FAT 分区Q在安装的时候直接挂载到?/font> /home/username/share Q结果导致安装完成以后,在终端下执行 ls {常用命令,l端昄出来的不是文g夏V链接、还是可执行文g{等Q全是黑Ԍ和普通文件一栗后来,W二天重装了一ơ,没有修改 FAT 分区的挂载位|,直接保留了默认的 /media/hda5 Q在安装完成以后修改 /etc/fstab 讄分区的挂载位|,没出现q个问题了?/font>
另外可以修改/etc/fstab文g中,关于cdrom的挂载行?div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;">/dev/hdc /media/cdrom0 udf,iso9660 user,noauto,utf8 0 0q样Q给光驱讄成utf~码Q可以支持中文而不出现q?br />
安装q程很快q束。运?/font> LiveCD 要求的内存比较大Q最?/font> 256 Q?/font> 512M 用v才比较流畅,安装也才快, 20 分钟左右?/font>
安装完成Q选择立即重启Q取?/font> LiveCD Q从盘启动Q输入用户名、密码进入系l?/font>
在安装过E中之所以要拔掉|线Q是因ؓQ在安装q程中,安装E序会试图从|上下蝲更新……这很浪Ҏ间。所以,把网U拔掉,最单了?/font>
q入pȝ后,发现g驱动完全装好了(机子?/font> 04 q配的,g支持当然不成问题了)。下面,是进行设|了?/font>
讄|络环境
如果是用路由或者静?/font> IP Q直接在 pȝ - pȝ理 - 联网里,修改 eth0 的属性就可以了。如果是 ADSL 拨号上网Q在l端下执?
修改?/font>
在终端下执行
比较快。更多的源信息,可以参看 Http://wiki.ubuntu.org.cn
保存以后Q执?
更新pȝ
执行
中文支持
直到现在pȝq是不能输入中文Q不要紧。只要在 pȝ - pȝ讄 - 语言支持里,在列表框里“中文”后面的短横U上单击Q之变成对P保下面的默认语a是中文,认可以了。系l会自动从源里下载语a包ƈ安装到系l上。完成以后的pȝ可以输入中文了。但是所用到的输入法?/font> SCIM Q它在兼Ҏ方面还有点问题。我?/font> scim-birdge 来替代,执行
多媒体支?/font>
默认pȝ不能播放 mp3 ?/font> wma ?/font> rm {格式,需要安装解码器?/font>
览器支?/font>
?/font> opera 官方下蝲最新的 Opera9.02 的英文版Q之所以是要去官方下蝲英文版,是因Z文版?/font> Opera 在浏?/font> utf ~码的网|会出现字体发虚的现象Q而英文版不会?
安装好浏览器Q在l浏览器d
flash
的支持,从嗯
adobe
官方下蝲
linux
版的
falsh
播放插gQ解压开压羃包,执行
Java 支持
?/font> sun 官方下蝲 linux 版的 jdk Q得C个可执行的安装文件。我们可以选择该文g~译?/font> .deb 格式q行安装Q也可以直接在终端下安装。这里,选择~译的方式。在l端下执?
q样Q一个能满同学需要的pȝ完成了?/font>