怎么删除禁用RHELCentOS 7上不需要的服务
RHEL/CentOS 7最低的安装版本都是默认安装了许多服务的,比如 邮件转移代理daemon, Avahi mdns daemon (multicast Domain Name System) 和Chrony 服务
Remove Services in CentOS 7
不过也遇到了新的问题因为有的服务感觉我们是不需要的,所以我们获得会禁用/启用一些服务
要求
CentOS 7 最低安装版
RHEL 7最低安装版
如果你想把最新安装的RHEL/CentOS 7 加入到主机去, 也就是说一个你不需要执行Postifx MTA daemon的比如运行一个Apache或Nginx网站,或者提供DNS, DHCP, PXE boot, FTP server网络服务器, 那么就要安装这些没必要服务,甚至要运行起来
对外部来说,一个小的安装服务器运行后可能需要ssh进程,方便外部管理
禁用/删除Postfix MTA, Avahi和Chrony服务
1 安装玩系统后,root登录或者其他非root用户登录切换更新系统,保证你系统的资源是最新的
# yum upgrade
Upgrade System
2 接下里就是使用yum安装一些必要的东西,比如net-tools (这个软件包比较的旧但的确是一个很好的ifconfig命令), nano文本编辑, wget 或curl, lsof (列出打开的文件) 和bash-completion, 需要执行
# yum install nano bash-completion net-tools wget curl lsof
Install System Utilities
3 现在就可以开始禁用和删除预安装的不想要的服务首先列出你已经安装或者正在运行的服务,执行netstat命令反向TCP, UDP和监听socket断开
# netstat -tulpn ## To output numerical service sockets
# netstat -tulp ## To output literal service sockets
List Enabled Services
4 看到了吧,Postfix是开启的,然后监听的是本地端口25, Avahi daemon绑定到了所有的网络接口,Chronyd服务绑定到了本地和所有的不同端口网络接口 通过下面的命令来删除Postfix MTA 服务
# systemctl stop postfix
# yum remove postfix
Remove Postfix Service
5 接下来删除Chronyd服务,我们用NTP服务替换掉
# systemctl stop chronyd
# yum remove chrony
Remove Chronyd Service
6 接下来删除Avahi daemon守护进程 RHEL/CentOS 7的Avahi daemon越来依靠网络管理服务了 把Avahi daemon删除之后,可以然系统不会链接任何网络
注意这步,如果你想要自动配置网络或者你需要通过nmtui网编辑网络接口,那么你需要停止和禁用Avahi 进程才能全部删除
如果你还是想完全删除这个服务的话,你必须手动的编辑网络配置文件/etc/sysconfig/network-scripts/ifcfg-interface_name,然后启动的启用网络服务
删除Avahi mdns daemon的时候可能会遇到些问题 注意:如果你ssh登录的情况下别删除Avahi daemon
# systemctl stop avahi-daemonsocket avahi-daemonservice
# systemctl disable avahi-daemonsocket avahi-daemonservice
--------- 如果你不想删除的话到这里就别执行了 ---------
# yum remove avahi-autoipd avahi-libs avahi
Remove Avahi Daemon
7 这步只有在你真想删除Avahi daemon服务和你断开网络连接并且你需要手动重新配置网络接口卡的时候
想使用IPv6和静态IP编辑你的NIC, 进入 /etc/sysconfig/network-scripts/ , 打开NIC 接口文件爱你 (一般来说第一张卡名是ifcfg-eno1677776 默认网络管理器就配置好了的) ,如果你网络接口还没配置的话就参考下面的向导
IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=none
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
#DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
IPADDR=192168125
NETMASK=2552552550
GATEWAY=19216811
DNS1=19216811
DNS2=8888
Configure Network Interface
一些重要的设置说明:
BOOTPROTO – 设置为空或者静态IP – 适合配置静态IP
ONBOOT – 设置为yes – 重启后启动接口
DEFROUTE – 使用 #可以注视或者全部删除也行 – 不要使用默认配置 (如果你使用默认的,那你需要给所有网络接口添加一个 “DEFROUTE: no”)
8 如果你的机器配置有自动分配IP的DHCP服务器的话, 使用下面的读来配置网络接口
IPV6INIT=no
IPV6_AUTOCONF=yes
BOOTPROTO=dhcp
DEVICE=eno16777736
ONBOOT=yes
UUID=c3f0dc21-d2eb-48eb-aadf-10a520b13df0
TYPE=Ethernet
##DEFROUTE=no
IPV4_FAILURE_FATAL=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
NAME="System eno16777736"
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
HWADDR=00:0C:29:E2:06:E9
Configure DHCP Interface
跟配置静态IP地址一样,假设BOOTPROTO设置到了dhcp,DEFROUTE是注视或者删除了设备并需要重启才行,如果你没有IPv6,你阿九删除或者注视所有含有IPV6的配置
9 为了让新的接口配置生效,你需要重启电脑或者网络服务,重启之后使用ifconfig或者ip命令来查看你设置的网络是否生效
# service network restart ## Use this command before systemctl
# chkconfig network on
# systemctl restart network
# ifconfig
# ping domaintld
Confirm Network Settings
10 最后确保你使用了hostnamectl系列命令给系统设置了hosetname名字,查看你的hostname配置使用下面的命令
# hostnamectl set-hostname FQDN_system_name
# hostnamectl status
# hostname
# hostname -s ## Short name
# hostname -f ## FQDN name
Setup System Hostname
11 好了,最后使用一下netstat来看看系统允许的是那个网络
# netstat -tulpn
# netstat -tulp
Verify Running Services
12 处理SSH服务外,如果你的网络使用的是DHCP来拉去静态IP配置,那么需要运行一个DHCP客户端,然后启用UDP端口
# netstat -tulpn
Verify DHCP Service
13 另外可以选的,你也可以使用ofSockets Statistics命令来打印出正在运行的socket网络
# ss -tulpn
ss Command to Check Network
14 重启电脑,执行systemd-analize来检测你的系统boot-time是否正常,同时,使用free和Disk Free 命令可以用来显示RAM和HDD统计情况,top命令可以来查看系统资源使用情况
# free -h
# df -h
# top
Chec
纯傻瓜式步骤,保证成功。
下面的操作,按照步骤来就可以了,不要在中途cd 到别的文件目录下,要想查看效果可以用 ls加上对应的目录,不需要切换进去。
首先不管你当前在哪个目录下,输入以下命令。
默认Centos7中是有python安装的,但是是27版本,我们需要安装py3。我们去看一下默认的py27在哪里。
三个显示结果中最后一个是python27,实际上这几个文件之间是有依赖关系的。在ls 后面加个 -al参数,如下:
[root@localhost bin]# ls -al python
lrwxrwxrwx 1 root root 33 Oct 21 12:30 python -> python2
lrwxrwxrwx 1 root root 9 Oct 19 23:55 python2 -> python27
-rwxr-xr-x 1 root root 7136 Aug 4 08:40 python27
[root@localhost bin]#
依赖关系很明显就可以看到。我们要安装版本3,首先要把刚才显示的三个python文件中的第一个python给备份一下(不保留源文件,仅保留备份文件就可以)
使用如下命令:
python文件变成了pythonbak文件,bak文件就放这里吧,再也不用管它了。避免以后麻烦,就留在这里不用删除。系统准备好了,接下来,我们要去下载了。
比较推荐下面这种方式,我们在linux上找一个目录,然后使用wget命令下载到这个目录,然后解压->安装。如下:
https://wwwpythonorg/ftp/python/ 这个是所有的python版本存放的地方。我们想使用哪个版本就用哪个。
很多版本,这里选择的是比较新的363,点进去,找到下面这个文件。Python-363tgz
然后根据地址栏的链接拼接成如下链接:(如果是其他版本道理与这个是一样的)
https://wwwpythonorg/ftp/python/363/Python-363tgz
链接准备好了,我们在Centos 7上创建一个目录吧。一般选择的是/usr/local里面的,如下命令(当前我们依然还在之前的/usr/bin目录下面,先不要动,还在这里):
目录创建好了,我们就cd切换进去就好了。
接下来我们要用刚才的网址,把源码下载到这个目录下就OK,命令如下:
等待下载完成之后会在当前目录下出现一个tgz包,命令解压这个包到当前目录就可以:
就要开始安装了,因为下载的包是未编译的,我们需要编译一下。
进入文件目录:
然后如下命令(执行完这句命令之后,不要切换到别的目录,不然会非常懵逼,因为执行完之后如果去/usr/local/下面的看的话是没有python3Dir目录的):
稍微解释上面这句命令,这句话的大致目的就是把python的安装目录指定一下,这样的话,里面的一些bin目录、lib目录就都会存放在这个目录下面。如果不指定这个安装目录的话,最后python的安装文件将分散到linux的默认目录,不在一块。我们指定安装目录,以后卸载的话直接删除目录就可以干净卸载了。
现在我们当前目录还是在/usr/local/python3/Python-363,执行如下命令:
然后出来一大堆代码,等它执行完毕。接着输入以下命令:
又是一大堆代码,执行完毕之后,我们就可以切换到/usr/local/python3Dir目录下去查看了。
接下来我们还有一点善后工作。切换到 /usr/bin目录下面吧:
软链接创建完毕之后。再说个事情,就是centos的yum命令是需要python支持的,我们贸然把当期的版本更换了,万一yum出错怎么办,还是让yum依然用原来的27版本吧。好吧我们帮它改一下吧:
注意:下面这个操作用vi操作,不熟悉vi的同学 一定要按照我的指示来 ,不然你一脸懵逼连修改后的文件怎么保存退出都不知道。
首先输入命令,然后回车:
接下来出现一个全新的界面。 此时任何按键都不要动。听我指示。
首先,切换到 英文 输入法,再输入字符 i 是aeiou的i
然后就可以开始编辑这个文件了。
把文件开头第一行的
#!/usr/bin/python改成#!/usr/bin/python27 这样就可以了。
然后,下面保存退出。注意步骤。
首先按下ESC,然后 输入: 这个符号(需要shift组合键的)。然后输入wq 细心的同学看左下角。
然后回车就可以保存退出,回到终端界面了。
我们查看一下链接情况:
然后查看一下当前的python版本
然后来个hello world测试一下:
先输入python进入,然后写代码:
以上就是安装的全部过程,现在来捋一下安装的大致思路。
1安装vsftpd:yum install vsftpd
2启动/重启/关闭vsftpd服务器:/sbin/service vsftpd restart
我的安装完vsftpd,就可以访问了呀,你的出现弹窗显示错误!
文件名、目录名或卷标语法不正确! 是什么情况。。。
3使用这个语句查看你的ftp目录:more /etc/passwd|grep ftp
4关于centos FTP的搭建过程见附件,关注第3点
0条评论