Redhat 6.3 手动安装Gnome桌面环境

安装Redhat的时候没有对包进行选择直接下一步,最后发现没有桌面环境。囧。。。
以下是安装Gnome桌面的流水账。

本地安装光盘安装时最快的。
先mount CDROM。

mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom

将源指向CDROM,在/etc/yum.repos.d/下面创建.repo的源文件,内容如下:

[rhel_6_iso]
name=local iso
baseurl=file:///mnt/cdrom
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release #该处的gpgkey文件应该改成iso镜像中的文件名

开始安装

yum groupinstall "X Window System"
yum groupinstall "Desktop"

如果上面的步骤导入密钥时出错,手动进行导入:

rpm --import /mnt/cdrom/RPM-GPG-KEY-redhat-release

安装成功后,可以输入startx进行桌面环境的一些配置,或者也可以用命令行创建桌面环境用的用户,因为默认root用户是禁止登陆桌面环境的。

另外,如果下次无法自动进入桌面环境,需要修改/etc/inittab中的值为5让系统自动进入图形桌面环境。各个数值的含义:

Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)

参考:
http://hi.baidu.com/collick/item/576ff96226419d2368105b47
http://www.2cto.com/os/201104/88533.html
http://blog.csdn.net/lincy100/article/details/6803855
http://www.cnblogs.com/chinacloud/archive/2010/11/25/1887588.html
http://www.faultserver.com/q/answers-redhat-yum-install-gpg-key-retrieval-failed-525958.html

src.rpm源码包直接获取源代码

最近为了编译autoconf,终于找到了Redhat的ftp库:
ftp://ftp.redhat.com/pub/redhat/linux/enterprise/6Client/en/os/SRPMS/
上面只有src.rpm包,下载下来rpm -ivh后报错:

Src.rpm错误: group mockbuild does not exist

搜了很多结果都说只是权限问题,但是源码可以在/usr/src下面找到。 #$@%$^&%&^%#$%###&*& 为什么我就是无法找到 >_<
后来发现其实有方法可以直接取到里面的源码地:

[root@rhel6 src]# rpm2cpio autoconf-2.63-5.1.el6.src.rpm | cpio -id
2012 块

[root@rhel6 src]# ls -l
总用量 2024
-rw-r--r-- 1 root root 1033682 5月 19 21:44 autoconf-2.63-5.1.el6.src.rpm
-rw-rw-r-- 1 root root 1016280 5月 19 21:48 autoconf-2.63.tar.lzma
-rw-r--r-- 1 root root 1056 5月 19 21:48 autoconf-erlang_fix.diff
-rw-r--r-- 1 root root 11518 5月 19 21:48 autoconf.spec

这里可以看到有个tar.lzma,里面就是源码了。 ^.^

参考:
http://bbs.csdn.net/topics/360123665
http://www.litvip.com/94/

PHP动态编译挂载模块

最近在一台Redhat机器上修复一个phpldapadmin缺少gettext组件的问题的时候,学到一个动态编译挂载PHP模块的方法。

事情起因是这台服务器由前人装了openLDAP和phpldapadmin后,openLDAP是配置完成了,但是phpldapadmin却因为缺少gettext而无法正常运行。而且系统是老旧的Redhat6.1,不知道去哪里找到完整的包来重新编译PHP,所以在网上发现了这个方便的方法。

这种方式需要先找到两个命令:phpize,php-config。
可以通过locate找到它们。
我这里的路径分别是:
/usr/local/bin/phpize
/usr/local/bin/php-config

接着,例如需要编译gettext模块,cd到php源码里面的ext下的gettext目录,执行phpize命令:

[root@rhel6 gettext]# /usr/local/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Module Api No: 20090626
Zend Extension Api No: 220090626

可以看到有一些信息输出,接着开始编译:

[root@rhel6 gettext]# ./configure --with-php-config=/usr/local/bin/php-config

最后修改php.ini的配置文件载入这个模块:

extension="gettext.so"
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll

去掉前面的分号后,记得把后缀改成.so,这种方式编译出来的后缀都是.so的。
重启服务器后用phpinfo便可以看到gettext已经载入成功。

参考:
http://bguncle.blog.51cto.com/3184079/1329895
http://lihuipeng007.blog.163.com/blog/static/121084388201071830423/