CentOS基础

CentOS6

管理防火墙

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 查看帮助
$ firewall-cmd –help

# 查看状态
$ firewall-cmd --state

# 启动
$ servcie iptables start

# 停止
$ servcie iptables stop

# 禁用
$ chkconfig iptables off

# 启用
$ chkconfig iptables on

将CentOS的yum源更换为国内的阿里源

1
2
3
4
5
6
7
8
# 备份
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 下载源
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

# 生成缓存
$ yum makecache

升级内核到3.10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 检查现有的内核
$ uname -r

# 升级内核
## 导入public key
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
## 安装ELRepo
$ rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
## 安装 kernel-lt(lt=long-term)
$ yum --enablerepo=elrepo-kernel install kernel-lt -y

# 修改Grub引导顺序
$ vim /etc/grub.conf
## 修改default=1为default=0
## 保存退出

# 重启
$ reboot

# 检查升级后的内核
$ uname -r

安装CMake

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 安装依赖
$ yum install gcc-c++
$ yum install ncurses-devel

# 安装 CMake
$ cd /tmp
$ wget http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz
$ tar -zxv -f cmake-2.8.10.2.tar.gz
$ cp -r cmake-2.8.10.2 /usr/local/cmake
$ cd /usr/local/cmake
$ ./configure
$ make
$ make install

# 添加环境变量
$ vim /etc/profile
##### 在文件末尾追加以下两行代码 #####
PATH=/usr/local/cmake/bin:$PATH
export PATH
##### 内容结束 #####

# 使修改生效
$ source /etc/profile

# 查看PATH的值
$ echo $PATH

# 检查cmake是否安装成功
$ cmake --version

安装Erlang

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 下载:esl-erlang_18.1-1~centos~6_amd64.rpm
# 下载地址:https://www.erlang-solutions.com/resources/download.html

# 下载:esl-erlang-compat-18.1-1.noarch.rpm
# 下载地址:https://github.com/jasonmcintosh/esl-erlang-compat/releases/download/1.1.1/esl-erlang-compat-18.1-1.noarch.rpm

# 注意:两者的版本号必须保持一致。

# 安装Erlang依赖环境
$ yum -y install make ncurses-devel gcc gcc-c++ unixODBC unixODBC-devel openssl openssl-devel

# 安装Erlang
$ yum install esl-erlang_18.1-1~centos~6_amd64.rpm

# 安装esl-erlang-compat
$ yum install esl-erlang-compat-18.1-1.noarch.rpm

# 检测是否安装成功
$ erl

CentOS7

配置上网

1
2
3
4
5
6
7
8
9
10
11
# 修改网卡配置文件
$ cd /etc/sysconfig/network-scripts/
$ ls
## 查看配置网卡名,一般是:ifcfg-eno+随机数字。
## 用vi或vim编辑该文件,将最后一行的ONBOOT=no改为ONBOOT=yes

# 重启网络
$ service network restart

# 测试
$ ping www.baidu.com

安装net-tools

1
2
$ yum upgrade
$ yum install net-tools

管理防火墙

1
2
3
4
5
6
7
8
9
10
11
# 显示状态
$ systemctl status firewalld

# 启动
$ systemctl start firewalld

# 停止
$ systemctl stop firewalld.service

# 禁用
$ systemctl disable firewalld.service

将CentOS的yum源更换为国内的阿里源

1
2
3
4
5
6
7
8
# 备份
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

# 下载源
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 生成缓存
$ yum makecache

升级内核至最新主线稳定版(ml)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 导入key
$ rpm -import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装源
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 列出可用的内核相关包
$ yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
# 在线安装最新主线稳定版
$ yum -y --enablerepo=elrepo-kernel install kernel-ml.x86_64 kernel-ml-devel.x86_64

# 查看默认启动顺序
$ awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

# 设置新内核启动顺序
$ grub2-set-default 0

# 重启
$ reboot

# 查看升级后的内核版本
$ uname -r

升级内核至最新版本

方法一:在线安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# 导入key
$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 安装elrepo的yum源
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

# 安装内核
$ yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y

# 查看默认启动顺序
$ awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
CentOS Linux (4.14.0-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-7a874a37d6844c38831280795d63ea21) 7 (Core)

# 设置新内核启动顺序
$ grub2-set-default 0

# 重启
$ reboot

# 查看升级后的内核版本
$ uname -r
4.14.0-1.el7.elrepo.x86_64

# 删除旧内核
$ yum remove kernel

方法二:离线安装

1
2
3
4
5
6
7
8
# 下载:https://www.kernel.org
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.3.tar.xz --no-check-certificate

# 检测程序所有安装包情况
$ yum grouplist
# 安装开发工具
$ yum groupinstall Development tools
$ yum install hmaccalc zlib-develbinutils-devel elfutils-libelf-devel

开启 BBR

1
2
3
4
5
# 查看CentOS版本是否大于7.3
$ cat /etc/redhat-release

# 一键安装
$ wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

取消设置密码长度

1
2
3
4
$ vim /etc/pam.d/system-auth
##### 修改如下内容 #####
password requisite pam_cracklib.so retry=3 difok=3 minlen=1
##### 内容结束 #####

设置IP转发

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ vim /etc/sysctl.conf 
##### 增加或修改 #####
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-arptables = 1
net.ipv4.ip_forward=1
##### 内容结束 #####

# 重启network服务
$ systemctl restart network

# 检查
## 检查docker info
$ docker info
### 检查是否存在如下内容
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
WARNING: IPv4 forwarding is disabled. Networking will not work

## 检查ipv4 forward
$ sysctl net.ipv4.ip_forward

安装 zsh 和 oh-my-zsh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 安装 zsh
$ yum install -y zsh
$ cat /etc/shells

# 将zsh设置成默认的shell
$ chsh -s /bin/zsh
$ reboot

# 安装 oh-my-zsh
$ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh

# 配置主题
## 主题地址 https://github.com/robbyrussell/oh-my-zsh/wiki/themes

## 修改主题
vim ~/.zshrc
##### 找到如下内容 #####
ZSH_THEME="robbyrussell"
##### 内容结束 #####

##### 修改为如下内容 #####
ZSH_THEME="agnoster"
##### 内容结束 #####

# 更新配置
$ source ~/.zshrc

安装Gnome GUI图形界面

1
2
3
4
5
6
7
8
9
# 安装Gnome包
$ sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

# 更新系统的运行级别
$ sudo ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

# 重启系统
$ reboot
## 重启系统后,默认会进入图形界面

设置或关闭图形界面

1
2
3
4
5
6
7
8
# 查看默认的target
$ systemctl get-default

# 开机以命令模式启动
$ systemctl set-default multi-user.target

# 开机以图形界面启动
$ systemctl set-default graphical.target

CentOS7中关闭selinux

1
2
3
4
5
6
7
8
9
# 临时关闭
$ sudo setenforce 0

# 永久关闭
$ vim /etc/selinux/config
## 将SELINUX=enforcing改为SELINUX=disabled

# 检查是否关闭
$ sestatus

安装pip

1
2
3
$ yum -y install epel-release
$ yum install python-pip
$ pip install --upgrade pip

配置NTP服务

配置服务端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# 设置时区
$ timedatectl set-timezone Asia/Shanghai
$ hwclock --systohc

# 安装NTP
$ yum install --downloadonly --downloaddir=/tmp/ntp ntp
$ yum localinstall -C -y --disablerepo=* /tmp/ntp/*.rpm

# 修改配置
$ vim /etc/ntp.conf
##### 注释掉以下内容 #####
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
##### 内容结束 #####

$ vim /etc/ntp.conf
##### 增加以下内容 #####
server 127.127.1.0 iburst # local clock 使用本机时间作为时间服务的标准
fudge 127.127.1.0 stratum 10 # 这个值不能太高0-15,太高会报错
### 内容结束

# 启动NTP
$ systemctl enable ntpd

# 设置NTP开机启动
$ systemctl start ntpd

# 查看NTP服务运行情况
$ systemctl status ntpd

# 验证NTP服务
$ ntpq -p

配置客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
# 设置时区
$ timedatectl set-timezone Asia/Shanghai

# 安装ntpdate
$ yum install --downloadonly --downloaddir=/tmp/ntpdate ntpdate
$ yum localinstall -C -y --disablerepo=* /tmp/ntpdate/*.rpm

# 配置crontab(每3分钟定时同步NTP服务器192.168.100.11的时间)
$ crontab -e
*/3 * * * * /usr/sbin/ntpdate 192.168.100.11 >> /var/log/ntpdate.log 2>&1

# 重启crontab
$ systemctl restart crond.service

安装vsftp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# 检查是否安装
## 方法1
$ rpm -q vsftpd

## 方法2
$ vsftpd -v

# 安装vsftpd
$ yum -y install vsftpd

# 查看位置
$ whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

# 启动服务
$ systemctl start vsftpd.service

# 配置(配置文件地址:/etc/vsftpd/vsftpd.conf)
## 新建系统用户ftpuser,用户目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)
## 方法1
$ useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
# 设置用户 ftpuser 的密码
$ passwd ftpuser
# 把 /home/vsftpd 的所有权给ftpuser.root
chown -R ftpuser.root /home/vsftpd

## 方法2
$ useradd ftpuser -d /home/vsftpd -s /bin/false
$ chown ftpuser:ftpuser /home/vsftpd -R
# 如果虚拟用户的宿主用户为www,需要这样设置
# www目录是你应用的目录
$ chown www:www /home/www -R

开机启动脚本

1
2
3
4
5
6
7
8
$ vim /etc/profile.d/xxx.sh
##### 增加如下内容 #####
#!/bin/sh
#chkconfig: 35 20 80
#description: 脚本的功能描述
#脚本的具体执行内容
##### 内容结束 #####
$ chmod +x /etc/profile.d/xxx.sh

更换 npm 源为阿里源

1
2
3
4
5
6
7
8
9
10
11
# 查看npm源地址
npm config get registry

# 临时使用 阿里源
npm --registry https://registry.npm.taobao.org install express

# 持久使用 阿里源
npm config set registry https://registry.npm.taobao.org

# 使用官方源
npm config set registry https://registry.npmjs.org/

CentOS 通用

查看机器硬件配置

1
2
3
4
5
6
# 查看CPU
$ more /proc/cpuinfo
# 查看内存
$ free -m
# 查看硬盘
$ df -h

禁用虚拟内存

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 查看虚拟内存状态
$ free -m

# 临时禁用虚拟内存
$ swapoff -a

# 临时启用虚拟内存
$ swapon -a

# 永久禁用虚拟内存
## 手动禁用(方法一)
$ vim /etc/fstab
### 在swap分区这行前加 # 禁用掉,保存退出,重启。

## shell禁用(方法二)
$ sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

确定系统使用 SysV init还是 systemd

1
$ ps - p 1
坚持原创技术分享,您的支持将鼓励我继续创作!
0%