Press "Enter" to skip to content

Month: October 2013

CentOS 安装gnome/xfce+vncserver

CentOS 安装图形界面的过程,简单记录一下。这里提供了两种图形界面的安装,分别是CentOS自带的gnome桌面及轻巧的xfce。据测试,我的精简版CentOS 6 64位系统安装gnome需要下载522M的文件,而安装xfce仅需下载89M的文件。下面分别介绍安装方法:

1,安装gnome桌面

[root@localhost ~]# yum groupinstall "GNOME Desktop Environment"  (适合Centos 5)
[root@localhost ~]# yum groupinstall "Desktop"                    (适合Centos 6)
安装完gnome桌面以后,最好也同时安装以下两个软件包:
[root@localhost ~]# yum install fonts-chinese         (CentOS 5 安装中文字体)
[root@localhost ~]# yum groupinstall chinese-support  (CentOS 6 安装中文字体)

[root@localhost ~]# yum install nautilus-open-terminal (桌面右键菜单在终端中打开,需重启)

2,安装xfce桌面

2 Comments

CentOS 6桥接网卡配置

安装KVM虚拟机软件,需要配置一个桥接网卡,以便客户机获取到跟真实系统同一网段的IP,本文实验环境基于CentOS 6 64bit,记录一下,本文所有命令均是在真实系统里操作,而非在客户机操作。

1,准备工作

关闭NetworkManager服务,启用network服务
[root@localhost ~]# service NetworkManager stop
[root@localhost ~]# service network restart
[root@localhost ~]# chkconfig --level 2345 NetworkManager off
[root@localhost ~]# chkconfig --level 2345 network on

删除网卡记录文件(最好是删除,不要清空文件内容)
[root@localhost ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules

禁用seLinux
[root@localhost ~]# sestatus   
#如果返回值不是disabled,则编辑/etc/sysconfig/selinux,修改SELINUX=disabled

重启系统
[root@localhost ~]# reboot

按道理说还需要修改/etc/sysctl.conf文件,将net.ipv4.ip_forward的值改为1(即允许多块网卡互相通信),但后来经过试验,此项并不是必须的。如果你不放心,也可以改掉此值。

2,配置桥接网卡信息

这里我们假设复制的网卡名为br0。首先需要知道的是,如果让br0桥接eth0,那么eth0将不再能获得IP,反而是br0获得了原先eth0的IP。

1 Comment

CentOS 6安装mock

最近工作中需要用到mock,这里介绍两种安装方式。本文的环境为CentOS 6.4 x86_64。

一,使用yum安装mock

安装第三方yum源RPMForge

Centos5 64位  wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
Centos5 32位  wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
Centos6 64位  wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
Centos6 32位  wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm

安装下载回来的rpm包

yum install rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

安装mock

yum install mock
Leave a Comment

Linux构造chroot环境

关于chroot的简介,可以参考IBM开发者网站上的这篇理解chroot,本文演示了如何构造一个最简单的chroot环境,本文实验环境为CentOS 6.4 64bit。

[root@os ~]# dd if=/dev/zero of=123.img count=512K bs=20480
[root@os ~]# /sbin/mkfs.ext3 123.img  
#格式化为ext3时可能会提示123.img is not a block special device.不用管它,直接按y继续
[root@os ~]# mkdir /mnt/123
[root@os ~]# mount -o loop 123.img /mnt/123
[root@os ~]# chroot /mnt/123
chroot: failed to run command `/bin/bash': No such file or directory

发生了错误,看来chroot环境不存在/bin/bash(事实也的确不存在),那我们从真实系统里拷贝一个过去吧:)

[root@os ~]# mkdir /mnt/123/bin
[root@os ~]# cp -av /bin/bash /mnt/123/bin/bash
[root@os ~]# chroot /mnt/123
chroot: failed to run command `/bin/bash': No such file or directory

错误依旧,原因是因为/bin/bash需要调用相关的库,因新环境不存在相关的库文件,因此bash不能运行,从而报上述错误,解决方法是利用ldd /bin/bash查找到其所需要的运行库

1 Comment

Linux rpmbuild简单介绍

本博客先前介绍过如何解压rpm包,演示了将.rpm包还原成源代码的形式。rpmbuild则是用来将源代码打包成.rpm格式的工具。

xxx.rpm 指普通的软件包,执行rpm -ivh xxx.rpm以后即是完成了安装;
xxx.src.rpm 指的是包含源代码的软件包,执行rpm -ivh xxx.src.rpm以后,并不是安装了该软件,而是在/root目录下生成一个名为rpmbuild的文件夹(RHEL5中在/usr/src),里面包含了此软件的所有源代码,还需要使用rpmbuild工具将源代码打包成.rpm或者.tar.gz格式的软件包,才能正常安装使用。

CentOS6 中安装rpmbuild:

yum install rpm-build

rpmbuild命令参数介绍
-bp 只作准备 (解压与打补丁)
-bc 准备并编译
-bi 编译并安装
-bl 检验文件是否齐全
-ba 编译后做成*.rpm和src.rpm
-bb 编译后做成*.rpm
-bs 只做成*.src.rpm
-tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。

例如:

cd /usr/src/redhat/SPECS
rpmbuild -bp kernel-2.6.spec

更具体的用法说明:

Leave a Comment

LinuxVPS自动备份脚本(sftp版)

网络上大家都在使用的一个自动备份的脚本(原作者应该是猫言猫语),我自己也在用,经过无数次的使用后发现此脚本存在着一定的BUG(长期使用此脚本的朋友肯定知道BUG在哪里)。自己把脚本改了一下,加入了一些判断,使脚本更加智能化。

改进内容:
1,避免了忘记检查本机是否安装FTP软件导致备份失败的BUG;
2,避免了本机忘记创建/home/backup目录导致备份失败的BUG;
3,去掉了将数据库发送至邮箱的过程;
4,网站文件和数据库不再分开,将压缩至同一个压缩包内;

直接把以下脚本复制到/root/backup.sh

#!/bin/bash
#你要修改的地方从这里开始
MYSQL_BIN=/usr/bin/mysql
MYSQL_DUMP=/usr/bin/mysqldump
MYSQL_USER=root                         #mysql用户名
MYSQL_PASS=zhukun.net                   #mysql密码
SFTP_USER=www.zhukun.net                #ftp用户名
SFTP_PASS=123456789                     #ftp密码
SFTP_IP=11.11.11.11                     #ftp地址
SFTP_backup=upload/www.zhukun.nert      #ftp上存放备份文件的目录,这个要自己得ftp上面建的
WEB_DATA=/opt/apps/     #本地要备份的网站数据
#你要修改的地方从这里结束

#if [ ! -f /usr/bin/ftp ]; then
#    yum install ftp -y
#fi
if [ ! -f /usr/bin/lftp ]; then
    apt install lftp -y
fi
if [ ! -d /opt/backup ]; then
    mkdir /opt/backup
fi

#定义备份文件的名字
DataBakName=Data_$(date +"%Y%m%d").tar.gz
OldData=Data_$(date -d -5day +"%Y%m%d").tar.gz

#删除本地3天前的数据
rm -rf /opt/backup/Data_$(date -d -3day +"%Y%m%d").tar.gz
cd /opt/backup

#导出数据库,一个数据库一个压缩文件
for db in `$MYSQL_BIN -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' | xargs`; do
    ($MYSQL_DUMP -u$MYSQL_USER -p$MYSQL_PASS ${db} -q --skip-lock-tables | gzip -9 - > ${db}.sql.gz;
    echo dumped /home/backup/${db}.sql.gz)
done

#将导出的数据库和网站目录压缩为一个文件
tar zcf /opt/backup/$DataBakName $WEB_DATA /home/backup/*.sql.gz

#删除本地已导出的数据库
rm -rf /opt/backup/*.sql.gz

#上传到FTP空间,删除FTP空间5天前的数据
#ftp -v -n $FTP_IP << END
#user $FTP_USER $FTP_PASS
#type binary
#cd $FTP_backup
#delete $OldData
#put $DataBakName
#bye
#END

# 如果你使用的SFTP, 请使用此方法.
lftp -u "$SFTP_USER,$SFTP_PASS" sftp://$SFTP_IP -e "cd $SFTP_backup; put $DataBakName; delete $OldData; bye"
Leave a Comment

U盘WinPE安装CentOS 6.4

在U盘的WinPE中安装CentOS系统,简单记录一下。

1,在U盘上安装好WinPE。建议选择老毛桃U盘工具,下载地址http://laomaotao.net;

2,在U盘根目录建立一个名为LMT的目录,将安装镜像CentOS-6.4-x86_64-minimal.iso(下载地址)拷入U盘下的LMT目录;

3,将安装镜像CentOS-6.4-x86_64-minimal.iso里的images、isolinux两个目录拷入U盘根目录,否则安装的时候会提示找不到/images/install.img。(不能只将/images/install.img拷贝到光盘根目录)

4,将U盘插入电脑。重启电脑,进入BIOS选择U盘启动,F10保存退出;

5,系统从U盘启动以后显示出老毛桃的启动菜单。菜单中有一项“启动自定义ISO/IMG文件(LMT目录)”,选择该项。系统会列出LMT目录中的ISO文件,直接输入对应的序号就可以安装了。

U盘WinPE安装CentOS 6.4

U盘WinPE安装CentOS 6.4

6 Comments