centos apr,centos7哪个版本好

大家好,centos apr相信很多的网友都不是很明白,包括centos7哪个版本好也是一样,不过没有关系,接下来就来为大家分享关于centos apr和centos7哪个版本好的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!

CentOS7网络设置修复

服务器有两个网卡enp7s0和enp8s0   

服务器需要通过enp8s0和互联网联通,互联网为笔记本转接

通过centos7界面修改ip,失败;

通过centos7的网络配置文件/etc/sysconfig/network-scripts/ifcfg-enp8s0修改ip设置

设置如下:

1.启动 service network start报错,通过journalctl-xe查看如下

-- Defined-By: systemd

-- Support:

--

-- Unit fprintd.service has begun starting up.

12月 29 19:31:12 crrchost dbus-daemon[851]: dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'

12月 29 19:31:12 crrchost dbus[851]: [system] Successfully activated service'net.reactivated.Fprint'

12月 29 19:31:12 crrchost systemd[1]: Started Fingerprint Authentication Daemon.

-- Subject: Unit fprintd.service has finished start-up

-- Defined-By: systemd

-- Support:

--

-- Unit fprintd.service has finished starting up.

--

-- The start-up result is done.

12月 29 19:31:12 crrchost fprintd[6685]: Launching FprintObject

12月 29 19:31:12 crrchost fprintd[6685]:** Message: D-Bus service launched with name: net.reactivated.Fprint

12月 29 19:31:12 crrchost fprintd[6685]:** Message: entering main loop

12月 29 19:31:18 crrchost polkitd[835]: Operator of unix-session:1 successfully authenticated as unix-user:windfarm to gain TEMPORARY authorization for action org.freedesktop.systemd1.manage-units for system-bus

12月 29 19:31:18 crrchost systemd[1]: Starting LSB: Bring up/down networking...

-- Subject: Unit network.service has begun start-up

-- Defined-By: systemd

-- Support:

--

-- Unit network.service has begun starting up.

12月 29 19:31:18 crrchost network[6693]:正在打开环回接口: [ 确定  ]

12月 29 19:31:18 crrchost network[6693]:正在打开接口 enp7s0:

12月 29 19:31:24 crrchost network[6693]:正在确定 enp7s0的 IP信息...失败:不存在链接。检查电缆?

12月 29 19:31:24 crrchost network[6693]: [失败]

12月 29 19:31:24 crrchost network[6693]:正在打开接口 enp8s0: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: [ 确定  ]

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost network[6693]: RTNETLINK answers: File exists

12月 29 19:31:25 crrchost systemd[1]: network.service: control process exited, code=exited status=1

12月 29 19:31:25 crrchost systemd[1]: Failed to start LSB: Bring up/down networking.

-- Subject: Unit network.service has failed

-- Defined-By: systemd

-- Support:

--

-- Unit network.service has failed.

--

-- The result is failed.

12月 29 19:31:25 crrchost systemd[1]: Unit network.service entered failed state.

12月 29 19:31:25 crrchost systemd[1]: network.service failed.

12月 29 19:31:25 crrchost polkitd[835]: Unregistered Authentication Agent for unix-process:6669:319312(system bus name:1.263, object path/org/freedesktop/PolicyKit1/AuthenticationAgent, locale zh_CN.UTF-8)(d

3.systemctl status network.service查看如下:

● network.service- LSB: Bring up/down networking

  Loaded: loaded(/etc/rc.d/init.d/network; bad; vendor preset: disabled)

  Active: failed(Result: exit-code) since六 2018-12-29 18:38:17 CST; 1min 24s ago

   Docs: man:systemd-sysv-generator(8)

  Process: 909 ExecStart=/etc/rc.d/init.d/network start(code=exited, status=1/FAILURE)

12月 29 18:38:06 crrchost systemd[1]: Starting LSB: Bring up/down networking...

12月 29 18:38:06 crrchost network[909]:正在打开环回接口: [ 确定  ]

12月 29 18:38:06 crrchost network[909]:正在打开接口 enp7s0:

12月 29 18:38:12 crrchost network[909]:正在确定 enp7s0的 IP信息...失败:…?

12月 29 18:38:12 crrchost network[909]: [失败]

12月 29 18:38:17 crrchost network[909]:正在打开接口 enp8s0: [ 确定  ]

12月 29 18:38:17 crrchost systemd[1]: network.service: control process exi...=1

12月 29 18:38:17 crrchost systemd[1]: Failed to start LSB: Bring up/down n...g.

12月 29 18:38:17 crrchost systemd[1]: Unit network.service entered failed...e.

12月 29 18:38:17 crrchost systemd[1]: network.service failed.

Hint: Some lines were ellipsized, use-l to show in full.

1.参考网络方法停用NetworkManager,依旧报错

   systemctl stop NetworkManager

    systemctl disable NetworkManager

2.比对两个网卡的MAC地址和配置文件的MAC地址

   a.查看mac地址配置,ipconfig

   b.查看配置文件中的macd地址是否匹配,ifcfg-enp8s0和ifcfg-enp7s0,

    按照网络方法增加一行HWADDR=ipconfig查询到的对应网卡MAC地址;

   c.重启network服务依旧报错;

3.通过GUI界面查看网络,提示“系统的网络服务与此版本的网络管理器不兼容”

  这与之前停掉NetworkManager有关,此处不表;

4.因为ifcfg-enp7s0实际上没有插网线,修正其配置文件如下:

   ONBOOT=no

  重新启动服务后网络正常;

5.检查网络

1.network和NetworkManager不同,通过界面和通过配置文件,可能会导致配置混乱,且NetworkManager有些程序不支持,需要停用;

2.BOOTPROTO=none虽然可以表示静态ip,但是如果要启用,必须设置其为

BOOTPROTO=static或BOOTPROTO=dhcp

3.一个网卡没哟被启用,也就是没有设置动态ip或静态ip,是无法被初始化的,不能设置ONBOOT=yes

In Centos7.0 disabling NetworkManager will leave a dhcp client running configured for NetworkManager. This causes the error message RTNETLINK answers: File exists when the network service is started.

The stale dhclient process has the additional"benefit" that when the lease expires your dhclientwill choke, since it cannot reach NetWorkManager, thus removing your IP address.

If you grep for it, you will see that it points to a NetWorkManager configuration file.

[root@host~]# ps-ef| grep dhc

root    1865  792  0 Apr28?     00:00:00/sbin/dhclient-d-sf\

/usr/libexec/nm-dhcp-helper-pf/var/run/dhclient-eno1.pid-lf\

/var/lib/NetworkManager/dhclient-c96e56d3-a4c9-4a87-85ca-93dc0ca268f2-eno1.lease\

-cf/var/lib/NetworkManager/dhclient-eno1.conf eno1

So what you can do is kill the dhclient and only then start your network service.

Centos下crontab指定执行用户

Centos下可以通过配置crontab来定时执行任务,执行体可以是一条系统命令或自己写的一个脚本,同时可以指派用户来执行。配置crontab有两种方法。

方法1、使用crontab命令,例如添加一个新的或编辑已有的,使用:

crontab-e

就可以进入配置文件。此时配置crontab的执行者是当前登入用户,如果当前用户是root,需要为其他用户配置,可以使用

crontab-e-u用户名

su用户名

crontab-e

这种方法有一个缺点,就是当前系统中配置的crontab不在一个配置文件中,让管理员不方便查询系统到底有多少个crontab。

方法2、直接在/etc/crontab文件中添加,不过需要是root身份。打开文件,应该会看到类似下面的信息

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

#.---------------- minute(0- 59)

#|.------------- hour(0- 23)

#||.---------- day of month(1- 31)

#|||.------- month(1- 12) OR jan,feb,mar,apr...

#||||.---- day of week(0- 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

#|||||

#***** user-name command to be executed

要添加新的crontab,只需要在文件最后增加即可。注意这里面需要指定用户名;而方法1中则不需要,如果指定了,它会认为是命令的一部分,从而可能导致crontab执行失败。

如果服务器都是有root来管理,建议添加crontab使用方法2,这样系统中的所有计划任务都在一起,一目了然。

CentOS中httpd源代码安装与测试步骤分享

环境:CentOS6.4 x86_64

所需应用程序:APR()、APR-UTIL()、 httpd()

在Linux中软件安装有两大类,一类是软件包安装,一类是源代码安装。软件包安装就是指将编译好的二进制封装成rpm包,可以直接使用rpm工具和yum工具安装。源代码安装是指没有编译成二进制,需要通过手动编译的。使用源代码安装的原因有两个,一个就是想使用最新版的软件,另一类就是想自定义其功能的。

源代码安装的步骤:

展开压缩文件一般把文件都解压缩到/uer/local/src中在解压缩文件目录中使用./configure选项来检测编译环境,产生makefiel文件使用make进行编译 make install安装

下面就介绍如何在CentOS中通过源代码安装httpd以及测试。

用源代码安装软件首先要在系统中安装相应的编译环境;在RedHat中搭建编译环境需要的工具有DevelopmentLibraries、Development Tools、Legacy Software Development、X Software Development,这些开发环境在RehdHat是不可缺少的。在CentOS中需要的开发工具主要有两个,AdditionalDevelopment、Development tools。所以在进行源代码安装时需要搭建编译环境。

那么首先我们要挂载我们的光盘,通过光盘查找我们要安装的软件包组,挂载光盘的命令是:mount/dev/cdrom/media/cdrom光盘挂载成功后我们可以通过 yum--disablerepo=\*--enablerepo=c6-media grouplist查询我们所需要的软件包组。通过查询我们发现如图中圈出来的必须的两个开发软件包组。那么就来安装这两个软件包组吧,使用命令 yum–disablerepo=\*--enablerepo=c6-media groupinstall“AdditionalDevelopment”“Development tools”

安装完成后,接下来就进行httpd的安装,在安装httpd前需要先安装apr和apr-util

在这里我们用apr-1.4.6.tar.gz、apr-util-1.5.1.tar.gz和httpd-2.4.4.tar.bz2为例;首先把这些压缩文件解压缩到/usr/local/src目录中,使用命令

对三个压缩文件解压缩

解压缩完成后进入/usr/local/src目录中就能发现我们刚刚解压缩的三个文件所形成的目录

先来安装apr,那么要先进入/usr/local/src/apr-1.4.6目录中

可以看到一个configure文件这个文件就是我们用来配置选项,检测编译环境。还有一个README或者是INSTALL这个文件是告诉我们一些使用的方法。现在我们就来执行configure,在执行时加入--prefix来指定安装目录,使用方法就是在该解压缩目录中输入./configure–prefix=/usr/local/apr(这个目录是自己指定的,如果以后想要卸载该软件可以直接删除该目录即可,默认是安装在/desired/path/of/apr中,如果使用默认的安装路径想要卸载那就比较麻烦了)在这个过程中如果没有提示错误那就说明可以进行下一步了。

然后就使用make来进行编译了

make是一个比较漫长的过程,耐心等待就是

到了这里就说明编译完成,接下来就使用make install进行安装了

完成后我们到/usr/local/目录中看看

我们已经看到我们刚刚安装的apr了,再进到apr目录中看看

我们可以看一些bin目录,include目录还有lib目录

如果我们想让其他的软件使用apr的库,我们就需要在/etc/ld.so.conf.d/目录中创建一个.conf文件来指明它的库路径,那我们就来创建一个文件

创建完成后我们在该文件中写出路径

然后用ldconfig命令刷新缓存;

可以看到已经加载上了

如果想让程序调用apr的头文件,那我们就在/usr/include中创建一个链接指向/usr/local/apr/include/apr-1

切换到/usr/include目录下

在该目录下可以看到很多头文件

然后创建链接

通过查询我们可以看到刚刚创建的链接

好了,到此apr就已经安装完成,接下来该安装apr-util

首先切换到/usr/local/src/apr-util-1.5.1目录中

同样在该目录中也看到有 configure、README文件

接下来就和前面apr的方法一样,执行./configure--prefix=/usr/local/apr-util当然这样是不行的,这样是会提示错误的,我们需要指出apr-config的全路径,apr-config的路径是在/usr/local/apr/bin目录下,所以应该写成./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr/bin/apr-config

通过检测后,执行make;

接下来进行安装

安装完成后,想前面的apr一样,指定库文件路径

同样刷新缓存

接下来指明头文件

创建成功,最后来安装 httpd

切换到/usr/local/src/httpd-2.4.4

通过查看可以看到有 configure INSTALL README,接下来就来执行./configure--prefix=/usr/local/httpd当然这样肯定还是不行,这里需要指出apr-config的全路径和apu-config的全路径,那就应该写成./configure--prefix=/usr/local/apache--with-apr=/usr/local/apr/bin/apr-config--with-apr-util=/usr/local/apr-util/bin/apu-config

执行后如果我们看到这个错误

这是一个关于prce-config的错误;那就要排除错误,首先看看系统中有没有安装和prce相关的软件

这里安装了pcre-7.8-6.el6.x86_64,那就要看看这个软件里有没有关于pcre-config相关的文件

发现这里面没有关于pcre-config的文件,那就要安装pecr-devel

安装完成后,在安装httpd这样就顺利通过检测然后执行make

make完成后执行makeinstall

然后指明头文件

在/usr/local/apache/bin目录中都是一些可执行的文件,如果想要执行每次都要切换到该目录下,这样是很麻烦的。如果想要直接执行就要修改环境变量/etc/profile

在第55中指明了在系统中PATH搜索路径,我们就在这里指明现在的搜索路径

这样就可以了,使用./etc/profile重新读取,再用echo输出PATH的值看看有没有加载上

从图中看到已经加载上了

然后还要指出httpd的man手册的位置,编辑/etc/man.config

在里面添加MANPATH/usr/local/apache/man即可。

到这里httpd已经安装完成了,接下来就该编写shell脚本,来控制httpd的启动和停止。

脚本存放在/etc/init.d里面,那我们就在里面创建一个httpd的控制脚本来控制httpd服务的启动。

脚本的代码:

#!/bin/bash[-e/etc/init.d/functions]&&./etc/init.d/functionsprog=/usr/local/apache/bin/httpdlockfile=/var/lock/subsys/httpdstart(){if[-e$lockfile];thenecho"httpdserverisstarted"elseecho-n"httpdserverisstarting..."sleep1$prog&>/dev/null&&echo"[ok]"&&touch$lockfile||echo"[failer]"fi}stop(){if[!-e$lockfile];thenecho"httpdserverisstoped"elseecho-n"httpdserverisstoping..."sleep1killprochttpd&&echo"[ok]"&&rm-rf$lockfile||echo"[failer]"fi}status(){if[-e$lockfile];thenecho"httpdserverisstarted"elseecho"httpdservernofound"fi}case$1instart)start;;stop)stop;;restart)stopstart;;status)status;;*)echo"USAGE:start|stop|restart|status";;esac

启动服务:

通过查看80端口发现httpd已经启动

由此可见我们的httpd通过源代码安装成功,并且测试没有出现错误。

阅读剩余
THE END