Skip to content Skip to main navigation Skip to footer

Linux

CentOS/Linux:如何挂载移动硬盘并设置开机自动挂载

在centos linux系统下,如果我们想使用移动硬盘或新增加的硬盘里的数据,那么如何来挂载移动硬盘呢,并且如何设置当系统下次启动的时候,移动硬盘能够自动挂载。本文将会讲述挂载移动硬盘并设置自动挂载的方法。
Linux的硬盘识别:
sda 表示第1块SCSI硬盘
hda 表示第1块IDE硬盘
scd0 表示第1个USB光驱
一般使用“fdisk -l”命令可以列出系统中当前连接的硬盘
步骤:
1.关闭服务器加上新硬盘
2.启动服务器,以root用户登录
3.查看硬盘信息
输入下面的命令:

fdisk -l
 

输出:

 Disk /dev/sda: 146.1 GB, 146163105792 bytes
255 heads, 63 sectors/track, 17769 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
    Device Boot       Start          End       Blocks    Id   System
/dev/sda1    *            1           13       104391    83   Linux
/dev/sda2               14         5112     40957717+   83   Linux
/dev/sda3             5113         5243      1052257+   82   Linux swap /
Solaris
/dev/sda4             5244        17769    100615095     5   Extended
/dev/sda5             5244        17769    100615063+   83   Linux
Disk /dev/sdb: 291.3 GB, 291331192320 bytes
255 heads, 63 sectors/track, 17769 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk /dev/sdb1: 291.3 GB, 291331192320 bytes
 

4.创建新硬盘分区
fdisk可以用m命令来看fdisk命令的内部命令;
a:命令指定启动分区;
d:命令删除一个存在的分区;
l:命令显示分区ID号的列表;
m:查看fdisk命令帮助;
n:命令创建一个新分区;
p:命令显示分区列表;
t:命令修改分区的类型ID号;
w:命令是将对分区表的修改存盘让它发生作用。
输入下面的命令:

fdisk /dev/sdb
 

输出:

Command (m for help):n
Command action
     e    extended    //输入e为创建扩展分区
     p    primary partition (1-4)
p
Partion number(1-4):1
Command (m for help): w
 

输入n回车,再输入p回车,再输出1回车,一路回车,最后输入w回车保存。
查看一下:fdisk -l
可以看到/dev/sdb1分区
5.格式化分区:
输入下面的命令:

mkfs.ext3 /dev/sdb1
 

6.创建/data目录:

mkdir /data
 

7.挂载分区:

mount /dev/sdb1 /data
 

8.配置开机自动挂载因为mount挂载在重启服务器后会失效,所以需要将分区信息写到/etc/fstab文件中让它永久挂载:

vi /etc/fstab
 

加入下面的行:

LABEL=/data             /data                   ext3     defaults         1 2
 

查看cat /etc/fstab

LABEL=/                  /                        ext3     defaults         1 1
LABEL=/data              /data                    ext3     defaults         1 2
LABEL=/boot              /boot                    ext3     defaults         1 2
tmpfs                    /dev/shm                 tmpfs    defaults         0 0
devpts                   /dev/pts                 devpts   gid=5,mode=620   0 0
sysfs                    /sys                     sysfs    defaults         0 0
proc                     /proc                    proc     defaults         0 0
LABEL=SWAP-hda3          swap                     swap     defaults         0 0
 

9.重启系统

reboot
 

CentOS/Linux:如何设置系统启动后直接进入命令行模式

本文将会讲述如何在centos linux系统下配置系统的运行级别。CentOS中如何进入图形界面和文字界面,Linux真正的服务器是不会运行图形化界面的,怎么样才能在不卸载桌面的前提下开机直接进入命令界面呢?(我安装的是CentOS 6.0)下面就简单介绍以下:
一、如果要进入图形界面:
1.首先得安装有图形界面,一般为X-window图形界面。
2.启动linux在终端下输入:startx 即可进入X11的图形操作界面。
二、在图形界面还可以在多个界面中进行切换:在X-window图形操作界面中按“Alt+Ctrl+功能键Fn n=1~6 ”就可以进入Console字符操作界面。按“Alt+Ctrl+F7”即可回到刚才的X-window中。
三、如何每次都自动进入xwindos或者字符界面?
开机后进入图形化界面还是进入命令行取决于inittab文件中的配置。该文件位于etc目录下。

# vi /etc/
 

找到下面的语句,并更改id的值为3:

# Default runlevel. The runlevels used by RHS are:
#1 – Single user mode    –单用户模式
#2 – Multiuser, without NFS (The same as 3, if you do not havenetworking)    –多用户模式,不支持NFS
#3 – Full multiuser mode    –多用户模式
# 4 – unused    –没有使用
# 5 – X11    –图形界面方式
# 6 – reboot (Do NOT set initdefault to this)    –重新启动
id:5:initdefault:    –默认运行等级是5,只要将此处改成 id:3:initdefault:即可
 

另外在文本模式如果想启动图形界面,可以使用下面的方法:

# startx
 

CentOS/Linux:如何利用iptables防火墙限速及限制IP的连接数

centos linux下的默认防火墙就是iptables,如何通过对iptable防火墙的设置来限速并限制每个IP地址的连接数呢。

第一步:建立adsl连接,在系统设置——网络设置处有。在图形界面下很容易搞定。
第二步:打开IP转发和伪装(也就是路由与NAT)
1、作为根用户打开/etc/sysconfig/network文件,在文件增加以下一行: GATEWAYDEV=PPP0 这句话的作用是设定默认路由,有时没有也可
2、打开IP转发功能:打开/etc/sysctl.conf文件,修改net.ipv4.ip_forward=0一行,改0改为1
3、重启系统 第三步,设置iptables防火墙,决定那些IP能通过linux主机上网。 下面以允许 192.168.0.0网段为例:
(1)、打开终端在#字提示符下输入以下命令:

iptables -t nat -I POSTROUTING -o ppp0 -j MASQUERADE #这句意思是伪装从pppo出去的
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT #这句意思是转发来自192.168.0.0网段的通讯
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT #这句意思是转发到达192.168.0.0网段的通讯
iptables -A FORWARD -s ! 192.168.0.0/24 -j DROP #这句意思是拒绝转发非192.168.0.0网段的通讯。
 

(2)、保存以上防火墙规则,以保证重启后还有效 输入下面命令:

iptables-save > /etc/sysconfig/iptables
 

这样,你的linux路由器应该就能跑起来了。
PS: 所有命令都要区分大小写。 限速的实现:在linux中有专门限速的软件–tc,但TC的语法新手难以掌握,我们可以在防火墙上通过限定某个IP或某段IP在一秒内通过的数据包的 数量来限速。 下面以限制192.168.0.2这个IP的网速为例说说。 在桌面环境下打开/etc/syscofngi/iptables 有没有发现,刚才的设定全记录在这个文件里,现在做的就在这个文件里添加规则就得了。
1、先要找到filter
2、在filter下面一行增加以下两行

-A FORWARD -m limit -d 192.168.0.2 --limit 30/sec -j ACCEPT
# 这句意思是限定每秒只转发30个到达192.168.0.2的数据包(约每秒45KB 一个数据包是1.5KB)
-A FORWARD -d 192.168.0.2 -j DROP
#这句作用是超过限制的到达192.168.0.2的数据包不通过)
 

(3)、重启系统,限速就实现了。

reboot
 

(4)、限制上传速度也一样,把上面两条中的d 改为s就得了。 限制每ip连接数 ,内核 2.3以上,否则要打conlimit补丁,重编译内核。

iptables -I FORWARD -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT
iptables -I INPUT -p tcp -s 192.168.0.0/24 -m connlimit --connlimit-above 20 -j REJECT
 

CentOS/linux:如何使用性能监测工具 dstat

在进行性能测试的时候,我们一般需要检测很多方面的数据,这些数据包括CPU占用,内存占用情况,网络状况,load average,进程信息,磁盘信息等等。利用系统提供的命令一般来说可以完成这些数据的监测,但是一般来说,这些命令都是分散的,比如vmstat,iostat,ss,netstat。但是这样一来,命令太分散了,此时就迫切需要一款,可以集中监控的工具, dstat 即可以实现集中监控上述各项指标:
特性:
结合了vmstat,iostat,ifstat,netstat以及更多的信息
实时显示统计情况
在分析和排障时可以通过启用监控项并排序
模块化设计
使用python编写的,更方便扩展现有的工作任务
容易扩展和添加你的计数器(请为此做出贡献)
包含的许多扩展插件充分说明了增加新的监控项目是很方便的
可以分组统计块设备/网络设备,并给出总数
可以显示每台设备的当前状态
极准确的时间精度,即便是系统负荷较高也不会延迟显示
显示准确地单位和和限制转换误差范围
用不同的颜色显示不同的单位
显示中间结果延时小于1秒
支持输出CSV格式报表,并能导入到Gnumeric和Excel以生成图形
dstat 默认情况下系统也并没有安装,下载链接:
Centos/Redhat下载链接: http://pkgs.repoforge.org/dstat/
dstat
安装完后就可以使用了,dstat非常强大,可以实时的监控cpu、磁盘、网络、IO、内存等使用情况。
直接使用dstat,默认使用的是-cdngy参数,分别显示cpu、disk、net、page、system信息,默认是1s显示一条信息。可以在最后指定显示一条信息的时间间隔:默认情况下隔1秒显示一次,一直显示;
如 dstat 5 就是每5秒显示1条信息, dstat 1 10 即每1秒显示一条信息,一共显示10次;
默认情况下分五个区域:
1、 –total-cpu-usage—- CPU使用率
usr:用户空间的程序所占百分比;
sys:系统空间程序所占百分比;
idel:空闲百分比;
wai:等待磁盘I/O所消耗的百分比;
hiq:硬中断次数;
siq:软中断次数;
2、 -dsk/total- 磁盘统计
read:读总数
writ:写总数
3、 -net/total- 网络统计
recv:网络收包总数
send:网络发包总数
4、 —paging– 内存分页统计
in: pagein(换入)
out:page out(换出)
注:系统的分页活动。分页指的是一种内存管理技术用于查找系统场景,一个较大的分页表明系统正在使用大量的交换空间,通常情况下当系统已经开始用交换空间的时候,就说明你的内存已经不够用了,或者说内存非常分散,理想情况下page in(换入)和page out(换出)的值是0 0。
5、 –system– 系统信息
int:中断次数
csw:上下文切换
注:中断(int)和上下文切换(csw)。这项统计仅在有比较基线时才有意义。这一栏中较高的统计值通常表示大量的进程造成拥塞,需要对CPU进行关注。你的服务器一般情况下都会运行运行一些程序,所以这项总是显示一些数值。
默认情况下,dstat 会每隔一秒刷新一次数据,一直刷新并一直输出,按 Ctrl+C 退出 “dstat”;
dstat 还有许多具体的参数,可通过man dstat命令查看,常用参数如下:
-l :显示负载统计量
-m :显示内存使用率(包括used,buffer,cache,free值)
-r :显示I/O统计
-s :显示交换分区使用情况
-t :将当前时间显示在第一行
–fs :显示文件系统统计数据(包括文件总数量和inodes值)
–nocolor :不显示颜色(有时候有用)
–socket :显示网络统计数据
–tcp :显示常用的TCP统计
–udp :显示监听的UDP接口及其当前用量的一些动态数据
这里只是一部分,dstat还附带一些插件扩展它的功能,可以查看/usr/share/dstat目录来查看它们的一些使用方法,常用的有这些:
–disk-util :显示某一时间磁盘的忙碌状况
–freespace :显示当前磁盘空间使用率
–proc-count :显示正在运行的程序数量
–top-bio :指出块I/O最大的进程
–top-cpu :图形化显示CPU占用最大的进程
–top-io :显示正常I/O最大的进程
–top-mem :显示占用最多内存的进程
例:
1、监控swap,process,sockets,filesystem并显示监控的时间
dstat
通过dstat –list可以查看dstat能使用的所有参数,其中上面internal是dstat本身自带的一些监控参数,下面/usr/share/dstat中是dstat的插件,这些插件可以扩展dstat的功能,如可以监控电源(battery)、mysql等。
但这些插件并不能直接使用,它只是列出了可以提供这些功能,如果想用具体的监控插件还需要安装对应的包;

CentOS和Redhat发行版linux内核版本的对应关系汇总

由于Redhat和CentOS的发行版本现在众多,所以我们应该知道CentOS和Redhat及linux内核之间版本的对应关系对维护系统还是很有帮助的。对应的列表如下:
Redhat 9.0———————————————2.4.20-8
RHEL 3 Update 8————————————2.4.21-47
RHEL 4 ————————————————2.6.9-5
RHEL 4 Update 1————————————2.6.9-11
RHEL 4 Update 2————————————2.6.9-22
RHEL 4 Update 3————————————2.6.9-34
RHEL 4 Update 4————————————2.6.9-42
RHEL 4 Update 5————————————2.6.9-55
RHEL 4 Update 6————————————2.6.9-67
RHEL 4 Update 7————————————2.6.9-78
CentOS 5/RHEL 5 ———————————2.6.18-8
CentOS 5.1/RHEL 5 Update 1——————2.6.18-53
CentOS 5.2/RHEL 5 Update 2——————2.6.18-92
CentOS 5.3/RHEL 5 Update 3——————2.6.18-128
CentOS 5.4/RHEL 5 Update 4——————2.6.18-164
CentOS 5.5/RHEL 5 Update 5——————2.6.18-194
CentOS 5.6/RHEL 5 Update 6——————2.6.18-238
CentOS 5.7/RHEL 5 Update 7——————2.6.18-274
CentOS 5.8/RHEL 5 Update 8——————2.6.18-308
CentOS 5.9/RHEL 5 Update 9——————2.6.18-348
CentOS 5.10/RHEL 5 Update 10——————2.6.18-371
CentOS 6.0/RHEL 6 Update 0——————2.6.32-71
CentOS 6.1/RHEL 6 Update 1——————2.6.32-131
CentOS 6.2/RHEL 6 Update 2——————2.6.32-220
CentOS 6.3/RHEL 6 Update 3——————2.6.32-279
CentOS 6.4/RHEL 6 Update 4——————2.6.32-358
CentOS 6.5/RHEL 6 Update 5——————2.6.32-431
更完整的一个对照表格
CentOS version Architectures[13]RHEL base KernelCentOS release dateRHEL release date Delay (days)
2.1 i386 2.1 2.4.9 14 May 2004[1] 17 May 2002[14] 728
3.1 i386, x86-64, IA-64, s390, s390x 3.1 2.4.21-15 19 March 2004[15] 23 October 2003[14] 148
3.3 i386, x86-64, IA-64, s390, s390x 3.3 2.4.21-20 17 September 2004 3 September 2004 14
3.4 i386, x86-64, IA-64, s390, s390x 3.4 2.4.21-27 23 January 2005 12 December 2004 42
3.5 i386 3.5 2.4.21-32 10 June 2005[16] 18 May 2005 23
3.6 i386 3.6 2.4.21-37 1 November 2005[17] 28 September 2005 34
3.7 i386, x86-64, IA-64, s390, s390x 3.7 2.4.21-40 10 April 2006[18] 17 March 2006 23
3.8 i386, x86-64 3.8 2.4.21-47 25 August 2006[19] 20 July 2006 36
3.9 i386, x86-64, IA-64, s390, s390x 3.9 2.4.21-50 26 July 2007[20] 15 June 2007 41
4.0 i386, x86-64, various 4.0 2.6.9-5 9 March 2005[21] 14 February 2005[22] 23
4.1 i386, IA-64, s390 4.1 2.6.9-11 12 June 2005[23] 8 June 2005 4
4.2 i386, x86-64, IA-64, s390, s390x, alpha 4.2 2.6.9-22 13 October 2005[24] 5 October 2005 8
4.3 i386, x86-64, IA-64, s390, s390x 4.3 2.6.9-34 21 March 2006[25] 12 March 2006 9
4.4 i386, x86-64 4.4 2.6.9-42 30 August 2006[26] 10 August 2006 20
4.5 i386, x86-64, IA-64 4.5 2.6.9-55 17 May 2007[27] 1 May 2007 16
4.6 i386, x86-64, IA-64, Alpha, s390, s390x, PowerPC (beta), SPARC (beta) 4.6 2.6.9-67 16 December 2007[28] 16 November 2007[29] 30
4.7 i386, x86-64 4.7 2.6.9-78 13 September 2008[30] 24 July 2008[31] 51
4.8 i386, x86-64 4.8 2.6.9-89 21 August 2009[32] 18 May 2009[33] 95
4.9 i386, x86-64 4.9 2.6.9-100 2 March 2011[34] 16 February 2011[35] 14
5.0 i386, x86-64 5.0 2.6.18-8 12 April 2007[36] 14 March 2007[37] 28
5.1 i386, x86-64 5.1 2.6.18-53 2 December 2007[38] 7 November 2007[39] 25
5.2 i386, x86-64 5.2 2.6.18-92 24 June 2008[40] 21 May 2008[41] 34
5.3 i386, x86-64 5.3 2.6.18-128 31 March 2009[42] 20 January 2009[43] 69
5.4 i386, x86-64 5.4 2.6.18-164 21 October 2009[44] 2 September 2009[45] 49
5.5 i386, x86-64 5.5 2.6.18-194 14 May 2010[46] 31 March 2010[47] 44
5.6 i386, x86-64 5.6 2.6.18-238 8 April 2011[48] 13 January 2011[49] 85
5.7 i386, x86-64 5.7 2.6.18-274 13 September 2011[50] 21 July 2011[51] 54
5.8 i386, x86-64 5.8 2.6.18-308 7 March 2012[52] 21 February 2012[53] 15
5.9 i386, x86-64 5.9 2.6.18-348 17 January 2013[54] 7 January 2013[55] 10
5.10 i386, x86-64 5.10 2.6.18-371 19 October 2013[56] 30 September 2013[57] 19
6.0 i386, x86-64 6.0 2.6.32-71 10 July 2011[58] 10 November 2010[59] 242
6.1 i386, x86-64 6.1 2.6.32-131 9 December 2011[60] 19 May 2011[61] 204
6.2 i386, x86-64 6.2 2.6.32-220 20 December 2011[62] 6 December 2011[63] 14
6.3 i386, x86-64 6.3 2.6.32-279 9 July 2012[64] 21 June 2012[65] 18
6.4 i386, x86-64 6.4 2.6.32-358 9 March 2013[66] 21 February 2013[67] 15
6.5 i386, x86-64 6.5 2.6.32-431 1 December 2013[68] 21 November 2013[69] 10
来源:51cto

CentOS/Linux:如何安装EPEL 软件仓库

在centos下,默认的yum 软件仓库并不会包含所有你想安装的包。那么如果想通过yum命令来安装不在yum默认软件库里的包的时候,就可以尝试安装EPEL软件仓库
想用Red Hat Enterprise Linux,但苦于囊中羞涩(欢迎购买 RHEL AS Subscription:US$1,499 / year),好在还有centos可选,但总感觉它的包少了点。好在现在可以使用Fedora Project 推出的 EPEL(Extra Packages for Enterprise Linux),EPEL是RHEL 的 Fedora 软件仓库,把它添上,你就可以获得 RHEL AS 的高质量、高性能、高可靠性,又需要方便易用(关键是免费)的软件包更新功能。
EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL,就像在 Fedora 上一样,可以通过 yum install package-name,随意安装软件。
安装 EPEL:
* RHEL 4(centos 4):

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/4/i386/epel-release-4-9.noarch.rpm'
 

* RHEL 5(centos 5):

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm'
 

安装完毕之后,即可使用 yum 来安装软件,比如 Nagios:

yum install nagios
 

若要查看 EPEL Repo 中是否存在某个软件包:

yum search package-name
 

CentOS 6.5:如何安装ntopng

在centos系统下如何来安装ntopng软件呢? 默认情况下,ntopng不在centos默认的yum 软件库里,所以需要安装epel repo.
环境: Centos 6.5 的系统,需要安装最新版 ntopng。
准备: 因为官方没有详细的安装文档, 所以安装会需要很多依赖包, 我会把这些包分别列出
来。
我们采用的是源码编译,所以编译环境的 Gcc 等就不用多说
最简单就是安装光盘源的 “Development Tools” ,另外准备 EPEL 的安装源。
1.下载安装 EPEL 安装源

wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-5-4.noarch.rpm
 

2.把这些包全部安装,不然会报错。

yum groupinstall “Development Tools”
yum install libpcap-devel glib2-devel GeoIP-devel libxml2-devel
libxml2-devel redis autoconf automake sqlite-devel
 

最后 3 个非常重要 autoconf automake sqlite-devel

3.下载 ntopng1.2.1

官方的下载被墙掉了, 我用的 VPN 代理美国的 IP 下载的。 我把源码上传到网盘, 可以直
接下载 http://yunpan.cn/cA7XcqEzTDNza 提取码 2142
4.解压&编译
1.2.1 新版本的官方给出了安装方法
(这个源码包里附带了用户手册)
ntopng1
所以按照步骤来
上述的包都安装后,基本是不会出错的。
执行完./configure 后
会提示执行
You are now ready to compile typing /usr/bin/gmake
Please do not forget to download GeoIP databases doing: /usr/bin/gmake geoip
这是联网下载 ip 数据库
执行即可 /usr/bin/gmake geoip
然后就是 make&make install 编译过程比较长。
5.配置文件的修改
需要添加配置文件,

mkdir /etc/ntopng/ntopng.conf
 

添加信息
ntopng1
6.启动 ntopng
启动之前先启动

/etc/init.d/redis start
 

启动ntopng
ntopng1
7.登陆
http://192.168.1.229:3000
Username: admin
Password : admin
预览:
ntopng

CentOS/Linux: 10最常用的linux命令

在你准备使用Linux系统作为网站服务器系统之前,我建议大家先学习一些基本的Linux系统的操作命令,这些命令都是在日常操作中和配置Linux服务器网络环境时要用到的,了解和掌握这些命令,将有助于你更好的使用Linux服务器。本文将以CentOS 6.5为例简单讲解一下Linux系统下常用的基本操作命令。
首先大家可以使用virtualbox安装一个CENTOS6.5系统,或者直接购买一个安装了centos系统的云主机,国内推荐阿里云,橙云主机其实也不错,不过我个人在使用过程中感觉速度不是很理想,特别是磁盘性能方面。国外的大家根据实际情况选择吧,我这里就不推荐了,免得被说是广告。
登录服务器实现远程控制
windows用户推荐使用Xshell(下载地址)
mac用户可以使用系统终端工具
登录服务器之后就可以开始命令行操作了
查看你当前所在的位置 pwd( print working directory )

pwd
 

会显示当前的位置,例如:

/root
 

改变你所在的目录位置 cd( change directory )

cd /home
 

会让你进入到根目录下面的 home 这个目录里面,/ 表示根目录,如果用 pwd 查看一下会返回:

/home
 

另外cd /root = cd ~
列出目录里的东西 ls

ls
 

ls 命令应该是 list 的简称,列出的意思,这个命令可以配合一些参数,例如:

ls -la
 

这样会使用更详细的形式列出文件与目录,并且会包含目录里面隐藏的文件,l 表示 long,a 表示 all 。在命令的后面你可以指定具体要列出的目录,例如:

ls -la /usr/local
 

这会列出在系统根目录下面的 usr 目录下面的 local 这个目录里的所有的东西。如果想查看命令详细的使用说明,可以加上 –help 参数:

ls --help
 

现在,你已经学会了一个简单的 ls 命令去列出目录里的东西,在使用其它命令的时候,你也可以这样来用,你知道命令的后面可以添加一些参数,去做更具体的事情,想得到命令的使用说明,就去在命令后面添加一个 –help 参数,命令的后面也可以添加更具体的信息,比如一个目录的位置,一个文件的名称等等。
创建目录 mkdir( make directory )

mkdir
 

下面,我们可以在你当前所在的位置去创建一个新的目录,记得使用 pwd 命令确定一下你的位置:

mkdir www
 

上面这行命令会在当前位置上去创建一个叫 www 的目录。使用 ls 命令,可以查看一下当前目录里面的东西。在安装WDCP时,我们要在根目录下创建一个WWW目录来挂载数据盘,使用的命令应该是

mkdir /www
 

删除目录或文件 rm( remove )

rm
 

在命令的后面,加上你想要删除的东西,可能是一个目录的名称,或者一个文件的名称。注意想要删除目录的时候,你需要添加两个参数:-r -f,可以将两个参数系在一起,如-rf

rm -rf www
 

这里,r 参数可以让 rm 命令递归删除目录及其内容,f 参数是 force ,表示强制删除。合起来这行命令的意思是,递归的强制删除 www 这个目录,以及这个目录里面的所有的东西。
编辑文件 vi:

vi hello.txt
 

上面的命令会去编辑当前目录下面的 hello.txt 这个文件,如果这个文件不存在,会打开一个空白的文件,这样你在保存并退出以后 ,就可以创建一个叫做 hello.txt 的文件。vi 工具的使用需要配合一些按键,比如打开文件以后,你想编辑这个文件,可以进入到编辑模式,按一下键盘上的 i 键或者insert键,然后用上下左右按键去浏览到文件的某个位置上。编辑好以后,要按一下 esc 键,退出编辑模式,然后输入 : (冒号),再输入 wq ,表示保存并退出。如果你不想保存所做的修改,可以输入 : q 。有的时候,在编辑一些只读文件,你需要再添加一个 ! ,比如 :wq! ,或者 q! 。
i ,输入编辑模式。
esc,退出模式。
:wq,保存文件并退出。
:wq!,强制保存并退出。
:q,直接退出不保存修改。
/,可以进行搜索,在 / 后面加上要搜索的文字,然后回车。
n,可以查找下一处。
N,可以查找上一处。
ctrl+f,向后翻页。
ctrl+b,向前翻页。
详细的使用说明,可以查看 vi 命令的帮助,vi –help 。
移动/重命名目录或文件 mv( move )
移动或重命名目录或者文件,使用的是同一个命令:
mv 要移动的目录/文件 移动之后的目录/文件
在这个后面先指一定想要移动的目录或者文件的位置,一个空格,后面再加上移动以后的目录和文件所在的位置。这里我们得先理解一下几个路径的意思:
/
表示系统的根目录。
~
表示当前所登录的用户的主目录。
.
一个点表示当前的目录。
../
两个点加一个斜线,表示上一级目录。
../../
表示上两级目录。知道了这些,我们就可以去移动目录或文件了。

mv www www1
 

上面这行命令的意思是,把当前目录里面的 www 这个目录重命名为 www1 。

mv www1 ../
 

这样会把 www1 这个目录移动到当前目录的上一级目录下面,你可以进入到当前目录的上一级目录:

cd ../
 

然后列出目录里面的东西:

ls
 

看到 www1 目录了吗?删除它可以使用 rm 命令加上 rf 参数:

rm -rf www1
 

再用 ls 看一下,是不是 www1 已经不在了。
* 号表示所有的文件或目录,比如你想把某个目录下面的所有的目录或文件移动到某个地方,可以这样:

mv /home/www/web1/* /home/www/gb1982
 

上面命令会把 /home/www/web1 里面的东西全部都移动到 /home/www/gb1982 这个目录里面。
复制目录或文件 cp( copy )
cp 要复制的东西 要复制到哪里
比如你当前目录下面有一个 hello.txt 文件,你想复制一份,复制以后的文件叫 hello.bak ,可以这样:

cp hello.txt hello.bak
 

你想把 hello.bak 复制到某个目录的下面:

cp hello.bak /home/bak
 

这样会把 hello.bak 这个文件复制到 /home/bak 里面,注意,bak 这个目录必须已经存在了。
复制目录,你需要添加一个 -R 的参数,它会递归的去复制目录以及目录里面的所有的东西。比如要把 www 这个目录复制一份,复制以后的目录名是 www1:

cp -R www www1
 

原文

CentOS/RHEL 如何配置系统防火墙

在centos 系统下我想只开放某一个端口号或者禁止某个ip访问本主机,该如何来配置系统的防火iptables呢。本文将会将一些centos或rhel系统下的关于iptable防火墙的基本配置知识。
Iptables是linux下的防火墙,同时也是服务名称。

service  iptables  status        查看防火墙状态
service  iptables  start           开启防火墙
service  iptables  stop           关闭防火墙
service  iptables  restart        重启防火墙
 

防火墙开放特定端口:
编辑文件/etc/sysconfig/iptables ,输入下面的命令:

vim   /etc/sysconfig/iptables
 

添加:

 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
 

保存对防火墙的设置

serivce iptables save
 

查看iptables规则及编号

iptables -nL --line-number
 

关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
 

只打开22端口

iptables -A  INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
 

参数讲解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
禁止某个IP访问

iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
 

–s 参数是来源(即192.168.1.2)
后面拒绝就是DROP
删除规则

iptables -D INPUT 2
 

删除INPUT链编号为2的规则

CentOS如何查看程序的内存分配

在centos下如何来查看一段C语言程序的内存分配情况呢?下面我会举一个C语言的例子,并运行该程序,查看该程序运行时的内存分配情况。
C语言代码:
[cc lang=”c”] #include
#include
int main()
{
printf(“%d\n”,getpid());
while(1);
}
[/code] 编译并执行上面的程序,并打开另一个终端,输入cat /proc/10073/maps,出现如下显示:

 08048000-08049000 r-xp 00000000 fd:01 14844      /home/Alex/DaNei/Interview/a.out
    08049000-0804a000 r--p 00000000 fd:01 14844      /home/Alex/DaNei/Interview/a.out
    0804a000-0804b000 rw-p 00001000 fd:01 14844      /home/Alex/DaNei/Interview/a.out
    4427b000-4429a000 r-xp 00000000 fd:01 393917     /usr/lib/ld-2.17.so
    4429a000-4429b000 r--p 0001e000 fd:01 393917     /usr/lib/ld-2.17.so
    4429b000-4429c000 rw-p 0001f000 fd:01 393917     /usr/lib/ld-2.17.so
    442a3000-4445b000 r-xp 00000000 fd:01 393918     /usr/lib/libc-2.17.so
    4445b000-4445c000 ---p 001b8000 fd:01 393918     /usr/lib/libc-2.17.so
    4445c000-4445e000 r--p 001b8000 fd:01 393918     /usr/lib/libc-2.17.so
    4445e000-4445f000 rw-p 001ba000 fd:01 393918     /usr/lib/libc-2.17.so
    4445f000-44462000 rw-p 00000000 00:00 0
    b7752000-b7753000 rw-p 00000000 00:00 0
    b7769000-b776b000 rw-p 00000000 00:00 0
    b776b000-b776c000 r-xp 00000000 00:00 0          [vdso]
    bfe13000-bfe34000 rw-p 00000000 00:00 0          [stack]
 

实际上,第一行是代码区所占的内存空间,804800-804900,实际上几乎所有的linux程序代码段都是从804800开始的,第二行是全局栈区所占的内存空间,第三行是堆空间所占的内存空间,最后一行是局部栈所占的内存空间。 同时,我们会发现除了代码段的权限是r-xp(可读-不可写-可执行-私有保护)之外,其他三个都是不可执行的。

CentOS/Linux:如何查看SSH的版本号

在centos系统下我们经常回使用ssh安全加密协议,那么如何来查看ssh协议的版本号呢。
安全Shell(SSH)通过加密的安全通信通道来远程登录或者远程执行命令。SSH被设计来替代不安全的明文协议,如telnet、rsh和rlogin。SSH提供了大量需要的特性,如认证、加密、数据完整性、授权和转发/通道。
SSH1 vs. SSH2
SSH协议规范存在一些小版本的差异,但是有两个主要的大版本:SSH1 (版本号 1.XX) 和 SSH2 (版本号 2.00)。
事实上,SSH1和SSH2是两个完全不同互不兼容的协议。SSH2明显地提升了SSH1中的很多方面。首先,SSH是宏设计,几个不同的功能(如:认证、传输、连接)被打包进一个单一的协议,SSH2带来了比SSH1更强大的安全特性,如基于MAC的完整性检查,灵活的会话密钥更新、充分协商的加密算法、公钥证书等等。
SSH2由IETF标准化,且它的实现在业界被广泛部署和接受。由于SSH2对于SSH1的流行和加密优势,许多产品对SSH1放弃了支持。在写这篇文章的时候,OpenSSH仍旧支持SSH1和SSH2,然而在所有的现代Linux发行版中,OpenSSH服务器默认禁用了SSH1。
检查支持的SSH协议版本

方法一

如果你想检查本地OpenSSH服务器支持的SSH协议版本,你可以参考/etc/ssh/sshd_config这个文件。用文本编辑器打开/etc/ssh/sshd_config,并且查看”Protocol”字段。
如果如下显示,就代表服务器只支持SSH2。

Protocol 2
 

如果如下显示,就代表服务器同时支持SSH1和SSH2。

Protocol 1,2
 

方法二
如果因为OpenSSH服务其运行在远端服务器上而你不能访问/etc/ssh/sshd_config。你可以使用叫ssh的SSH客户端来检查支持的协议。具体说来,就是强制ssh使用特定的SSH协议,接着我么查看SSH服务器的响应。
下面的命令强制ssh使用SSH1:

$ ssh -1 user@remote_server
 

下面的命令强制ssh使用SSH2:

$ ssh -2 user@remote_server
 

如果远程SSH服务器只支持SSH2,那么第一个带“-1”的选项就会出现像下面的错误信息:

Protocol major versions differ: 1 vs. 2
 

如果SSH服务器同时支持SSH1和SSH2,那么两个命令都有效。
方法三
另一个检查版本的方法是运行SSH扫描工具,叫做scanssh。这个命令行工具在你想要检查一组IP地址或者整个本地网络来升级SSH1兼容的SSH服务器时很有用。
下面是基本的SSH版本扫描语法。

$ sudo scanssh -s ssh -n [ports] [IP addresses or CIDR prefix]
 

“-n”选项可以指定扫描的SSH端口。你可以用都好分隔来扫描多个端口,不带这个选项,scanssh会默认扫描22端口。
使用下面的命令来发现192.168.1.0/24本地网络中的SSH服务器,并检查SSH协议v版本:

$ sudo scan -s ssh 192.168.1.0/24
 

如果scanssh为特定IP地址报告“SSH-1.XX-XXXX”,这暗示着相关的SSH服务器支持的最低版本是SSH1.如果远程服务器只支持SSH2,scanssh会显示“SSH-2.0-XXXX”。
原文:linux中国

CentOS7/RHEL7 常用的基本操作

最新centos/rhel系统centos7和rhel7 和之前的版本有了很大的变化,下面总结了一下在centos7或rhel7 linux系统下的一些最基本的操作。
1. 基本命令包

yum groupinstall base
 

安装完后ifconfig、service、chkconfig等命令就都有了
2. 运行级修改
Redhat 7之前,是修改 /etc/inittab文件。
Redhat 7的话,查看该文件会有提示。

# inittab is no longer used when usingsystemd.
#
# ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ONYOUR SYSTEM.
#
# Ctrl-Alt-Delete is handled by/etc/systemd/system/ctrl-alt-del.target
#
# systemd uses 'targets' instead of runlevels. Bydefault, there are two main targets:
#
# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5
#
# To set a default target, run:
#
# ln -sf /lib/systemd/system/<targetname>.target /etc/systemd/system/default.target
 

只需要在/lib/system/system/目录下建个软件连即可。
3. 网络配置
a) 网络管理器
RHEL 7 安装有网络管理器,并处于启动状态

#systemctl status NetworkManager.service
 

b) 查看网络接口

#nmcli dev status
 

查看网络接口。
c) 文本配置网络
在如下路径,增加文件如ifcfg-enp0s3

#/etc/sysconfig/network-scripts/
 

d) 图形化配置网络

#nmtui
 

启动图形化配置。
e) 启动网络

#systemctl restart network.service
 

4. 主机名
编辑文件

/etc/hostname
 

即可修改主机名。
注:RedHat7之前,编辑/etc/sysconfig/network文件。
Redhat7中使用命令 hostnamectlstatus 命令查看主机名

#hostnamectl status
 

此外也可以在

#nmtui
 

中设置主机名
5. 防火墙
查看防火墙状态。

#systemctl status firewalld
 

临时关闭防火墙命令。重启电脑后,防火墙自动起来。

systemctl stop firewalld
 

永久关闭防火墙命令。重启后,防火墙不会自动启动。

 systemctl disable firewalld
 

打开防火墙命令。

systemctl enable firewalld
 

Vmware workstation下创建的centos/Rhel 虚机后的常用操作

当你在vmware workstation 下安装完centos或者rhel linux操作系统之后,可能需要vm workstation继续提供一些支持,比如说读取光盘里的软件包来继续安装相应的包。
本文将会说一些vmware 下rhel 虚机的一些操作。
在VM虚拟机中安装完Redhat系统之后
如果需要用secureCRT连接linux系统的话
操作步骤如下:
1.进入linux系统,在终端输入ifconfig(注意,不是windows的ipconfig)
结果如下
centos vm 1.1
找到ip地址,可以在主机上ping一下,可以ping通就表示可以用
centos vm
下载好secureCRT之后打开,在快速连接中主机名输入刚刚linux的ip地址,用户以root为例,确定之后会请你输入密码
完成之后连接连接成功
centos vm 1.3
安装g++编译器:
在VM中选中虚拟机右键,设置
如下图iso镜像文件选择安装的那个就可以了
centos vm 1.4
确定之后可以在虚拟机的图形界面看到很多文件
使用root用户进行操作
在终端输入cd /进入根目录
继续输入

cd media
cd RH*
cd Pa*
 

进入Packages目录
centos vm 1.5
接下来输入

rpm -ivh libstdc++-devel-4.4.6-4.el6.i686.rpm  回车,安装完毕之后继续输入
rpm -ivh gcc-c++-4.4.6-4.el6.i686.rpm 回车,安装完成之后即可
 

输入g++ –help如果有显示信息说明安装成功
centos vm 1.6
安装gdb:
还是使用root用户进行操作
进入Packages目录
输入rpm -ivh gdb-7.2-56.el6.i686.rpm 回车和进行安装
安装完成之后输入gdb出现gdb版本信息
centos vm 1.7
设置执行程序时不用./从根目录执行,也可以从当前目录执行
登陆要进行操作的用户(每个用户都有不一样的配置)
输入cd进入宿主目录
输入
vi .bash_profile
在Path最后加上:.
centos vm 1.8
保存退出之后再次输入. .bash_profile使其生效
设置gdb调试时生成core调试文件
登陆要操作的用户
cd 进入宿主目录
输入vi .bashrc
在最后一行加上 ulimit -c unlimited
centos vm 1.9
保存退出之后再次输入. .bashrc使配置生效

CentOS/RHEL 如何获取SSH登陆的用户名和密码

systemtap是一款非常强大内核调试工具,可以debug很多关于kernel层的问题。Linux是通过PAM模块检测用户信息和认证信息的,从而确定一个用户是否可以登录系统,利用这个知识点,使用systemtap捕获一下pam_unix.so该动态库文件的函数调用,获得用户在ssh远程登录时的用户名和密码吧。
测试环境:CentOS6.4 32bit
内核版本:2.6.32-358.el6.i686
首先安装以下rpm包

yum --releasever=6.4 update
yum install -y systemtap
debuginfo-install $(rpm -qf /lib/security/pam_unix.so)
 

创建文件,写入以下代码

touch /root/capture_pass.stp
 
· #!/usr/bin/stap
· global username, pass, isSuccRet = 1;
· probe process("/lib/security/pam_unix.so").function("_unix_verify_password")
· {
· username = user_string($name);
· pass = user_string($p);
· }
· probe process("/lib/security/pam_unix.so").function("_unix_verify_password").return
· {
· if ($return == 0)
· {
· printf("User: %s\nPassword: %s\n\n", username, pass);
· isSuccRet = 0;
· }
· }
· probe process("/lib/security/pam_unix.so").function("pam_sm_open_session")
· {
· if (isSuccRet != 0)
· {
· printf("Login via ssh service.\n\User: %s\nPassword: %s\n\n", username, pass);
· }
· isSuccRet = 1;
· }
 

赋予可执行权限

chmod +x capture_pass.stp
 

创建一个记录密码的文件

touch password.txt
 

执行systemstap脚本

stap capture_pass.stp -o password.txt
 

systemtap
本地执行capture_pass.stp脚本,同时ssh远程登录系统,即使第一次登录失败也没有问题,不会记录尝试输入的错误密码。登录成功后ctl+C终止脚本运行,查看password.txt,成功捕获。systemstap很强大的利器,所以只有超户可以使用。
systemtap
原文

CentOS/RHEL 如何使用netstat命令查看tcp的网络连接状态

在centos或者rhel系统我们经常需要查看当前系统的网络连接状态,那么我们首先会想到netstat命令,如何使用netstat命令来查看tcp的网络连接状态呢?
输入下面的命令:

#netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key."\t".state[key]}’
 

会得到类似下面的结果,具体数字会有所不同:

FIN_WAIT_1     286
FIN_WAIT_2     960
SYN_SENT       3
LAST_ACK       32
CLOSING         1
CLOSED          36
SYN_RCVD     144
TIME_WAIT    2520
ESTABLISHED 352     #差不多等于连接的并发数
 

这条命令可以把当前系统的网络连接状态分类汇总。
返回参数的说明如下:
SYN_RECV 表示正在等待处理的请求数;
ESTABLISHED 表示正常数据传输状态;
TIME_WAIT 表示处理完毕,等待超时结束的请求数。
——————————————————————
再来看看awk:
/^tcp/
滤出tcp开头的记录,屏蔽udp, socket等无关记录。
state[] 相当于定义了一个名叫state的数组
NF
表示记录的字段数,如上所示的记录,NF等于6
$NF
表示某个字段的值,如上所示的记录,$NF也就是$6,表示第6个字段的值,也就是TIME_WAIT
state[$NF] 表示数组元素的值,如上所示的记录,就是state[TIME_WAIT]状态的连接数
++state[$NF] 表示把某个数加一,如上所示的记录,就是把state[TIME_WAIT]状态的连接数加一
END
表示在最后阶段要执行的命令
for(key in state)
遍历数组
print key,”\t”,state[key] 打印数组的键和值,中间用\t制表符分割,美化一下。

CentOS/RHEL 下如何使用CP拷贝命令

在centos 或者rhel系统下,当你使用拷贝命令cp拷贝文件的时候,如果有重复的文件,就会有提示是否覆盖重复文件,那么如何让系统不提示直接覆盖文件呢?今天 在我的VPS上拷一个文件夹,但放的地方有一个同名文件夹而且里面还有文件,如是直接拷过去,结果有N个要确认替换的提示,直接CTRL+C,在网上搜了把,发现有几个方法可以解决,方法如下:
通过使用下面的命令格式:

cp -rf sourcefile targetdir或cp -r -f sourcefile targetdir
 

-r的意思是递归复制,也就是复制文件夹及其下所有文件
-f的意思是遇到同名的文件,不提示,直接覆盖
但为什么我们用这两个参数,系统还是会提示覆盖呢?
这是因为,系统在安装的时候使用了别名,防止我们误操作,覆盖了不该覆盖的文件。使用别名命令就可以看到具体的配置了。

[test@Server home]# alias
alias cp='cp -i'
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
 

从上边我们可以看出,我们输入的cp命令,其实是“cp -i”命令,也就是不管我们怎么输入 cp -rf,其实执行的是 cp -i -rf , 也无怪乎总是提问是否覆盖了。
从上边的命令我们可以知道,其他几个命令,也使用了别名,例如ll,ls mv,rm等。
那么如何解决这个问题呢?

[test@Server home]# vi ~/.bashrc
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
 

只要在相应的命令前加#号,就可以注释掉该命令了。保存退出,然后你就可以用纯粹的原命令了。
其实还有一种更简单的方法可以解决这个问题,就是在cp前加一个反斜杠如: \cp -f file dir 就可以了!

CentOS/RHEL 下如何解压缩RAR格式文件

在centos或者rhel系统下如何来解压缩RAR格式的压缩包文件呢?有些朋友购买了vps后由于他是从原来的win主机搬迁过来,备份打包的数据是rar格式的,那在centos下怎么解压呢?
解决方法如下:
首先下载并安装rarlinux软件包

wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gz
tar -xvf rarlinux-3.9.3.tar.gz
cd rar
make
 

看见下面这些信息就是安装成功了

mkdir -p /usr/local/bin
mkdir -p /usr/local/lib
cp rar unrar /usr/local/bin
cp rarfiles.lst /etc
cp default.sfx /usr/local/lib
 

但是在运行命令rar时,出现下面这个问题,

rar: /lib/i686/nosegneg/libc.so.6: version `GLIBC_2.7' not found (required by rar)
 

解决办法:

cp rar_static /usr/local/bin/rar
 

先记住两个常用命令吧:

rar x vpsyou.rar  //解压 vpsyou.rar 到当前目录
rar vpsyou.rar ./vpsyou.com/   //将 vpsyou.com 目录打包为 vpsyou.rar
 

原文

CentOS /RHEL: 如何使用DD命令

在centos 或者rhel系统下我们经常会用到dd命令来创建文件,那么dd命令的用法还有很多。本文将会给大家介绍一些dd命令的例子。
在我们手边没有合适的硬盘IO测试利器时,dd是我们的最佳选择,好,仔细看线面四种方式。思考一个问题,区别在哪儿?

dd bs=1M count=128 if=/dev/zero of=test
dd bs=1M count=128 if=/dev/zero of=test_01; sync
dd bs=1M count=128 if=/dev/zero of=test_02 conv=fdatasync
dd bs=1M count=128 if=/dev/zero of=test_03 oflag=dsync
 

想到了吗?看这里:区别在于内存中写缓存的处理方式。
1# dd bs=4M count=1024 if=/dev/zero of=test
centos dd 命令
没有加任何参数,dd默认的方式不包括“同步(sync)”命令。也就是说,dd命令完成前并没有让系统真正把文件写到磁盘上。所以以上命令只是单纯地把这128MB的数据读到内存缓冲当中(写缓存[write cache])。所以你得到的将是一个超级快的速度。因为其实dd给你的只是读取速度,直到dd完成后系统才开始真正往磁盘上写数据,但这个速度你是看不到了。所以如果这个速度很快,先不要偷着乐。呵呵

2# dd bs=4M count=1024 if=/dev/zero of=test_01

centos dd 命令
和前面1中的完全一样。分号隔开的只是先后两个独立的命令。当sync命令准备开始往磁盘上真正写入数据的时候,前面dd命令已经把错误的“写入速度”值显示在屏幕上了。所以你还是得不到真正的写入速度。
3# dd bs=4M count=1024 if=/dev/zero of=test_02 conv=fdatasync
centos dd 命令
加入这个参数后,dd命令执行到最后会真正执行一次“同步(sync)”操作,所以这时候你得到的是读取这128M数据到内存并写入到磁盘上所需的时间,这样算出来的时间才是比较符合实际的。
4# dd bs=4M count=1024 if=/dev/zero of=test_03 oflag=dsync
centos dd 命令
加入这个参数后,dd在执行时每次都会进行同步写入操作。也就是说,这条命令每次读取1M后就要先把这1M写入磁盘,然后再读取下面这1M,一共重复128次。这可能是最慢的一种方式了,因为基本上没有用到写缓存(write cache)。
至于哪一种最有参考价值,个人觉得是下面这种:

dd bs=4M count=1024 if=/dev/zero of=test_02  conv=fdatasync
 

因为这种方式最接近计算机实际操作,所以测出来的数据最有参考价值。

CentOS 安装php-tidy 模块扩展

在php环境下有时候需要php-tidy模块的支持,那么如何在centos 或rhel系统下安装php-tidy模块呢?
首先需要使用yum命令安装下面的模块:
php-tidy-这个包含了使用tidy 类库支持php的动态共享库。
linux操作系统

在centos下安装php-tidy

输入下面的命令:

yum install php-tidy
 

命令输出:

[root@devops Desktop]# yum -y install glances
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
No package glances available.
Error: Nothing to do
[root@devops Desktop]# yum install glances
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
No package glances available.
Error: Nothing to do
[root@devops Desktop]#
[root@devops Desktop]#
[root@devops Desktop]#
[root@devops Desktop]# yum install php-tidy
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.163.com
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-tidy.x86_64 0:5.3.3-40.el6_6 will be installed
--> Processing Dependency: php-common(x86-64) = 5.3.3-40.el6_6 for package: php-tidy-5.3.3-40.el6_6.x86_64
--> Processing Dependency: libtidy-0.99.so.0()(64bit) for package: php-tidy-5.3.3-40.el6_6.x86_64
--> Running transaction check
---> Package libtidy.x86_64 0:0.99.0-19.20070615.1.el6 will be installed
---> Package php-common.x86_64 0:5.3.3-40.el6_6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package         Arch        Version                         Repository    Size
================================================================================
Installing:
 php-tidy        x86_64      5.3.3-40.el6_6                  updates       39 k
Installing for dependencies:
 libtidy         x86_64      0.99.0-19.20070615.1.el6        base         127 k
 php-common      x86_64      5.3.3-40.el6_6                  updates      527 k
Transaction Summary
================================================================================
Install       3 Package(s)
Total download size: 693 k
Installed size: 3.3 M
Is this ok [y/N]: y
Downloading Packages:
(1/3): libtidy-0.99.0-19.20070615.1.el6.x86_64.rpm       | 127 kB     00:00
(2/3): php-common-5.3.3-40.el6_6.x86_64.rpm              | 527 kB     00:01
(3/3): php-tidy-5.3.3-40.el6_6.x86_64.rpm                |  39 kB     00:00
--------------------------------------------------------------------------------
Total                                           108 kB/s | 693 kB     00:06
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : php-common-5.3.3-40.el6_6.x86_64                             1/3
  Installing : libtidy-0.99.0-19.20070615.1.el6.x86_64                      2/3
  Installing : php-tidy-5.3.3-40.el6_6.x86_64                               3/3
  Verifying  : libtidy-0.99.0-19.20070615.1.el6.x86_64                      1/3
  Verifying  : php-tidy-5.3.3-40.el6_6.x86_64                               2/3
  Verifying  : php-common-5.3.3-40.el6_6.x86_64                             3/3
Installed:
  php-tidy.x86_64 0:5.3.3-40.el6_6
Dependency Installed:
  libtidy.x86_64 0:0.99.0-19.20070615.1.el6  php-common.x86_64 0:5.3.3-40.el6_6
Complete!
 

重启或者重载 web服务器
输入下面的命令:

service httpd restart
 

验证tidy的配置
输入命令:

php -i | grep -color tidy
 

命令输出:

PHP Warning:  Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/New_York' for 'EST/-5.0/no DST' instead in Unknown on line 0
tidy
Extension Version => 2.0 ($Id: tidy.c 296107 2010-03-12 10:28:59Z jani $)
tidy.clean_output => no value => no value
tidy.default_config => no value => no value
[root@devops Desktop]#
 

centos/ubuntu下安装glances监控软件

如果你想通过一个工具来监控真个linux系统的使用情况,比如cpu, 磁盘iO,网络使用情况,内存使用情况以及其它的。那么可以尝试使用glances工具来监控系统。

CentOS/RHEL 下安装glances工具

使用yum命令来安装glances,输入下面的命令:

yum -y install glances
 

命令输出:

yum install glances
Loaded plugins: product-id, protectbase, rhnplugin
This system is receiving updates from RHN Classic or RHN Satellite.
rhel-x86_64-server-6                                 | 1.5 kB     00:00
rhel-x86_64-server-optional-6                        | 1.5 kB     00:00
0 packages excluded due to repository protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package glances.noarch 0:1.7.1-1.el6 will be installed
--> Processing Dependency: python-psutil >= 0.4.1 for package: glances-1.7.1-1.el6.noarch
--> Processing Dependency: python-setuptools for package: glances-1.7.1-1.el6.noarch
--> Running transaction check
---> Package python-psutil.x86_64 0:0.6.1-1.el6 will be installed
---> Package python-setuptools.noarch 0:0.6.10-3.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================
 Package             Arch     Version          Repository              Size
============================================================================
Installing:
 glances             noarch   1.7.1-1.el6      epel                   107 k
Installing for dependencies:
 python-psutil       x86_64   0.6.1-1.el6      epel                    84 k
 python-setuptools   noarch   0.6.10-3.el6     rhel-x86_64-server-6   336 k
Transaction Summary
============================================================================
Install       3 Package(s)
Total download size: 527 k
Installed size: 843 k
Is this ok [y/N]: y
Downloading Packages:
(1/3): glances-1.7.1-1.el6.noarch.rpm                | 107 kB     00:00
(2/3): python-psutil-0.6.1-1.el6.x86_64.rpm          |  84 kB     00:00
(3/3): python-setuptools-0.6.10-3.el6.noarch.rpm     | 336 kB     00:00
----------------------------------------------------------------------------
Total                                       1.8 MB/s | 527 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : python-psutil-0.6.1-1.el6.x86_64                         1/3
  Installing : python-setuptools-0.6.10-3.el6.noarch                    2/3
  Installing : glances-1.7.1-1.el6.noarch                               3/3
  Verifying  : python-setuptools-0.6.10-3.el6.noarch                    1/3
  Verifying  : python-psutil-0.6.1-1.el6.x86_64                         2/3
  Verifying  : glances-1.7.1-1.el6.noarch                               3/3
Installed:
  glances.noarch 0:1.7.1-1.el6
Dependency Installed:
  python-psutil.x86_64 0:0.6.1-1.el6
  python-setuptools.noarch 0:0.6.10-3.el6
Complete!
 
Ubuntu/Debian下安装glances工具
 

输入下面的命令:

sudo apt-get install glances
 

命令输出:
glances

CentOS 更改默认的openSSH 端口

在centos系统里,如何将ssh默认的端口号22改成2200呢?
linux logo

CentOS下更改OpenSSH端口号

要想更改openssh的端口号,需要编辑/etc/ssh/sshd_config文件,更改”Port”字段的值为你想要更改的端口号。
首先,打开“/etc/ssh/sshd_config”配置文件,更改下面的行:

Port 2200
 

保存并推出当前的配置文件,并重新加载或者重新启动sshd服务,输入下面的命令:

service sshd restart
或者
service sshd reload
 

CentOS:yum更新时如何限制某个包为特定的版本

在centos下,当我们使用yum udpate命令更新系统的软件包的时候,会默认将所以需要更新的包都显示出来,并更新。那么如果你想让某一个包一直保持在某一个版本,该如何来做呢?你可以通过下面的两个方法来实现:
1.执行yum update 命令的时候,使用”–exclude” 选项,来排除不需要更新的软件包。
2. 使用yum versionlock 工具
linux操作系统

方法一:使用yum –exclude 命令来限定不更新的软件包

1.编辑配置文件“/etc/yum.conf”
2. 加入下面的内容到配置文件里:

exclude=http* ===》(在这里加入不需要更新的软件包)
 

保存并退出。

方法二:通过yum versionlock工具限制软件包更新

首先你需要安装”yum-plugin-versionlock”工具,并传入需要排除的软件包的名字。这样就可以保护某些软件包的版本不需要更新。
centos 下安装yum-plugin-versionlock
输入下面的命令来安装yum-plugin-versionlock

yum -y install yum-versionlock
或
yum -y install yum-plugin-versionlock
 

命令输出:

[root@devops Desktop]# yum -y install yum-versionlock
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirrors.btte.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package yum-plugin-versionlock.noarch 0:1.1.30-30.el6 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package                      Arch         Version             Repository  Size
================================================================================
Installing:
 yum-plugin-versionlock       noarch       1.1.30-30.el6       base        30 k
Transaction Summary
================================================================================
Install       1 Package(s)
Total download size: 30 k
Installed size: 43 k
Downloading Packages:
yum-plugin-versionlock-1.1.30-30.el6.noarch.rpm          |  30 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : yum-plugin-versionlock-1.1.30-30.el6.noarch                  1/1
  Verifying  : yum-plugin-versionlock-1.1.30-30.el6.noarch                  1/1
Installed:
  yum-plugin-versionlock.noarch 0:1.1.30-30.el6
Complete!
 

举个例子:使用versionlock工具限定httpd工具不更新

yum versionlock httpd
或者
yum versionlock add httpd
 

命令输出:

[root@devops Desktop]# yum versionlock httpd
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Adding versionlock on: 0:httpd-2.2.15-15.el6.centos.1
versionlock added: 1
 

如果想删除某个软件包部在限制更新之列,可以使用“delete”选项,如下面的命令:

yum versionlock delete httpd
 

列出当前限定列表里的所有软件包
输入下面的命令:

yum versionlock list
 

命令输出:

[root@devops Desktop]# yum versionlock  list
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
0:wget-1.12-1.4.el6.*
0:httpd-2.2.15-15.el6.centos.1.*
versionlock list done
 

移除所有的限定软件包列表
输入下面的命令:

yum versionlock clear
 

命令输出:

[root@devops Desktop]# yum versionlock clear
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
versionlock cleared
 

CentOS 如何阻止yum在update的时候更新内核

在centos 或者rhel系统,如果你想更新系统上的软件包的时候,我们都会使用yum update,这个命令默认情况下也会更新系统给的内核文件,那么如何不让yum update 命令页升级内核文件呢?
linux操作系统
首先编辑”/etc/yum.conf” 文件,添加下面的内容:

exclude=kernel*
 

保存并退出配置文件。
尝试使用yum -y update 命令来更新软件包.

yum -y update
 

如果想不更新配置文件并不更新kernel 文件,可以使用“-x” 选项,输入下面的命令:

yum -x 'kernel*' update
 

Ubuntu 14.04 如何挂载NFS文件系统

默认情况下ubutntu 系统没有安装nfs客户端程序,所以需要先安装nfs-common包,在使用mount命令挂在,输入下面的命令:

sudo apt-get install nfs-common
 

命令输出:

devops@devop:~$ sudo apt-get install nfs-common
[sudo] password for devops:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libgssglue1 libnfsidmap2 libtirpc1 rpcbind
Suggested packages:
  watchdog
The following NEW packages will be installed:
  libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind
0 upgraded, 5 newly installed, 0 to remove and 289 not upgraded.
Need to get 423 kB of archives.
After this operation, 1,293 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
WARNING: The following packages cannot be authenticated!
  libgssglue1 libnfsidmap2 libtirpc1 rpcbind nfs-common
Install these packages without verification [y/N]? y
Get:1 http://cn.archive.ubuntu.com/ubuntu/ raring/main libgssglue1 i386 0.4-2 [22.1 kB]
Err http://cn.archive.ubuntu.com/ubuntu/ raring/main libnfsidmap2 i386 0.25-4ubuntu1
  404  Not Found [IP: 112.124.140.210 80]
Err http://cn.archive.ubuntu.com/ubuntu/ raring/main libtirpc1 i386 0.2.2-5build1
  404  Not Found [IP: 112.124.140.210 80]
Err http://cn.archive.ubuntu.com/ubuntu/ raring/main rpcbind i386 0.2.0-8ubuntu1
  404  Not Found [IP: 112.124.140.210 80]
Err http://cn.archive.ubuntu.com/ubuntu/ raring/main nfs-common i386 1:1.2.6-3ubuntu2
  404  Not Found [IP: 112.124.140.210 80]
Fetched 22.1 kB in 1s (17.5 kB/s)
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/libn/libnfsidmap/libnfsidmap2_0.25-4ubuntu1_i386.deb  404  Not Found [IP: 112.124.140.210 80]
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/libt/libtirpc/libtirpc1_0.2.2-5build1_i386.deb  404  Not Found [IP: 112.124.140.210 80]
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/r/rpcbind/rpcbind_0.2.0-8ubuntu1_i386.deb  404  Not Found [IP: 112.124.140.210 80]
Failed to fetch http://cn.archive.ubuntu.com/ubuntu/pool/main/n/nfs-utils/nfs-common_1.2.6-3ubuntu2_i386.deb  404  Not Found [IP: 112.124.140.210 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
 

安装完成后,使用mount命令挂在nfs文件系统。

CentOS 查看yum命令的历史记录

如何查看在linux系统下使用yum 命令的历史记录,比如说更新包,删除包或其它的yum信息。yum命令的history选项可以用来查看yum命令的操作历史记录。
linux操作系统

查看yum工具的版本信息

输入下面的命令:

yum info yum | grep --color Version
 

命令输出:

[root@devops Desktop]# yum info yum | grep --color Version
Version     : 3.2.29
Version     : 3.2.29
[root@devops Desktop]#
 

yum history命令查看yum命令的操作记录

输入下面的命令:

yum history
 

或者

yum history list
 

命令输出如下:

[root@devops Desktop]# yum history
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------
     6 |  <devops>                | 2014-12-14 09:11 | Update         |    1
     5 |  <devops>                | 2014-12-14 08:41 | I, U           |    3
     4 |  <devops>                | 2014-12-14 08:37 | Install        |    3
     3 |  <devops>                | 2014-12-14 05:51 | Install        |    1
     2 |  <devops>                | 2014-12-14 04:12 | I, O           |    4
     1 | System <unset>           | 2014-11-26 14:39 | Install        | 1076
 

centos如何解决“rpmdb:PANIC: fatal region error detected; run recovery error and solution"错误

在centos 或者rhel系统,当你使用yum命令的时候可能会遇到下面的错误信息:

rpmdb: PANIC: fatal region error detected; run recovery
error: db3 error(-30974) from dbenv->open: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
 

如何解决这个问题呢?
首先要先备份下rpm数据库,以防万一。使用下面的命令备份rpm数据库:

cp -avr /var/lib/rpm/ /root/backups.rpm.mm_dd_yyyy/
 

显示所有的rpm 数据库文件,输入下面的命令:

ls -l /var/lib/rpm/_*
 

命令输出:

[root@devops Desktop]# ls -l /var/lib/rpm/_*
-rw-r--r--. 1 root root   24576 Dec 14 04:13 /var/lib/rpm/__db.001
-rw-r--r--. 1 root root  229376 Dec 14 04:13 /var/lib/rpm/__db.002
-rw-r--r--. 1 root root 1318912 Dec 14 04:13 /var/lib/rpm/__db.003
-rw-r--r--. 1 root root  753664 Dec 14 04:13 /var/lib/rpm/__db.004
 

执行下面的命令,修复问题:

rm -f /var/lib/rpm/__db*
db_verify /var/lib/rpm/Packages
rpm --rebuilddb
yum clean all
 

到此我们可以执行一个yum命令来验证问题已经被解决。
输入下面命令:

yum repolist
 

命令输出:

[root@devops Desktop]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirrors.btte.net
 * extras: mirrors.btte.net
 * updates: mirrors.btte.net
repo id                        repo name                                  status
base                           CentOS-6 - Base                            6,518
extras                         CentOS-6 - Extras                             36
updates                        CentOS-6 - Updates                           494
repolist: 7,048
 

CentOS 6.x 安装和配置KVM虚拟化环境

如何在centos 6.x系统上配置给予内核的虚拟化环境呢?如何使用KVM安装并管理虚机?
KVM是CentOS或RHEL系统的一部分,我们仍然需要安装一下KVM包相关的一些软件包。
kvm

CentOS 安装kvm相关软件包

输入下面的命令:

yum groupinstall "Virtualisation Tools" "Virtualization Platform"
yum install python-virtinst
 

或者

 yum install kvm qemu-kvm python-virtinst libvirt libvirt-python virt-manager libguestfs-tools
 

命令输出:

Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.pubyun.com
 * extras: mirrors.pubyun.com
 * updates: mirrors.pubyun.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package libguestfs-tools.x86_64 1:1.20.11-11.el6 will be installed
--> Processing Dependency: libguestfs-tools-c = 1:1.20.11-11.el6 for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
--> Processing Dependency: libguestfs = 1:1.20.11-11.el6 for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
--> Processing Dependency: perl(Win::Hivex) >= 1.2.7 for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
--> Processing Dependency: perl(XML::Writer) for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
--> Processing Dependency: perl(Sys::Virt) for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
--> Processing Dependency: perl(Sys::Guestfs::Lib) for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
--> Processing Dependency: perl(Sys::Guestfs) for package: 1:libguestfs-tools-1.20.11-11.el6.x86_64
...
 

启动libvirtd 服务

libvirtd 程序是一个服务器端的进程组件,用来做虚拟化的管理。 输入下面的命令来设置libvirtd服务系统自启动:

chkconfig libvirtd on
 

输入下面的命令启动libvirtd服务:

service libvirtd start
 

命令输出:

Starting libvirtd daemon:                                  [  OK  ]
 

使用下面的命令来检测libvirtd服务的状态:

service libvirtd status
 

命令输出:

libvirtd (pid  31128) is running...
# virsh -c qemu:///system list
 Id    Name                           State
----------------------------------------------------
 

安装并配置网桥

所有的VM虚机会通过一个私有网络来进行网络通信。所以你需要创建一个网桥让各主机之间进行互相通信。输入下面的命令来装网桥组件:

yum install birdge-utils
 

命令输出:

[root@devops Desktop]# yum install bridge-utils
Loaded plugins: fastestmirror, refresh-packagekit, security, versionlock
Loading mirror speeds from cached hostfile
 * base: mirrors.pubyun.com
 * extras: mirrors.pubyun.com
 * updates: mirrors.pubyun.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bridge-utils.x86_64 0:1.2-9.el6 will be updated
---> Package bridge-utils.x86_64 0:1.2-10.el6 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
 Package               Arch            Version              Repository     Size
================================================================================
Updating:
 bridge-utils          x86_64          1.2-10.el6           base           30 k
Transaction Summary
================================================================================
Upgrade       1 Package(s)
Total download size: 30 k
Downloading Packages:
bridge-utils-1.2-10.el6.x86_64.rpm                       |  30 kB     00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Updating   : bridge-utils-1.2-10.el6.x86_64                               1/2
  Cleanup    : bridge-utils-1.2-9.el6.x86_64                                2/2
  Verifying  : bridge-utils-1.2-10.el6.x86_64                               1/2
  Verifying  : bridge-utils-1.2-9.el6.x86_64                                2/2
Updated:
  bridge-utils.x86_64 0:1.2-10.el6
Complete!
 

配置网桥
编辑网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth0 :

DEVICE=eth0
ONBOOT=yes
BRIDGE=br0
 

创建一个网桥文件ifcfg-br0:”/etc/sysconfig/network-scripts/ifcfg-br0″,并进入下面的内容:

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100
NETMASK=255.255.255.192
DELAY=0
 

重启网络服务
输入下面的命令:

service network restart
 

CentOS 使用yum工具安装JAVA SDK

如何在centos系统里安装JAVA JDK 运行时环境呢?本文将会介绍通过使用yum命令安装JAVA SDK 开发环境。
CentOS 6.x 和5.x 版本默认都安装了openJDK运行时环境。这是一个开源的java版本。
java
CentOS 默认安装的JAVA 软件包包括:
[cc lang=”php”] java-1.7.0-openjdk – OpenJDK 运行时环境
java-1.7.0-openjdk-devel – OpenJDK 开发环境
[/code] [cc lang=”php”] 使用下面的命令查看yum软件库里可用的JDK 软件包:
yum search java | grep -i –color JDK
[/code] 命令输出:
[cc lang=”php”] [root@devops Desktop]# yum search java | grep -i –color JDK
ldapjdk-javadoc.x86_64 : Javadoc for ldapjdk
icedtea-web.x86_64 : Additional Java components for OpenJDK – Java browser
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
ldapjdk.x86_64 : The Mozilla LDAP Java SDK
[/code] CentOS 安装 Java SDK 开发包
在命令行下通过yum命令安装JAVA SDK:
[cc lang=”php”] yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
[/code] 命令输出:
[cc lang=”php”] [root@devops Desktop]# yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.btte.net
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package java-1.7.0-openjdk.x86_64 1:1.7.0.71-2.5.3.1.el6 will be installed
–> Processing Dependency: libjpeg.so.62(LIBJPEG_6.2)(64bit) for package: 1:java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el6.x86_64
—> Package java-1.7.0-openjdk-devel.x86_64 1:1.7.0.71-2.5.3.1.el6 will be installed
–> Running transaction check
—> Package libjpeg.x86_64 0:6b-46.el6 will be obsoleted
—> Package libjpeg-turbo.x86_64 0:1.2.1-3.el6_5 will be obsoleting
–> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository
Size
================================================================================
Installing:
java-1.7.0-openjdk x86_64 1:1.7.0.71-2.5.3.1.el6 updates 26 M
java-1.7.0-openjdk-devel x86_64 1:1.7.0.71-2.5.3.1.el6 updates 9.4 M
libjpeg-turbo x86_64 1.2.1-3.el6_5 base 174 k
replacing libjpeg.x86_64 6b-46.el6
Transaction Summary
================================================================================
Install 3 Package(s)
Total download size: 35 M
Is this ok [y/N]:
Is this ok [y/N]: y
Downloading Packages:
(1/3): java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el6.x86_64.rp | 26 MB 00:16
(2/3): java-1.7.0-openjdk-devel-1.7.0.71-2.5.3.1.el6.x86 | 9.4 MB 00:06
(3/3): libjpeg-turbo-1.2.1-3.el6_5.x86_64.rpm | 174 kB 00:00
——————————————————————————–
Total 1.6 MB/s | 35 MB 00:22
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key)
Package: centos-release-6-3.el6.centos.9.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : libjpeg-turbo-1.2.1-3.el6_5.x86_64 1/4
Installing : 1:java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el6.x86_64 2/4
Installing : 1:java-1.7.0-openjdk-devel-1.7.0.71-2.5.3.1.el6.x86_64 3/4
Erasing : libjpeg-6b-46.el6.x86_64 4/4
Verifying : 1:java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el6.x86_64 1/4
Verifying : libjpeg-turbo-1.2.1-3.el6_5.x86_64 2/4
Verifying : 1:java-1.7.0-openjdk-devel-1.7.0.71-2.5.3.1.el6.x86_64 3/4
Verifying : libjpeg-6b-46.el6.x86_64 4/4
Installed:
java-1.7.0-openjdk.x86_64 1:1.7.0.71-2.5.3.1.el6
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.71-2.5.3.1.el6
libjpeg-turbo.x86_64 0:1.2.1-3.el6_5
Replaced:
libjpeg.x86_64 0:6b-46.el6
Complete!
[/code] CentOS设置 JAVA_HOME 环境变量
java SDK包默认会安装在“/usr/lib/jvm” 目录下:
[cc lang=”php”] ls -l /usr/lib/jvm
[/code] 命令输出:
[cc lang=”php”] [root@devops Desktop]# ls -l /usr/lib/jvm
total 8
lrwxrwxrwx. 1 root root 26 Dec 14 04:13 java -> /etc/alternatives/java_sdk
drwxr-xr-x. 3 root root 4096 Nov 26 14:42 java-1.6.0-openjdk-1.6.0.0.x86_64
lrwxrwxrwx. 1 root root 32 Dec 14 04:13 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
drwxr-xr-x. 7 root root 4096 Dec 14 04:13 java-1.7.0-openjdk-1.7.0.71.x86_64
lrwxrwxrwx. 1 root root 34 Dec 14 04:13 java-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.71.x86_64
lrwxrwxrwx. 1 root root 34 Dec 14 04:13 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx. 1 root root 21 Dec 14 04:12 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root 27 Nov 26 14:42 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
lrwxrwxrwx. 1 root root 37 Nov 26 14:42 jre-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.0.x86_64/jre
lrwxrwxrwx. 1 root root 27 Dec 14 04:12 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx. 1 root root 38 Dec 14 04:12 jre-1.7.0-openjdk.x86_64 -> java-1.7.0-openjdk-1.7.0.71.x86_64/jre
lrwxrwxrwx. 1 root root 29 Dec 14 04:12 jre-openjdk -> /etc/alternatives/jre_openjdk
[/code] 使用export命令设置JAVA_HOME的变量值为包含”bin/java”可执行文件的目录
[cc lang=”php”] export JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64
[/code] java环境变量就配置完成了。
下面我们来测试执行一个java程序。
创建一个名为test.java的文件,加入下面的代码:
[cc lang=”java”] public class HelloWorld {
public static void main(String[] args) {
System.out.println(“Hello, World! osetc.com”);
}
}
[/code] 编译并执行test.java程序:
[cc lang=”php”] javac HelloWorld.java
java HelloWorld
[/code] 程序输出:
[cc lang=”php”] Hello, World!
[/code]

CentOS 使用yum安装 Lighttpd web 服务器

Lighttpd是一个快速且安全的并被优化的高性能web服务器。这种web服务器需要更低的内存以及很低的cpu使用率。包括下面的一下高级功能:
[cc lang=”php”] FastCGI
CGI
Auth
输出压缩
URL 重写
[/code] lighttpd
lighttpd 服务器软件包并不在默认的CentOS yum库里,所以你需要配置Epel repo库来安装。下面先来安装epel repo.
下载epel 软件包,使用wget 命令:
[cc lang=”php”] wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm
[/code] 命令输出:
[cc lang=”php”] Resolving epel.mirror.net.in… 120.88.47.14, 2401:4800:2121:c0:ff:ee:ee:2
Connecting to epel.mirror.net.in|120.88.47.14|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 14540 (14K) [application/x-redhat-package-manager] Saving to: “epel-release-6-8.noarch.rpm”
100%[==========================================================================================>] 14,540 54.6K/s in 0.3s
2014-02-23 12:24:53 (54.6 KB/s) – “epel-release-6-8.noarch.rpm” saved [14540/14540] [/code] 使用rpm 命令安装刚才下载的epel软件包:
[cc lang=”php”] rpm -ivh epel-release-6-8.noarch.rpm
[/code] 命令输出:
[cc lang=”php”] arning: epel-release-6-8.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing… ########################################### [100%] 1:epel-release ########################################### [100%] [/code]

CentOS 安装Lighttpd

步骤一:使用yum命令安装下面的包:
[cc lang=”php”] yum install lighttpd lighttpd-fastcgi lighttpd-mod_geoip
[/code] 命令输出:
[cc lang=”php”] Loaded plugins: downloadonly, fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirror.thelinuxfix.com
* epel: mirror.steadfast.net
* extras: holmes.umflint.edu
* updates: bay.uchicago.edu
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package lighttpd.x86_64 0:1.4.34-1.el6 will be installed
—> Package lighttpd-fastcgi.x86_64 0:1.4.34-1.el6 will be installed
–> Processing Dependency: spawn-fcgi for package: lighttpd-fastcgi-1.4.34-1.el6.x86_64
—> Package lighttpd-mod_geoip.x86_64 0:1.4.34-1.el6 will be installed
–> Processing Dependency: libGeoIP.so.1()(64bit) for package: lighttpd-mod_geoip-1.4.34-1.el6.x86_64
–> Running transaction check
—> Package GeoIP.x86_64 0:1.4.8-1.el6 will be installed
—> Package spawn-fcgi.x86_64 0:1.6.3-1.el6 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
======================================================================
Package Arch Version Repository
Size
======================================================================
Installing:
lighttpd x86_64 1.4.34-1.el6 epel 294 k
lighttpd-fastcgi x86_64 1.4.34-1.el6 epel 44 k
lighttpd-mod_geoip x86_64 1.4.34-1.el6 epel 21 k
Installing for dependencies:
GeoIP x86_64 1.4.8-1.el6 epel 620 k
spawn-fcgi x86_64 1.6.3-1.el6 epel 16 k
Transaction Summary
======================================================================
Install 5 Package(s)
Total download size: 995 k
Installed size: 2.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/5): GeoIP-1.4.8-1.el6.x86_64.rpm | 620 kB 00:00
(2/5): lighttpd-1.4.34-1.el6.x86_64.rpm | 294 kB 00:00
(3/5): lighttpd-fastcgi-1.4.34-1.el6.x86_64.rp | 44 kB 00:00
(4/5): lighttpd-mod_geoip-1.4.34-1.el6.x86_64. | 21 kB 00:00
(5/5): spawn-fcgi-1.6.3-1.el6.x86_64.rpm | 16 kB 00:00
———————————————————————-
Total 1.7 MB/s | 995 kB 00:00
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
Userid : EPEL (6)
Package: epel-release-6-8.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Warning: RPMDB altered outside of yum.
Installing : lighttpd-1.4.34-1.el6.x86_64 1/5
Installing : GeoIP-1.4.8-1.el6.x86_64 2/5
Installing : spawn-fcgi-1.6.3-1.el6.x86_64 3/5
Installing : lighttpd-fastcgi-1.4.34-1.el6.x86_64 4/5
Installing : lighttpd-mod_geoip-1.4.34-1.el6.x86_64 5/5
Verifying : lighttpd-1.4.34-1.el6.x86_64 1/5
Verifying : lighttpd-mod_geoip-1.4.34-1.el6.x86_64 2/5
Verifying : spawn-fcgi-1.6.3-1.el6.x86_64 3/5
Verifying : GeoIP-1.4.8-1.el6.x86_64 4/5
Verifying : lighttpd-fastcgi-1.4.34-1.el6.x86_64 5/5
Installed:
lighttpd.x86_64 0:1.4.34-1.el6
lighttpd-fastcgi.x86_64 0:1.4.34-1.el6
lighttpd-mod_geoip.x86_64 0:1.4.34-1.el6
Dependency Installed:
GeoIP.x86_64 0:1.4.8-1.el6 spawn-fcgi.x86_64 0:1.6.3-1.el6
Complete!
[/code] 启动lighttpd服务,并将其加入到系统自启动项里:
[cc lang=”php”] service lighttpd start
chkconfig lighttpd on
[/code] 步骤二:CentOS lightpd web 服务器配置
1.编辑配置文件“/etc/lighttpd/lighttpd.conf”,更改下面的内容:
[cc lang=”php”] var.server_root = “/var/www”
include “modules.conf”
server.port = 80
server.document-root = server_root + “/lighttpd”
[/code] 2. 编辑lighttpd模块文件”/etc/lighttpd/modules.conf”,取消注释下面的内容:
[cc lang=”php”] include “conf.d/fastcgi.conf”
server.modules = (
“mod_access”,
“mod_alias”,
“mod_auth”,
# “mod_evasive”,
“mod_redirect”,
“mod_rewrite”,
# “mod_setenv”,
# “mod_usertrack”,
[/code] )
步骤三: 重新启动lighttpd 服务
输入下面的命令重启lighttpd服务:
[cc lang=”php”] service lighttpd restart
[/code]

CentOS 7/RHEL 7: 如何安装LAMP工具(Apache, MariaDB,PHP)

CentOS 和RHEL 官方发布的最新版centos 7 和rhel 7系统有了很大的改变,那么如何在新的centos 7 和rhel 7 系统上搭建LAMP server.
centos 7 lamp

1.安装并配置apache 服务器

通过yum安装apache web 服务器:
[cc lang=”php”] yum install httpd
[/code] 命令输出:
[cc lang=”php”] [root@osetc /]# yum install httpd
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.btte.net
Resolving Dependencies
–> Running transaction check
—> Package httpd.x86_64 0:2.4.6-18.el7.centos will be installed
–> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================
Package Arch Version Repository Size
==============================================================================================
Installing:
httpd x86_64 2.4.6-18.el7.centos updates 2.7 M
Transaction Summary
==============================================================================================
Install 1 Package
Total download size: 2.7 M
Installed size: 9.3 M
Is this ok [y/d/N]: y
Downloading packages:
httpd-2.4.6-18.el7.centos.x86_64.rpm | 2.7 MB 00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : httpd-2.4.6-18.el7.centos.x86_64 1/1
Verifying : httpd-2.4.6-18.el7.centos.x86_64 1/1
Installed:
httpd.x86_64 0:2.4.6-18.el7.centos
Complete!
[/code] 设置apache服务器在系统启动的时候自动启动
[cc lang=”php”] systemctl enable httpd.service
[/code] 命令输出:
[cc lang=”php”] [root@osetc /]# systemctl enable httpd.service
ln -s ‘/usr/lib/systemd/system/httpd.service’ ‘/etc/systemd/system/multi-user.target.wants/httpd.service’
[/code] centos 7 下启动httpd 服务
[cc lang=”php”] systemctl start httpd.service
[/code]

2. 在centos 7 系统上安装MariaDB

通过yum 命令来安装MariaDB 服务器:
[cc lang=”php”] yum install mariadb-server mariadb
[/code] 命令输出:
[cc lang=”php”] [root@osetc /]# yum install mariadb-server mariadb
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.btte.net
Resolving Dependencies
–> Running transaction check
—> Package mariadb.x86_64 1:5.5.40-1.el7_0 will be installed
–> Processing Dependency: mariadb-libs(x86-64) = 1:5.5.40-1.el7_0 for package: 1:mariadb-5.5.40-1.el7_0.x86_64
—> Package mariadb-server.x86_64 1:5.5.40-1.el7_0 will be installed
–> Processing Dependency: perl-DBI for package: 1:mariadb-server-5.5.40-1.el7_0.x86_64
–> Processing Dependency: perl-DBD-MySQL for package: 1:mariadb-server-5.5.40-1.el7_0.x86_64
–> Processing Dependency: perl(DBI) for package: 1:mariadb-server-5.5.40-1.el7_0.x86_64
–> Running transaction check
—> Package mariadb-libs.x86_64 1:5.5.35-3.el7 will be updated
—> Package mariadb-libs.x86_64 1:5.5.40-1.el7_0 will be an update
—> Package perl-DBD-MySQL.x86_64 0:4.023-5.el7 will be installed
—> Package perl-DBI.x86_64 0:1.627-4.el7 will be installed
–> Processing Dependency: perl(RPC::PlServer) >= 0.2001 for package: perl-DBI-1.627-4.el7.x86_64
–> Processing Dependency: perl(RPC::PlClient) >= 0.2000 for package: perl-DBI-1.627-4.el7.x86_64
–> Running transaction check
—> Package perl-PlRPC.noarch 0:0.2020-14.el7 will be installed
–> Processing Dependency: perl(Net::Daemon) >= 0.13 for package: perl-PlRPC-0.2020-14.el7.noarch
–> Processing Dependency: perl(Net::Daemon::Test) for package: perl-PlRPC-0.2020-14.el7.noarch
–> Processing Dependency: perl(Net::Daemon::Log) for package: perl-PlRPC-0.2020-14.el7.noarch
–> Processing Dependency: perl(Compress::Zlib) for package: perl-PlRPC-0.2020-14.el7.noarch
–> Running transaction check
—> Package perl-IO-Compress.noarch 0:2.061-2.el7 will be installed
–> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
–> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.061 for package: perl-IO-Compress-2.061-2.el7.noarch
—> Package perl-Net-Daemon.noarch 0:0.48-5.el7 will be installed
–> Running transaction check
—> Package perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 will be installed
—> Package perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================
Package Arch Version Repository Size
==============================================================================================
Installing:
mariadb x86_64 1:5.5.40-1.el7_0 updates 8.9 M
mariadb-server x86_64 1:5.5.40-1.el7_0 updates 11 M
Installing for dependencies:
perl-Compress-Raw-Bzip2 x86_64 2.061-3.el7 base 32 k
perl-Compress-Raw-Zlib x86_64 1:2.061-4.el7 base 57 k
perl-DBD-MySQL x86_64 4.023-5.el7 base 140 k
perl-DBI x86_64 1.627-4.el7 base 802 k
perl-IO-Compress noarch 2.061-2.el7 base 260 k
perl-Net-Daemon noarch 0.48-5.el7 base 51 k
perl-PlRPC noarch 0.2020-14.el7 base 36 k
Updating for dependencies:
mariadb-libs x86_64 1:5.5.40-1.el7_0 updates 753 k
Transaction Summary
==============================================================================================
Install 2 Packages (+7 Dependent packages)
Upgrade ( 1 Dependent package)
Total size: 22 M
Total download size: 21 M
Is this ok [y/d/N]: y
Downloading packages:
(1/9): perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm | 32 kB 00:00:00
(2/9): perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm | 57 kB 00:00:00
(3/9): perl-IO-Compress-2.061-2.el7.noarch.rpm | 260 kB 00:00:00
(4/9): perl-Net-Daemon-0.48-5.el7.noarch.rpm | 51 kB 00:00:00
(5/9): perl-PlRPC-0.2020-14.el7.noarch.rpm | 36 kB 00:00:00
(6/9): perl-DBI-1.627-4.el7.x86_64.rpm | 802 kB 00:00:00
(7/9): mariadb-5.5.40-1.el7_0.x86_64.rpm | 8.9 MB 00:00:07
(8/9): perl-DBD-MySQL-4.023-5.el7.x86_64.rpm | 140 kB 00:00:07
(9/9): mariadb-server-5.5.40-1.el7_0.x86_64.rpm | 11 MB 00:00:13
———————————————————————————————-
Total 1.6 MB/s | 21 MB 00:00:13
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Updating : 1:mariadb-libs-5.5.40-1.el7_0.x86_64 1/11
Installing : 1:mariadb-5.5.40-1.el7_0.x86_64 2/11
Installing : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 3/11
Installing : perl-Net-Daemon-0.48-5.el7.noarch 4/11
Installing : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 5/11
Installing : perl-IO-Compress-2.061-2.el7.noarch 6/11
Installing : perl-PlRPC-0.2020-14.el7.noarch 7/11
Installing : perl-DBI-1.627-4.el7.x86_64 8/11
Installing : perl-DBD-MySQL-4.023-5.el7.x86_64 9/11
Installing : 1:mariadb-server-5.5.40-1.el7_0.x86_64 10/11
Cleanup : 1:mariadb-libs-5.5.35-3.el7.x86_64 11/11
Verifying : perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64 1/11
Verifying : perl-Net-Daemon-0.48-5.el7.noarch 2/11
Verifying : 1:mariadb-5.5.40-1.el7_0.x86_64 3/11
Verifying : 1:mariadb-server-5.5.40-1.el7_0.x86_64 4/11
Verifying : 1:mariadb-libs-5.5.40-1.el7_0.x86_64 5/11
Verifying : perl-PlRPC-0.2020-14.el7.noarch 6/11
Verifying : 1:perl-Compress-Raw-Zlib-2.061-4.el7.x86_64 7/11
Verifying : perl-DBI-1.627-4.el7.x86_64 8/11
Verifying : perl-IO-Compress-2.061-2.el7.noarch 9/11
Verifying : perl-DBD-MySQL-4.023-5.el7.x86_64 10/11
Verifying : 1:mariadb-libs-5.5.35-3.el7.x86_64 11/11
Installed:
mariadb.x86_64 1:5.5.40-1.el7_0 mariadb-server.x86_64 1:5.5.40-1.el7_0
Dependency Installed:
perl-Compress-Raw-Bzip2.x86_64 0:2.061-3.el7 perl-Compress-Raw-Zlib.x86_64 1:2.061-4.el7
perl-DBD-MySQL.x86_64 0:4.023-5.el7 perl-DBI.x86_64 0:1.627-4.el7
perl-IO-Compress.noarch 0:2.061-2.el7 perl-Net-Daemon.noarch 0:0.48-5.el7
perl-PlRPC.noarch 0:0.2020-14.el7
Dependency Updated:
mariadb-libs.x86_64 1:5.5.40-1.el7_0
Complete!
[/code] 启动mariadb 服务,输入:
[cc lang=”php”] systemctl start mariadb.service
[/code] 设置mariadb 服务器在系统启动时候启用,输入命令:
[cc lang=”php”] systemctl enable mariadb.service
[/code] 命令输出:
[cc lang=”php”] [root@osetc /]# systemctl enable mariadb.service
ln -s ‘/usr/lib/systemd/system/mariadb.service’ ‘/etc/systemd/system/multi-user.target.wants/mariadb.service’
[/code] Mariadb 权限配置
输入下面的命令:
[cc lang=”php”] ./usr/bin/mysql_secure_installation
[/code] 命令输出:
[cc lang=”php”] NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we’ll need the current
password for the root user. If you’ve just installed MariaDB, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none): 回车
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.
Set root password? [Y/n] Y
New password:输入密码
Re-enter new password: 再次输入密码
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y
… Success!
By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y
– Dropping test database…
… Success!
– Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
[/code] 测试MariaDB是否安装成功,输入下面的命令:
[cc lang=”php”] mysql -u root -p
[/code] 命令输出:
[cc lang=”php”] [root@osetc /]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.40-MariaDB MariaDB Server
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
MariaDB [(none)]> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
+——————–+
3 rows in set (0.01 sec)
[/code]

3. 在centos 7 上安装PHP

使用yum命令安装php包和其相关的软件包:
[cc lang=”php”] yum install php php-mysql php-gd php-pear
[/code] 命令输出:
[cc lang=”php”] [root@osetc /]# yum install php php-mysql php-gd php-pear
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* extras: mirrors.btte.net
* updates: mirrors.btte.net
Resolving Dependencies
–> Running transaction check
—> Package php.x86_64 0:5.4.16-23.el7_0.3 will be installed
–> Processing Dependency: php-common(x86-64) = 5.4.16-23.el7_0.3 for package: php-5.4.16-23.el7_0.3.x86_64
–> Processing Dependency: php-cli(x86-64) = 5.4.16-23.el7_0.3 for package: php-5.4.16-23.el7_0.3.x86_64
—> Package php-gd.x86_64 0:5.4.16-23.el7_0.3 will be installed
–> Processing Dependency: libt1.so.5()(64bit) for package: php-gd-5.4.16-23.el7_0.3.x86_64
—> Package php-mysql.x86_64 0:5.4.16-23.el7_0.3 will be installed
–> Processing Dependency: php-pdo(x86-64) = 5.4.16-23.el7_0.3 for package: php-mysql-5.4.16-23.el7_0.3.x86_64
—> Package php-pear.noarch 1:1.9.4-21.el7 will be installed
–> Processing Dependency: php-xml for package: 1:php-pear-1.9.4-21.el7.noarch
–> Processing Dependency: php-posix for package: 1:php-pear-1.9.4-21.el7.noarch
–> Running transaction check
—> Package php-cli.x86_64 0:5.4.16-23.el7_0.3 will be installed
—> Package php-common.x86_64 0:5.4.16-23.el7_0.3 will be installed
–> Processing Dependency: libzip.so.2()(64bit) for package: php-common-5.4.16-23.el7_0.3.x86_64
—> Package php-pdo.x86_64 0:5.4.16-23.el7_0.3 will be installed
—> Package php-process.x86_64 0:5.4.16-23.el7_0.3 will be installed
—> Package php-xml.x86_64 0:5.4.16-23.el7_0.3 will be installed
—> Package t1lib.x86_64 0:5.1.2-14.el7 will be installed
–> Running transaction check
—> Package libzip.x86_64 0:0.10.1-8.el7 will be installed
–> Finished Dependency Resolution
Dependencies Resolved
==============================================================================================
Package Arch Version Repository Size
==============================================================================================
Installing:
php x86_64 5.4.16-23.el7_0.3 updates 1.3 M
php-gd x86_64 5.4.16-23.el7_0.3 updates 124 k
php-mysql x86_64 5.4.16-23.el7_0.3 updates 97 k
php-pear noarch 1:1.9.4-21.el7 base 357 k
Installing for dependencies:
libzip x86_64 0.10.1-8.el7 base 48 k
php-cli x86_64 5.4.16-23.el7_0.3 updates 2.7 M
php-common x86_64 5.4.16-23.el7_0.3 updates 561 k
php-pdo x86_64 5.4.16-23.el7_0.3 updates 95 k
php-process x86_64 5.4.16-23.el7_0.3 updates 52 k
php-xml x86_64 5.4.16-23.el7_0.3 updates 122 k
t1lib x86_64 5.1.2-14.el7 base 166 k
Transaction Summary
==============================================================================================
Install 4 Packages (+7 Dependent packages)
Total download size: 5.7 M
Installed size: 21 M
Is this ok [y/d/N]: y
ownloading packages:
(1/11): libzip-0.10.1-8.el7.x86_64.rpm | 48 kB 00:00:01
(2/11): php-gd-5.4.16-23.el7_0.3.x86_64.rpm | 124 kB 00:00:01
(3/11): php-5.4.16-23.el7_0.3.x86_64.rpm | 1.3 MB 00:00:01
(4/11): php-mysql-5.4.16-23.el7_0.3.x86_64.rpm | 97 kB 00:00:00
(5/11): php-pdo-5.4.16-23.el7_0.3.x86_64.rpm | 95 kB 00:00:00
(6/11): php-cli-5.4.16-23.el7_0.3.x86_64.rpm | 2.7 MB 00:00:02
(7/11): t1lib-5.1.2-14.el7.x86_64.rpm | 166 kB 00:00:00
(8/11): php-process-5.4.16-23.el7_0.3.x86_64.rpm | 52 kB 00:00:00
(9/11): php-xml-5.4.16-23.el7_0.3.x86_64.rpm | 122 kB 00:00:01
(10/11): php-pear-1.9.4-21.el7.noarch.rpm | 357 kB 00:00:01
(11/11): php-common-5.4.16-23.el7_0.3.x86_64.rpm | 561 kB 00:00:06
———————————————————————————————-
Total 920 kB/s | 5.7 MB 00:00:06
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libzip-0.10.1-8.el7.x86_64 1/11
Installing : php-common-5.4.16-23.el7_0.3.x86_64 2/11
Installing : php-cli-5.4.16-23.el7_0.3.x86_64 3/11
Installing : php-pdo-5.4.16-23.el7_0.3.x86_64 4/11
Installing : php-process-5.4.16-23.el7_0.3.x86_64 5/11
Installing : php-xml-5.4.16-23.el7_0.3.x86_64 6/11
Installing : t1lib-5.1.2-14.el7.x86_64 7/11
Installing : php-gd-5.4.16-23.el7_0.3.x86_64 8/11
Installing : 1:php-pear-1.9.4-21.el7.noarch 9/11
Installing : php-mysql-5.4.16-23.el7_0.3.x86_64 10/11
Installing : php-5.4.16-23.el7_0.3.x86_64 11/11
Verifying : php-common-5.4.16-23.el7_0.3.x86_64 1/11
Verifying : php-pdo-5.4.16-23.el7_0.3.x86_64 2/11
Verifying : t1lib-5.1.2-14.el7.x86_64 3/11
Verifying : php-process-5.4.16-23.el7_0.3.x86_64 4/11
Verifying : php-5.4.16-23.el7_0.3.x86_64 5/11
Verifying : php-gd-5.4.16-23.el7_0.3.x86_64 6/11
Verifying : php-xml-5.4.16-23.el7_0.3.x86_64 7/11
Verifying : php-mysql-5.4.16-23.el7_0.3.x86_64 8/11
Verifying : php-cli-5.4.16-23.el7_0.3.x86_64 9/11
Verifying : libzip-0.10.1-8.el7.x86_64 10/11
Verifying : 1:php-pear-1.9.4-21.el7.noarch 11/11
Installed:
php.x86_64 0:5.4.16-23.el7_0.3 php-gd.x86_64 0:5.4.16-23.el7_0.3
php-mysql.x86_64 0:5.4.16-23.el7_0.3 php-pear.noarch 1:1.9.4-21.el7
Dependency Installed:
libzip.x86_64 0:0.10.1-8.el7 php-cli.x86_64 0:5.4.16-23.el7_0.3
php-common.x86_64 0:5.4.16-23.el7_0.3 php-pdo.x86_64 0:5.4.16-23.el7_0.3
php-process.x86_64 0:5.4.16-23.el7_0.3 php-xml.x86_64 0:5.4.16-23.el7_0.3
t1lib.x86_64 0:5.1.2-14.el7
Complete!
[/code] 测试安装后的php服务器
在/var/www/html/下创一个test.php 文件,并加入下面的内容:
[cc lang=”php”]
[/code] 保存退出后,在浏览器上输入:http://127.0.0.1/test.php,后出现下面的界面。
centos 7 php
到此在centos 7 系统上配置LAMP的工具已完成。