「 ~ 」- jnan806's blog
jnan806

CentOS 初始化


yum源 与 apt源

Windows系统上可以通过360软件管家等实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yumapt
yum, “Yellow dog Updater, Modified”, CentOS上专门为了解决包的依赖关系而存在的软件包管理器。
apt, “Advanced Packaging Tool”, Ubuntu或Debian上一款强大的包管理工具。
yumapt都可以看做是改进型的RPM软件管理器,yumapt本质上是一样的,都是linux操作系统上的rpm依赖管理软件, 都能很好的解决RPM所面临的软件包依赖问题。

以下就以免费操作系统CentOSyum为例进行说明:
yum在服务器端存有所有的RPM包, 并将各个包之间的依赖关系记录在文件中,当管理员使用yum安装RPM包时,会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的RPM包并进行安装。
因此,要想正常yum,就需要指定正确的的服务器。一般情况下,只要你的主机网络正常,可以直接使用网络yum,不需要对配置文件做任何修改。
但默认的服务器在国外,由于中国国内网络原因,访问速度极其缓慢,国内有许多权威机构和互联网大厂都对yum源做了镜像,我们只要将Linux的yum源切换到国内的镜像源地址,即可大大提升访问速度。

yum源

CentOS 操作系统中,yum源的配置文件,位于 /etc/yum.repos.d/目录下,该目录下所有以.repo结尾的文件都是一个正在使用的yum源,在使用yum命令时,会遍历所有以.repo结尾的文件。

操作系统安装完成后,通常会有以下默认文件:
CentOS-Base.repo 通常用来配置网络yum源
CentOS-Media.repo 通常用来配置本地yum源

设置网络yum源

yum源国内开源镜像

推荐:中国科技大学
但官方未提供repo下载文件,通过命令方式修改

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org/centos|baseurl=https://mirrors.ustc.edu.cn/centos|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo

其他国内镜像源

阿里 网易
centos8 https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo http://mirrors.163.com/.help/CentOS8-Base-163.repo
centos7 https://mirrors.aliyun.com/repo/Centos-7.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
centos6 https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo

修改yum源

方式一:提前下载好yum源文件,假设 ~/目录下已下载好阿里 centos8 镜像源文件 Centos-vault-8.5.2111.repo

# 备份原有镜像源文件
mkdir -p /etc/yum.repos.d/bakup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakup

# 将镜像源拷贝至 /etc/yum.repos.d 目录,
mv ~/Centos-7.repo /etc/yum.repos.d/

# 修改文件名称
MV /etc/yum.repos.d/Centos-7.repo.repo CentOS-Base.repo

方式二:通过网络下载

# 备份原有镜像源文件
mkdir -p /etc/yum.repos.d/bakup
cp -r /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakup

# 下载并重命名
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

设置本地yum源

在无法联网的情况下,yum 可以考虑用本地光盘(或安装映像文件)作为 yum 源。
Linux 系统安装映像文件中就含有常用的 RPM 包,我们可以使用压缩文件打开映像文件(iso文件)。

挂载 CentOS 安装镜像

# 创建cdrom目录,作为光盘的挂载点
mkdir /mnt/cdrom

# 挂载光盘到/mnt/cdrom目录下
mount /dev/cdrom /mnt/cdrom/

# 出现如下信息说明挂载在成功
mount: block device/dev/srO is write-protected, mounting read-only

做好备份,并且在/etc/yum.repos.d/目录下,创建CentOS-Media.repo文件,并编辑

[centos8-media]
name=CentOS-8-Media
baseurl=file:///mnt/cdrom
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

[centos8-media] # 当前配置节点,不可重复
name # 当前配置名称
baseurl # 地址为你自己的光盘挂载地址
enabled # 把enabled=0改为enabled=1, 让这个yum源配置文件生效
gpgcheck # gpgcheck=1表示进行gpg验证, # 通常我们设置为0,不进行验证
gpgkey # gpg验证的地址,如果不验证则可以不设置

yum源 初始化操作

初始化操作

# 清理
sudo yum clean all
# 进行缓存
sudo yum makecache
# 升级已安装软件
sudo yum update -y

常用软件安装

# CentOS-Base.repo
sudo yum install -y yum-utils bash-completion net-tools telnet
# CentOS-Base.repo
sudo yum install -y perl epel-release gcc gcc-c++ make openssl openssl-devel pcre pcre-devel libtool zlib zlib-devel kernel-devel
# CentOS-Base.repo
sudo yum install -y vim wget unzip gzip bind-utils
# CentOS-Base.repo
sudo yum install -y dkms checkpolicy selinux-policy-devel
# epel.repo
sudo yum intall -y jq tree bash-completion-extras

关于yum源 详细可参考 http://c.biancheng.net/view/2931.html

安全设置

ssh配置, 编辑/etc/ssh/sshd_config

vim /etc/ssh/sshd_config

UseDNS no
GSSAPIAuthentication no

#### 或

sed -i 's/UseDNS yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/g' /etc/ssh/sshd_config

时间同步, 可选

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
echo "01 */04 * * * root /usr/sbin/ntpdate 0.pool.ntp.org" >> /etc/crontab
systemctl restart crond

防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭selinux, 编辑/etc/selinux/config

vim /etc/selinux/config

SELINUX=disabled

### 或

setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

设置最大进程数, 编辑/etc/security/limits.conf

*  soft  nofile  655350
*  hard  nofile  655350
*  soft  nproc   655350
*  hard  nproc   655350
*  soft  memlock  unlimited
*  hard  memlock  unlimited

关闭swap

swapoff -a

vim /etc/fstab

注释掉 swap相关行

systemd设置, 编辑/etc/systemd/system.conf

vim /etc/systemd/system.conf
DefaultLimitCORE=infinity
DefaultLimitNOFILE=655350
DefaultLimitNPROC=655350

内核参数优化, 编辑/etc/sysctl.conf

# 禁用ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

## 打开路由转发功能
net.ipv4.ip_forward = 1

## 激活swap之前可用内存的百分比
vm.swappiness = 0

## 一个进程可以拥有的VMA(虚拟内存区域)的数量
vm.max_map_count=655350

## 所有进程最大句柄数
fs.file-max=655350

## 同时拥有 AIO 的线程数
#fs.aio-max-nr = 1048576

#net.ipv4.ip_forward = 1
#net.ipv4.conf.default.rp_filter = 1
#net.ipv4.conf.default.accept_source_route = 0
#net.ipv4.conf.default.arp_announce = 2
#net.ipv4.conf.lo.arp_announce=2
#net.ipv4.conf.all.arp_announce=2
#net.ipv4.route.gc_timeout = 100
#net.ipv4.tcp_max_tw_buckets = 5000
#net.ipv4.neigh.default.gc_stale_time=120
#net.ipv4.ip_local_port_range = 1024 65000
##表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭,对nat上网环境支持差,如果是最前端负载均衡服务器,不能开启,如果是后端web服务器,或者是数据库,缓存相关,可开启
#net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw_reuse = 1
#net.ipv4.tcp_max_orphans = 3276800
#net.ipv4.tcp_syn_retries = 1
#net.ipv4.tcp_synack_retries = 1
#net.ipv4.tcp_timestamps = 0
#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_sack = 1
#net.ipv4.tcp_syncookies = 1
#net.ipv4.tcp_window_scaling = 1
#net.ipv4.tcp_rmem = 4096 87380 4194304
#net.ipv4.tcp_wmem = 4096 16384 4194304
#net.ipv4.tcp_max_syn_backlog = 65000
#net.ipv4.tcp_mem = 786432 1048576 1572864
#net.ipv4.tcp_max_orphans = 262144
#net.ipv4.tcp_mtu_probing = 1
#net.ipv4.tcp_keepalive_time = 600
#net.ipv4.tcp_keepalive_probes = 3
#net.ipv4.tcp_keepalive_intvl = 15
#net.ipv4.tcp_fastopen = 3
#
#kernel.sysrq = 1
#kernel.core_uses_pid = 1
#kernel.msgmnb = 65536
#kernel.msgmax = 65536
#kernel.shmmax = 68719476736
#kernel.shmall = 4294967296
#kernel.sem = 250 32000 100 128
#
#net.core.wmem_default = 8388608
#net.core.rmem_default = 8388608
#net.core.rmem_max = 16777216
#net.core.wmem_max = 16777216
#net.core.somaxconn = 65535
#net.core.netdev_max_backlog = 65000

本文作者:jnan806
本文链接:http://jnan806.panpan.cloud/2017/01/07/linux/initial/
版权声明:本文采用 CC BY-NC-SA 3.0 CN 协议进行许可

×