查看系统信息
cat /etc/redhat-release
uname -a
一、 启用网络
su root
# 进入网络配置文件所在的文件夹
cd /etc/sysconfig/network-scripts/
# 设置开机启动
sed -i 's/ONBOOT=no/ONBOOT=yes/g' ifcfg-enp0s3
# 查看配置
cat ifcfg-enp0s3
# 重启网络服务
service network restart
二、更换软件源
- 手动换源
cd /etc/yum.repos.d
# 备份
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 下载repo文件,并用其中一个替换
wget -O /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo
#wget -O /etc/yum.repos.d http://mirrors.163.com/.help/CentOS7-Base-163.repo
# 运行以下命令生成软件包信息缓存
yum clean all
yum makecache
- 一键换源脚本
- 方法:https://www.oldking.net/697.html
- 脚本:https://raw.githubusercontent.com/oooldking/script/master/superupdate.sh
- 命令:
# 先安装所需工具
yum install -y wget && yum install -y ca-certificates
# 下载脚本
wget git.io/superupdate.sh
# 一键换源 默认是aliyun
bash superupdate.sh [aliyun]
# 一键还原配置
bash superupdate.sh restore
三、安装JDK
# 搜索jdk
yum search java | grep -i --color jdk
# 安装jdk8
sudo yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
# 在profile末尾追加环境变量JAVA_HOME、CLASSPATH、PATH (vim /etc/profile)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.272.b10-1.el7_9.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# 使环境变量生效
source /etc/profile
四、防火墙操作
#firewall
# 基本操作
sudo firewall-cmd --reload //更新防火墙规则(设置端口后需要执行)
sudo firewall-cmd --zone=public --list-ports //查看所有打开的端口
sudo firewall-cmd --version //查看版本
sudo firewall-cmd --state //查看状态
# 端口操作
sudo firewall-cmd --zone=public --query-port=80/tcp //查看某端口状态
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent //关闭端口
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent //开放80端口 --permanent永久生效
sudo firewall-cmd --permanent --zone=public --add-port=100-500/tcp //开放端口段
# 防火墙服务
systemctl status firewalld.service //查看状态
systemctl start firewalld.service //启动
systemctl stop firewalld.service //停止
systemctl restart firewalld.service //重启
systemctl enable firewalld.service //开机启动
systemctl disable firewalld.service //关闭开机启动
systemctl is-enabled firewalld.service //查看是否开机启动
#iptables集成在 Linux 内核中的包过滤防火墙系统 https://developer.aliyun.com/article/888704
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作]
表名:filter,nat,mangle,raw,security # filter:默认,过滤数据包使用 nat:进行网络地址转换 mangle:修改数据包的内容(例如,修改TTL值) raw:连接跟踪之前处理数据包 security:实施强制访问控制策略,例如,在SELinux环境中
链名:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING #FORWARD:Linux主机转发需要设置内核参数/proc/sys/net/ipv4/ip_forward
命令:-N ∶ 创建一条用户指定的新链
命令:-I ∶ 在指定链的开头插入规则
命令:-A ∶ 在指定链的末尾追加规则
命令:-D ∶ 删除指定链中规则
命令:-R ∶ 在指定链中替换规则
命令:-L ∶ 列出指定链中所有的规则,若未指定链名则针对表中的所有链 如-t nat可指定nat表,默认为filter表
命令:-F ∶ 清空指定链中的所有规则,若未指定链名则针对表中的所有链 如-t nat可指定nat表
命令:-P ∶ 设置指定链的默认策略(–policy)
参数:-v ∶ 表示输出详细信息,包含通过该规则的数据包数量、总字节数以及相应的网络接口。
参数:-n ∶ 显示 IP 地址而不是主机名
参数:-x ∶ 禁止字节单位自动转换
参数:-i ∶ 指定输入网卡流量
参数:-o ∶ 指定输出网卡流量
参数:-p ∶ 指定协议类型tcp,udp,icmp
参数:-S ∶ 等同--list-rules 以规则命令格式(rule-specification format)显示当前规则,这种格式可以直接作为 iptables 命令重新执行。
参数:-s ∶ 指定源地址 IP、网段、域名
参数:-d ∶ 指定目标地址
参数:--sport ∶ 指定源端口或端口段 :2000表示0:2000
参数:--dport ∶ 指定目标端口
参数:--to-source ∶ 指定数据包的新源IP地址
参数:--to-destination ∶ 指定数据包的新目标IP地址
参数:-m ∶ 指定扩展匹配模块 https://blog.51cto.com/u_14487231/6794214
- -m state --state RELATED,ESTABLISHED #包状态匹配
- -m mac --mac-source xx:xx:xx:xx:xx:xx #来源MAC地址匹配
- -m limit --limit 50/s #每秒抓发50个包 具体需要搭配其他规则使用
- -m multiport <--sports|--dports|--ports> 端口1[,端口2,..,端口n]
目标动作Target
ACCEPT:允许,接收流量包继续传递给后续规则和链路
DROP:丢弃,不再继续传递
REJECT:拒绝,同时回复拒绝的原因,可使用–reject-with选择拒绝类型(icmp-net-unreachable、icmp-host-unreachable、icmp-port-unreachable默认)
RETURN:返回。类似函数调用,退出当前链的规则匹配执行,返回之前链的调用点继续执行下一条规则,或者不是被调用的则以默认策略执行
SNAT:源地址转换(数据包的源地址从内部网络的IP地址转换为外部IP地址,场景:多个内部设备共享一个外部IP地址访问互联网)
DNAT:目标地址转换(数据包的目标地址从外部IP地址转换为内部网络的某个IP地址,场景:将外部请求重定向到内部网络中的特定服务,如私网服务端接收公网请求的问题)
MASQUERADE:动态源地址转换(MASQUERADE是一种特殊形式的SNAT,会自动选择出口网卡的IP地址进行源地址,自动转换性能会稍差,通常在POSTROUTING链中使用,用于修改离开防火墙的数据包的源地址。)
LOG:记录日志/var/log/messages,然后传递给下一条规则
REDIRECT:可进行本机端口映射
#查看已有规则
iptables -nvL --line-numbers #查看已添加的iptables规则
iptables -t nat -S #查看 nat 表的所有规则
iptables -t nat -S POSTROUTING #查看具体链的规则
iptables-save > iptables-backup.txt # 备份当前规则
iptables-restore < iptables-backup.txt # 恢复规则
#开放
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已建立的或相关连的通行
iptables -A OUTPUT -j ACCEPT #允许所有本机向外的访问
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许访问22端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT #允许ftp服务的21端口
iptables -A INPUT -p tcp --dport 20 -j ACCEPT #允许FTP服务的20端口
iptables -A INPUT -j REJECT #禁止其他未允许的规则访问
iptables -A FORWARD -j REJECT #禁止其他未允许的规则访问
#删除已添加的iptables规则
比如要删除INPUT里序号为8的规则,执行:
iptables -D INPUT 8
#屏蔽IP
iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP #封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP #封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 123.45.6.0/24 -j DROP #封IP段即从123.45.6.1到123.45.6.254的命令是
=====收藏待整理命令
禁止所有IP访问端口80
iptables -A INPUT -p tcp --drop 80 -j DROP //此规则将本机收到的所有80端口的TCP流量数据包丢弃。
仅允许指定IP访问80
iptables -A INPUT -s 172.168.1.110 -p tcp --dport 80 -j ACCEPT //此规则允许源IP地址为172.168.1.110的TCP流量访问端口80。
添加指定端口的拒绝规则
iptables -I INPUT -p tcp -m multiport --dport 80 -j REJECT
删除指定端口的拒绝规则
iptables -D INPUT -p tcp -m multiport --dport 80 -j REJECT //此命令将删除TCP端口80的拒绝规则。
在输入链中插入拒绝TCP端口52395的规则
iptables -t filter -I INPUT -p tcp -m tcp --dport 52395 -j DROP //此命令将在INPUT链开头插入一条拒绝TCP端口52395的规则。
在输出链中插入拒绝TCP端口63556的规则
iptables -t filter -I OUTPUT -p tcp -m tcp --dport 63556 -j DROP //此命令将在OUTPUT链开头插入一条拒绝TCP端口63556的规则。
在输入链中插入拒绝TCP端口9999的规则
iptables -I INPUT -p tcp --dport 9999 -j DROP //此命令将在INPUT链开头插入一条拒绝TCP端口9999的规则。
允许指定IP访问TCP端口9999
iptables -I INPUT -s 172.20.1.3 -p tcp --dport 9999 -j ACCEPT //此规则将来源IP地址为172.20.1.3的TCP流量访问端口9999
包转发
打开包转发功能:echo 1 > /proc/sys/net/ipv4/ip_forward
打开包转发功能:net.ipv4.ip_forward = 1 #/etc/sysctl.conf
iptables -t nat --line-numbers
TCP转发
iptables -t nat -A PREROUTING -p tcp --dport 123 -j DNAT --to-destination <指定IP>
iptables -t nat -A POSTROUTING -p tcp -d <指定IP> --dport 123 -j MASQUERADE
将本机的 7777 端口转发到 6666 端口。
iptables -t nat -A PREROUTING -p tcp --dport 7777 -j REDIRECT --to-port 6666
1.6通过1.168的6666端口访问1.8的7777端口
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 6666 -j DNAT --to-destination 192.168.1.8:7777
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.8 --dport 7777 -j SNAT --to-source 192.168.1.168
TCP转发
iptables -t nat -A PREROUTING -d 10.10.10.1 -p tcp --dport 100 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -A POSTROUTING -d 192.168.1.1 -p tcp --dport 80 -j SNAT --to 10.10.10.1
iptables -A FORWARD -o eth0 -d 192.168.1.1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.1 -p tcp --sport 80 -j ACCEPT
UDP转发 xxx-> 10.10.10.1:100->192.168.1.1:80
iptables -t nat -A PREROUTING -d 10.10.10.1 -p udp --dport 100 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -A POSTROUTING -s 192.168.1.1 -p udp --dport 80 -j SNAT --to-source 10.10.10.1:100
iptables -A FORWARD -o eth0 -d 192.168.1.1 -p udp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.1 -p udp --sport 80 -j ACCEPT
iptables -t nat -A PREROUTING -d 10.10.10.1 -p tcp --dport 100 -j DNAT --to-destination 192.168.1.1:80
iptables -t nat -A POSTROUTING -s 192.168.1.1 -p tcp --dport 80 -j SNAT --to-source 10.10.10.1:100
iptables -A FORWARD -o eth0 -d 192.168.1.1 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.1.1 -p tcp --sport 80 -j ACCEPT
# 示例:docker容器中的DNS转发到指定dockerd进程端口
# 如果容器中iptables转发规则不存在,可自行添加以下规则
iptables -t nat -N DOCKER_OUTPUT
iptables -t nat -N DOCKER_POSTROUTING
iptables -t nat -A OUTPUT -d 127.0.0.11/32 -j DOCKER_OUTPUT
iptables -t nat -A POSTROUTING -d 127.0.0.11/32 -j DOCKER_POSTROUTING
iptables -t nat -A DOCKER_OUTPUT -d 127.0.0.11/32 -p udp -m udp --dport 53 -j DNAT --to-destination 127.0.0.11:51755
iptables -t nat -A DOCKER_POSTROUTING -s 127.0.0.11/32 -p udp -m udp --sport 51755 -j SNAT --to-source :53
iptables -t nat -A DOCKER_OUTPUT -d 127.0.0.11/32 -p tcp -m tcp --dport 53 -j DNAT --to-destination 127.0.0.11:43107
iptables -t nat -A DOCKER_POSTROUTING -s 127.0.0.11/32 -p tcp -m tcp --sport 43107 -j SNAT --to-source :53
临时编辑
172.20.73.22:5623->172.20.72.30:123->172.20.72.31:123->172.20.72.15:123
172.20.73.22:5623<-172.20.72.30:2123<-172.20.72.31:2123<-172.20.72.15:123
iptables -t nat -A PREROUTING -d 172.20.72.30 -p udp --dport 123 -j DNAT --to-destination 172.20.72.31:123
iptables -t nat -A POSTROUTING -s 172.20.72.31 -p udp --dport 123 -j SNAT --to-source 172.20.72.30:2123
iptables -t nat -A PREROUTING -d 172.20.72.31 -p udp --dport 2123 -j DNAT --to-destination 172.20.72.15:123
XXXXXXXXXXXXXXXXXX
XXX Network XXX
XXXXXXXXXXXXXXXXXX
+
|
v
+-------------+ +------------------+
|table: filter| <---+ | table: nat |
|chain: INPUT | | | chain: PREROUTING|
+-----+-------+ | +--------+---------+
| | |
v | v
[local process] | **************** +--------------+
| +---------+ Routing decision +------> |table: filter |
v **************** |chain: FORWARD|
**************** +------+-------+
Routing decision |
**************** |
| |
v **************** |
+-------------+ +------> Routing decision <---------------+
|table: nat | | ****************
|chain: OUTPUT| | +
+-----+-------+ | |
| | v
v | +-------------------+
+--------------+ | | table: nat |
|table: filter | +----+ | chain: POSTROUTING|
|chain: OUTPUT | +--------+----------+
+--------------+ |
v
XXXXXXXXXXXXXXXXXX
XXX Network XXX
XXXXXXXXXXXXXXXXXX
附
- CentOS-Base.repo
# CentOS-Base.repo
[base]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
- epel.repo
# epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
enabled=1
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/epel/7/$basearch
gpgcheck=0
gpgkey=http://mirrors.cloud.aliyuncs.com/epel/RPM-GPG-KEY-EPEL-7
- 一键换源脚本
#更换源脚本superupdate.sh
#!/usr/bin/env bash
#
# Description: Choose a faster mirror for Linux script
#
# Copyright (C) 2017 - 2018 Oldking <oooldking@gmail.com>
#
# URL: https://www.oldking.net/697.html
#
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
SKYBLUE='\033[0;36m'
PLAIN='\033[0m'
getAbout() {
echo ""
echo " ========================================================= "
echo " \ SuperUpdate.sh Script / "
echo " \ Choose a faster mirror for Linux / "
echo " \ Created by Oldking / "
echo " ========================================================= "
echo ""
echo " Intro: https://www.oldking.net/697.html"
echo " Copyright (C) 2018 Oldking oooldking@gmail.com"
echo -e " Version: ${GREEN}1.0.3${PLAIN} (2 Nov 2018)"
echo " Usage: wget -qO- git.io/superupdate.sh | bash"
echo ""
}
getHelp(){
echo " $( bash superupdate.sh )"
ehco " - set sources from cdn-fastly "
echo " $( bash superupdate.sh cn ) "
echo " - set sources from USTC "
echo " $( bash superupdate.sh 163 ) "
echo " - set sources from 163.com "
echo " $( bash superupdate.sh aliyun ) "
echo " - set sources from aliyun.com "
echo " $( bash superupdate.sh aws ) "
echo " - set sources from cdn-aws "
echo " $( bash superupdate.sh restore ) "
echo " - restore sources from backup file "
}
updateInit(){
[[ $EUID -ne 0 ]] && echo -e " ${RED}Error:${PLAIN} This script must be run as root!" && exit 1
if [ -f /etc/redhat-release ]; then
release="centos"
elif cat /etc/issue | grep -Eqi "debian"; then
release="debian"
elif cat /etc/issue | grep -Eqi "ubuntu"; then
release="ubuntu"
elif cat /etc/issue | grep -Eqi "centos|red hat|redhat"; then
release="centos"
elif cat /proc/version | grep -Eqi "debian"; then
release="debian"
elif cat /proc/version | grep -Eqi "ubuntu"; then
release="ubuntu"
elif cat /proc/version | grep -Eqi "centos|red hat|redhat"; then
release="centos"
fi
if [ $release == "debian" ]; then
debianVersion=$(awk -F'[= "]' '/VERSION_ID/{print $3}' /etc/os-release)
elif [ $release == "ubuntu" ]; then
ubuntuVersion=$(awk -F'[= "]' '/VERSION_ID/{print $3}' /etc/os-release)
elif [ $release == "centos" ]; then
os_release=$(grep "CentOS" /etc/redhat-release 2>/dev/null)
if echo "$os_release"|grep "release 5" >/dev/null 2>&1
then
centosVersion=5
elif echo "$os_release"|grep "release 6" >/dev/null 2>&1
then
centosVersion=6
elif echo "$os_release"|grep "release 7" >/dev/null 2>&1
then
centosVersion=7
else
centosVersion=""
fi
else
echo -e " ${RED}Error:${PLAIN} This script can not be run in your system now!" && exit 1
fi
}
setDebian(){
if [[ -f /etc/apt/sources.list.bak ]]; then
echo -e " ${GREEN}sources.list.bak exists${PLAIN}"
else
mv /etc/apt/sources.list{,.bak}
fi
[ -f /etc/apt/sources.list ] && rm /etc/apt/sources.list
echo "deb http://cdn-fastly.deb.debian.org/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
echo "deb http://cdn-fastly.deb.debian.org/debian/ jessie-updates main non-free contrib" >>/etc/apt/sources.list
echo "deb http://cdn-fastly.deb.debian.org/debian/ jessie-backports main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://cdn-fastly.deb.debian.org/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://cdn-fastly.deb.debian.org/debian/ jessie-updates main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://cdn-fastly.deb.debian.org/debian/ jessie-backports main non-free contrib" >>/etc/apt/sources.list
echo "deb http://cdn-fastly.deb.debian.org/debian-security/ jessie/updates main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://cdn-fastly.deb.debian.org/debian-security/ jessie/updates main non-free contrib" >>/etc/apt/sources.list
[ "$debianVersion" == '7' ] && sed -i 's/jessie/wheezy/'g /etc/apt/sources.list
[ "$debianVersion" == '8' ] && echo -n ""
[ "$debianVersion" == '9' ] && sed -i 's/jessie/stretch/'g /etc/apt/sources.list
}
setUbuntu(){
if [[ -f /etc/apt/sources.list.bak ]]; then
echo -e " ${GREEN}sources.list.bak exists${PLAIN}"
else
mv /etc/apt/sources.list{,.bak}
fi
[ -f /etc/apt/sources.list ] && rm /etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse" >>/etc/apt/sources.list
echo "deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse" >>/etc/apt/sources.list
[ "$ubuntuVersion" == '14.04' ] && sed -i 's/xenial/trusty/'g /etc/apt/sources.list
[ "$ubuntuVersion" == '16.06' ] && echo -n ""
[ "$ubuntuVersion" == '18.04' ] && sed -i 's/xenial/bionic/'g /etc/apt/sources.list
}
setCentos(){
if [ -f /etc/yum.repos.d/CentOS-Base.repo.bak ]; then
echo -e " ${GREEN}CentOS-Base.repo.bak exists${PLAIN}"
else
mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}
fi
[ -f /etc/yum.repos.d/CentOS-Base.repo ] && rm /etc/yum.repos.d/CentOS-Base.repo
[ "$centosVersion" == '5' ] && wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
[ "$centosVersion" == '6' ] && wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
[ "$centosVersion" == '7' ] && wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
}
setAWS(){
sed -i 's/cdn-fastly.deb.debian.org/cdn-aws.deb.debian.org/'g /etc/apt/sources.list
}
setCn(){
sed -i 's/cdn-fastly.deb.debian.org/mirrors.ustc.edu.cn/'g /etc/apt/sources.list
}
set163(){
sed -i 's/cdn-fastly.deb.debian.org/mirrors.163.com/'g /etc/apt/sources.list
}
setAliyun(){
sed -i 's/cdn-fastly.deb.debian.org/mirrors.aliyun.com/'g /etc/apt/sources.list
}
restore(){
if [ -f /etc/apt/sources.list.bak ]; then
rm /etc/apt/sources.list
mv /etc/apt/sources.list.bak /etc/apt/sources.list
elif [ -f /etc/yum.repos.d/CentOS-Base.repo.bak ]; then
rm /etc/yum.repos.d/CentOS-Base.repo
mv /etc/yum.repos.d/CentOS-Base.repo.bak /etc/yum.repos.d/CentOS-Base.repo
fi
}
setSources(){
getAbout
updateInit
case "$release" in
debian)
case $para in
'fastly'|'-fastly'|'--fastly' )
setDebian;;
'cn'|'-cn'|'--cn' )
setDebian;setCn;;
'163'|'-163'|'--163' )
setDebian;set163;;
'aliyun'|'-aliyun'|'--aliyun' )
setDebian;setAliyun;;
'aws'|'-aws'|'--aws' )
setDebian;setAWS;;
'restore'|'-restore'|'--restore' )
restore;;
*)
setDebian;;
esac
apt-get update;;
ubuntu)
case $para in
'restore'|'-restore'|'--restore' )
restore;;
*)
setUbuntu;
esac
apt-get update;;
centos)
case $para in
'restore'|'-restore'|'--restore' )
restore;;
*)
setCentos;
esac
yum makecache;;
esac
}
para=$1
setSources
echo -e "${GREEN}Done${PLAIN}"