×

CentOS 7系统配置详解

hqy hqy 发表于2019-07-15 18:43:22 浏览1925 评论0

抢沙发发表评论

安装CentOS 7系统后,变化竟然这么大?

一、Runlevel
首先一条,原来一直用的CentOS-6.5-x86_64-minimal.iso光盘镜像(400M左右无图形系统小巧便捷),而7目前最小的镜像是CentOS-7.0-1406-x86_64-livecd.iso(700M左右),默认安装后是启动图形界面,按原来的习惯要改成启动命令行,结果发现:

[root@localhost ~]# cat /etc/inittab # inittab is no longer used when using systemd. # # ADDING CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM. # # Ctrl-Alt-Delete is handled by /etc/systemd/system/ctrl-alt-del.target # # systemd uses 'targets' instead of runlevels. By default, 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/<target name>.target /etc/systemd/system/default.target #

好吧,systemd一统天下了(它管的东西很多很多,学Centos7首先要搞定systemd)。

[root@localhost ~]# ls -Xl /etc/systemd/system/*.target lrwxrwxrwx. 1 root root 36 7月 8 23:12 /etc/systemd/system/default.target -> /lib/systemd/system/graphical.target

我们来看看从前的runlevel都变成什么样了?

[root@localhost ~]# ls -Xl /lib/systemd/system [root@localhost ~]# ls -Xl /lib/systemd/system/runlevel*.target lrwxrwxrwx. 1 root root 15 7月 5 00:45 /lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 7月 5 00:45 /lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 7月 5 00:45 /lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 7月 5 00:45 /lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 7月 5 00:45 /lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 7月 5 00:45 /lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 7月 5 00:45 /lib/systemd/system/runlevel6.target -> reboot.target

修改默认启动runlevel为 multi-user (貌似runlevel2 3 4 没区别了)

[root@localhost ~]# ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target [root@localhost ~]# ll -X /etc/systemd/system/*.target lrwxrwxrwx. 1 root root 37 7月 10 09:42 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target

试试init 6 还好用不。

[root@localhost ~]# init 6 Connection to 192.168.150.180 closed by remote host. Connection to 192.168.150.180 closed.

成,好用。:)

因为我从桌面版Linux 连接Centos7系统提示变成了中文,所以需要把Centos7 的root用户语言改一下,回到原汁原味。

[root@localhost ~]# cp .bashrc .bashrc-back [root@localhost ~]# echo 'export LANG="en_Us.UTF-8"' >> /root/.bashrc

二、Services

[root@localhost ~]# chkconfig Note: This output shows SysV services only and does not include native       systemd services. SysV configuration data might be overridden by native       systemd configuration.       If you want to list systemd services use 'systemctl list-unit-files'.       To see services enabled on particular target use       'systemctl list-dependencies [target]'. iprdump            0:off    1:off    2:on    3:on    4:on    5:on    6:off iprinit            0:off    1:off    2:on    3:on    4:on    5:on    6:off iprupdate          0:off    1:off    2:on    3:on    4:on    5:on    6:off livesys            0:off    1:off    2:off    3:on    4:on    5:on    6:off livesys-late       0:off    1:off    2:off    3:on    4:on    5:on    6:off netconsole         0:off    1:off    2:off    3:off    4:off    5:off    6:off network            0:off    1:off    2:off    3:off    4:off    5:off    6:off rhnsd              0:off    1:off    2:on    3:on    4:on    5:on    6:off vboxadd            0:off    1:off    2:on    3:on    4:on    5:on    6:off vboxadd-service    0:off    1:off    2:on    3:on    4:on    5:on    6:off vboxadd-x11        0:off    1:off    2:off    3:on    4:off    5:on    6:off

SysV已经快退居二线了,想配置服务得用systemctl,先看看默认启动的服务吧。(如果不用grep过滤一下,输出结果有260多行)

[root@localhost ~]# systemctl list-unit-files|grep enabled tmp.mount                                   enabled  accounts-daemon.service                     enabled  atd.service                                 enabled  auditd.service                              enabled  avahi-daemon.service                        enabled  bluetooth.service                           enabled  chronyd.service                             enabled  crond.service                               enabled  dbus-org.bluez.service                      enabled  dbus-org.Fedoraproject.FirewallD1.service   enabled  dbus-org.freedesktop.Avahi.service          enabled  dbus-org.freedesktop.NetworkManager.service enabled  dbus-org.freedesktop.nm-dispatcher.service  enabled  display-manager.service                     enabled  dmraid-activation.service                   enabled  firewalld.service                           enabled  gdm.service                                 enabled  getty@.service                              enabled  irqbalance.service                          enabled  iscsi.service                               enabled  kdump.service                               enabled  libstoragemgmt.service                      enabled  lvm2-monitor.service                        enabled  mdmonitor.service                           enabled  microcode.service                           enabled  multipathd.service                          enabled  NetworkManager-dispatcher.service           enabled  NetworkManager.service                      enabled  packagekit-offline-update.service           enabled  postfix.service                             enabled  rngd.service                                enabled  rsyslog.service                             enabled  rtkit-daemon.service                        enabled  smartd.service                              enabled  spice-vdagentd.service                      enabled  sysstat.service                             enabled  systemd-readahead-collect.service           enabled  systemd-readahead-drop.service              enabled  systemd-readahead-replay.service            enabled  tuned.service                               enabled  avahi-daemon.socket                         enabled  dm-event.socket                             enabled  iscsid.socket                               enabled  iscsiuio.socket                             enabled  lvm2-lvmetad.socket                         enabled  default.target                              enabled  multi-user.target                           enabled  remote-fs.target                            enabled

默认居然没有启动sshd,晕!看看监听端口:

[root@localhost ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2090/master

果然没有22,试试老办法:

[root@localhost ~]# chkconfig sshd on Note: Forwarding request to 'systemctl enable sshd.service'. ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'

能用,但是指令被转发到 systemctl enable sshd.service ,以后控制服务就用这个指令了。试试:

禁用sshd:

[root@localhost ~]# systemctl disable sshd.service rm '/etc/systemd/system/multi-user.target.wants/sshd.service'

启用sshd:

[root@localhost ~]# systemctl enable sshd.service ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'

看看:

[root@localhost ~]# systemctl list-unit-files|grep sshd.service anaconda-sshd.service                       static   sshd.service                                enabled  [root@localhost ~]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name     tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2090/master          tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      2758/sshd            tcp6       0      0 :::22                   :::*                    LISTEN      2758/sshd

其实启用和禁用服务就是在当前“runlevel”的配置文件目录(/etc/systemd/system/multi-user.target.wants/)里,

建立/usr/lib/systemd/system 里面对应服务配置文件的软链接;禁用服务就是删除此软链接。
有兴趣就自己看看 /usr/lib/systemd/system 里的文件,语法跟旧版/etc/init.d/ 里的服务脚本完全不同,也不能再用 /etc/init.d/sshd restart 之类的指令启动服务器了。

先试试旧方法启动服务:

[root@localhost ~]# service sshd start Redirecting to /bin/systemctl start  sshd.service

用新方法折腾一下:

[root@localhost ~]# systemctl start sshd.service [root@localhost ~]# systemctl stop sshd.service [root@localhost ~]# systemctl restart sshd.service [root@localhost ~]#

如果没有错误,就不会输出任何信息,这个,,,,得习惯一下。

三、网络
setup工具还是保留了,但有区别,没有了网络配置,多了RHN(Centos到底是跟RedHat一家子了)
[root@localhost ~]# setup

好吧,我们看看网络配置。

[root@localhost ~]# cat /etc/resolv.conf  # Generated by NetworkManager nameserver 192.168.150.254 [root@localhost ~]# cat /etc/sysconfig/network # Created by anaconda [root@localhost ~]# ll /etc/sysconfig/network-scripts/ifcfg-* -rw-r--r--. 1 root root 298 Jul  9 00:13 /etc/sysconfig/network-scripts/ifcfg-Auto_Ethernet -rw-r--r--. 1 root root 288 Jul  8 23:12 /etc/sysconfig/network-scripts/ifcfg-enp0s3 -rw-r--r--. 1 root root 254 Apr  2 23:30 /etc/sysconfig/network-scripts/ifcfg-lo [root@localhost ~]# ifconfig enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 192.168.150.180  netmask 255.255.255.0  broadcast 192.168.150.255         inet6 fe80::a00:27ff:fe9a:a688  prefixlen 64  scopeid 0x20<link>         ether 08:00:27:9a:a6:88  txqueuelen 1000  (Ethernet)         RX packets 39317  bytes 2487945 (2.3 MiB)         RX errors 0  dropped 0  overruns 0  frame 0         TX packets 2216  bytes 740115 (722.7 KiB)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536         inet 127.0.0.1  netmask 255.0.0.0         inet6 ::1  prefixlen 128  scopeid 0x10<host>         loop  txqueuelen 0  (Local Loopback)         RX packets 6  bytes 504 (504.0 B)         RX errors 0  dropped 0  overruns 0  frame 0         TX packets 6  bytes 504 (504.0 B)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 [root@localhost ~]#

先改改主机名:

[root@localhost ~]# echo "hostname cenots7.localdomain" >>/etc/sysconfig/network [root@localhost ~]# reboot Connection to 192.168.150.180 closed by remote host. Connection to 192.168.150.180 closed. xw@Opt9010:~$ ssh root@192.168.150.180 root@192.168.150.180's password:  Last login: Thu Jul 10 10:01:09 2014 [root@cenots7 ~]#

看看网卡配置文件:

[root@cenots7 ~]# cd /etc/sysconfig/network-scripts/ [root@cenots7 network-scripts]# cat ifcfg-Auto_Ethernet  HWADDR=08:00:27:9A:A6:88 TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME="Auto Ethernet" UUID=76304098-8f46-4185-8337-bb7f0d90423e ONBOOT=yes [root@cenots7 network-scripts]# cat ifcfg-enp0s3  HWADDR=08:00:27:9A:A6:88 TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=enp0s3 UUID=66a635c2-9600-437b-8cfb-57e9569f68da ONBOOT=no

看看两个文件有啥不同:

[root@cenots7 network-scripts]# diff ifcfg-Auto_Ethernet ifcfg-enp0s3  14,16c14,16 < NAME="Auto Ethernet" < UUID=76304098-8f46-4185-8337-bb7f0d90423e < ONBOOT=yes --- > NAME=enp0s3 > UUID=66a635c2-9600-437b-8cfb-57e9569f68da > ONBOOT=no

两个文件MAC地址一样,ifcfg-Auto_Ethernet ONBOOT=yes,但是ifconfig结果显示的是enp0s3,有点儿费解了。

再看看我复制KVM虚拟机时经常要改的网卡MAC地址:

root@cenots7 network-scripts]# ll /etc/udev/rules.d/ total 8 -rw-r--r--. 1 root root 134 Jul  9 00:47 60-vboxadd.rules -rw-r--r--. 1 root root 352 Jul  4 00:38 98-kexec.rules [root@cenots7 network-scripts]# cat /etc/udev/rules.d/98-kexec.rules  SUBSYSTEM=="cpu", ACTION=="online", PROGRAM="/bin/systemctl try-restart kdump.service" SUBSYSTEM=="cpu", ACTION=="offline", PROGRAM="/bin/systemctl try-restart kdump.service" SUBSYSTEM=="memory", ACTION=="add", PROGRAM="/bin/systemctl try-restart kdump.service" SUBSYSTEM=="memory", ACTION=="remove", PROGRAM="/bin/systemctl try-restart kdump.service" [root@cenots7 network-scripts]# cat /etc/udev/rules.d/60-vboxadd.rules  KERNEL=="vboxguest", NAME="vboxguest", OWNER="vboxadd", MODE="0660" KERNEL=="vboxuser", NAME="vboxuser", OWNER="vboxadd", MODE="0666"

 

70-persistent-net.rules呢?

网卡MAC只在网卡配置文件里有,一旦变了我只需要改网卡配置文件?

[root@cenots7 network-scripts]# grep -r "08:00:27:9A:A6:88" /etc/ /etc/sysconfig/network-scripts/ifcfg-enp0s3:HWADDR=08:00:27:9A:A6:88 /etc/sysconfig/network-scripts/ifcfg-Auto_Ethernet:HWADDR=08:00:27:9A:A6:88

改一下网卡MAC 0800279AA688 -> 0800278C3746

 

改MAC后网卡不认了,测试结果是只需要改网卡配置文件的MAC,而且两个配置文件都要改才行。我顺便把DHCP改成了固定IP。

[root@cenots7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-Auto_Ethernet  HWADDR=08:00:27:8C:37:46 # HWADDR=08:00:27:9A:A6:88 TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.150.180 NETMASK=255.255.255.0 GATEWAY=192.168.150.254 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_PEERDNS=no IPV6_PEERROUTES=no IPV6_FAILURE_FATAL=no NAME="Auto Ethernet" UUID=76304098-8f46-4185-8337-bb7f0d90423e ONBOOT=yes [root@cenots7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-enp0s3  HWADDR=08:00:27:8C:37:46 # HWADDR=08:00:27:9A:A6:88 TYPE=Ethernet BOOTPROTO=static IPADDR=192.168.150.180 NETMASK=255.255.255.0 GATEWAY=192.168.150.254 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_PEERDNS=no IPV6_PEERROUTES=no IPV6_FAILURE_FATAL=no NAME=enp0s3 UUID=66a635c2-9600-437b-8cfb-57e9569f68da ONBOOT=no

好吧,这样初步解决了基础问题。


 您阅读本篇文章共花了: 

打赏

本文链接:https://kinber.cn/post/849.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

群贤毕至

访客