Centos7修改系统配置

一、修改系统启动级别。

# 缺省的运行级,linux用到的运行级别如下:

引用
# 0 - 停机(千万不要把initdefault设置为0 ) 
# 1 - 单用户模式 
# 2 - 多用户,但是没有NFS 
# 3 - 完全多用户模式 
# 4 - 没有用到 
# 5 - X11 
# 6 - 重新启动(千万不要把initdefault设置为6 )


对各个运行级的详细解释:(一般使用3(字符界面)或5(图形界面)级别)
引用
0 为停机,机器关闭。 
1 为单用户模式,就像Win9x下的安全模式类似。 
2 为多用户模式,但是没有NFS支持。 
3 为完整的多用户模式,是标准的运行级。                 
4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5 就是X11,进到X Window系统了。 
6 为重启,运行init 6机器就会重启

首先一条,原来一直用的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
复制代码

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值