以下参考朱洪春《Linux集群和自动化运维》
更新yum镜像源
官方源默认为/etc/yum.repos.d/CentOS-Base.repo,将其备份(加个.bak就行)
下载新的repo文件,放到/etc/yum.repos.d/下面
http://mirrors.163.com/.help/CentOS7-Base-163.repo
curl -O http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all #清除yum缓存
yum makecache #重建缓存
yum update #升级linux系统
添加EPEL源(yum源)
EPEL(Extra Packages for Enterprise Linux),由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。为网络服务器提供大量的rpm包。
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
- 下载rpm文件并安装
curl -O https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -ivh epel-release-7-11.noarch.rpm # -i|info / -v|version_bose / -h|hash info
- 安装yum-priorities
yum-priorities是一个yum源优先级划分工具,根据priority的数字确定先用哪个源来安装,数字越小,优先级越高。优先级参数添加在对应的repo文件中,在最后添加priority=优先级数字
即可。
yum install yum-priorities
安装完成需开启此功能,设置文件的位置为/etc/yum/pluginconf.d/priorities.conf
文件内容:
[main]
enabled=1
查看服务并关闭不需要的服务
安装ntsysv,可以在此界面中查看服务并且取消开机启动。
关闭不需要的终端界面(TTY),如果开机有多个tty打开,那么这个是在/etc/init/start-ttys.conf文件里控制的。
...
env ACTIVE_CONSOLES=/dev/tty[1-6]
...
将[1-6]改成[1-2],开机只保留2个控制台。
由ipv6网络服务导致的系列问题
在CentOS 7中,ipv6网络服务默认开启,如果因为ipv6导致的应用程序不稳定,可以禁用这个服务。
可以用ifconfig查看网络服务,如果CentOS是最小安装,则需要手动安装ifconfig,这个在net-tools
软件包中。
通过修改相应配置文件禁用ipv6
echo "install ipv6 /etc/true" > /etc/modprobe.d/disable-ipv6.conf
echo "IPV6INIT=no" >> /etc/sysconfig/network-scripts/ifcfg-eth0
设置ssh服务,从其他内网机器访问本CentOS机器
为了能够在其他更方便的终端界面操作该机器(Xshell/WinSCP),需要设置ssh登陆。但同时我们需要禁止root远程登录,这是为了安全。那我们至少创建一个具有sudo权限的用户来保证一些最高权限的操作。
- 安装openssh-server
yum list installed | grep openssh
# 若没有已安装内容,则
yum install openssh-server
- 编辑ssh配置文件
文件路径:/etc/ssh/sshd_config
取消注释端口、监听地址、PermitRootLogin(允许远程登入)等信息,如果是密码登入则PasswordAuthentication需要取消注释,如果是Pubkey登入则PubkeyAuthentication需要取消注释。
...
Port 22
#AddressFamily any
ListenAddress 0.0.0.0
ListenAddress ::
UseDNS no #关闭ssh反向查询,加快ssh访问速度
...
# Authentication:
#LoginGraceTime 2m
PermitRootLogin no #禁止root登陆
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
#PubkeyAuthentication yes
PasswordAuthentication yes
PermitEmptyPasswords no #禁止空密码登陆
- 开启被连接的机器上的ssh服务
sudo service sshd start
-
检查NAT接入网络
VMware虚拟机默认使用NAT接入网络,找到对应使用NAT模式的网络名为VMnet8。在Windows中使用ipconfig,可以看到使用的内网c段。在虚拟机让查看ifconfig,对应的内网ip就一目了然了,之后就可以通过此ip加上ssh服务中的端口号,ssh连入CentOS机器。
- 添加有sudo权限的用户
首先创建用户useradd admin
,然后设置密码passwd admin
,给admin以sudo的权限:
在/etc/sudoers文件里面查找以下内容,没有找到的话在文件里添加:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
然后添加以下内容:
admin ALL=(ALL) ALL
# 如果不想sudo每次都输入密码,可以写成下面:
admin ALL=(ALL) NOPASSWD:ALL
调整Linux的最大文件句柄限制
在生产中,打开的文件数很容易达到Linux的最大文件句柄限制,是1024,所以需要稍作改动。
打开/etc/security/limit.conf,在最后一行加上如下命令:
* soft nofile 65535
* hard nofile 65535
打开/etc/rc.local,添加如下内容:
ulimit -SHn 65535
网卡设置与启动(虚拟机另外看)
配置位置:/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #网卡设备名称
BOOTPROTO=static #设置为none禁止DHCP,设置为static启用静态IP地址,设置为dhcp开启DHCP服务
HWADDR=00:0c:29:2b:4c:67 #mac地址
IPV6INIT=no #禁用ipv6接口
IPV6_AUTOCONF=yes #
ONBOOT=yes #重要,开机自启
NETMASK=255.255.255.0 #子网掩码
IPADDR= #ip地址
GATEWAY= #网关
TYPE=Ethernet #类型
PEERDNS=yes #是否允许DHCP获得的DNS覆盖本地的DNS
USERCTL=no #不允许普通用户修改网卡