yum源 与 apt源
Windows系统上可以通过360软件管家等实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum
和 apt
。
yum, “Yellow dog Updater, Modified”, CentOS上专门为了解决包的依赖关系而存在的软件包管理器。
apt, “Advanced Packaging Tool”, Ubuntu或Debian上一款强大的包管理工具。
yum
和apt
都可以看做是改进型的RPM
软件管理器,yum
和apt
本质上是一样的,都是linux操作系统上的rpm
依赖管理软件, 都能很好的解决RPM
所面临的软件包依赖问题。
以下就以免费操作系统CentOS
以yum
为例进行说明:
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
|
其他国内镜像源
修改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
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 安装镜像
mkdir /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
|
常用软件安装
sudo yum install -y yum-utils bash-completion net-tools telnet
sudo yum install -y perl epel-release gcc gcc-c++ make openssl openssl-devel pcre pcre-devel libtool zlib zlib-devel kernel-devel
sudo yum install -y vim wget unzip gzip bind-utils
sudo yum install -y dkms checkpolicy selinux-policy-devel
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
# vm.swappiness = 0
# vm.max_map_count=655350
# fs.file-max=655350
# #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 # #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.core_uses_pid = 1 #kernel.msgmnb = 65536 #kernel.msgmax = 65536 #kernel.shmmax = 68719476736 #kernel.shmall = 4294967296 #kernel.sem = 250 32000 100 128 #
#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
|