目录
前言
因为最近在对一些Linux环境配置中需要切换不同的镜像,而其中对于源的更换以及安装Python3的环境环境是常有的事,于是做个总结,脚本和命令博主都已通过真实环境进行测试
1.一键更换源
1.1 创建文件
在需要更换的系统任意位置创建一个yaun.sh文件,这里名字可以自行决定,然后将下面的代码粘贴进去,注意后续执行命令都在创建文件的路径下
#!/bin/bash
# 定义颜色
RED='\033[0;31m'
GREEN='\033[0;32m'
BLUE='\033[0;34m'
NC='\033[0m' # 无颜色
# 定义YUM源选项
echo -e "${BLUE}请选择要更换的YUM源(默认使用阿里源):${NC}"
echo -e "${BLUE}1) 阿里YUM源: http://mirrors.aliyun.com/repo/${NC}"
echo -e "${BLUE}2) 163(网易)YUM源: http://mirrors.163.com/.help/${NC}"
echo -e "${BLUE}3) 中科大Linux安装镜像源: http://centos.ustc.edu.cn/${NC}"
echo -e "${BLUE}4) 搜狐的Linux安装镜像源: http://mirrors.sohu.com/${NC}"
echo -e "${BLUE}5) 北京首都在线科技: http://mirrors.yun-idc.com/${NC}"
read -p "请输入选项 [1-5] (默认1): " choice
# 根据选择设置URL
case $choice in
2)
repo_url="http://mirrors.163.com/.help/CentOS7-Base-163.repo"
;;
3)
repo_url="http://centos.ustc.edu.cn/CentOS-Base.repo"
;;
4)
repo_url="http://mirrors.sohu.com/help/CentOS-Base-sohu.repo"
;;
5)
repo_url="http://mirrors.yun-idc.com/CentOS-Base.repo"
;;
*)
repo_url="http://mirrors.aliyun.com/repo/Centos-7.repo"
;;
esac
# 备份当前的YUM源配置文件
if [ -f /etc/yum.repos.d/CentOS-Base.repo ]; then
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
echo -e "${GREEN}已备份当前的YUM源配置文件到 /etc/yum.repos.d/CentOS-Base.repo.bak${NC}"
else
echo -e "${RED}未找到 /etc/yum.repos.d/CentOS-Base.repo 文件,跳过备份步骤${NC}"
fi
# 下载选定的YUM源配置文件
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo $repo_url
if [ $? -eq 0 ]; then
echo -e "${GREEN}成功下载选定的YUM源配置文件${NC}"
else
echo -e "${RED}下载选定的YUM源配置文件失败,请检查网络连接${NC}"
exit 1
fi
# 清除YUM缓存并生成新的缓存
sudo yum clean all
sudo yum makecache
# 验证新的YUM源配置是否成功
sudo yum repolist -y
if [ $? -eq 0 ]; then
echo -e "${GREEN}新的YUM源配置成功${NC}"
else
echo -e "${RED}新的YUM源配置失败,请检查YUM源配置文件${NC}"
exit 1
fi
# 下载并配置EPEL源
sudo wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
if [ $? -eq 0 ]; then
echo -e "${GREEN}成功下载并配置EPEL源${NC}"
else
echo -e "${RED}下载EPEL源失败,请检查网络连接${NC}"
exit 1
fi
echo -e "${GREEN}YUM源更换并配置EPEL源成功${NC}"
# 提示用户是否需要进行系统更新
read -p "是否需要进行系统更新(默认不更新)?[y/N]: " update_choice
if [[ "$update_choice" =~ ^[Yy]$ ]]; then
sudo yum upgrade -y
if [ $? -eq 0 ]; then
echo -e "${GREEN}依赖包更新成功${NC}"
else
echo -e "${RED}依赖包更新失败${NC}"
fi
else
echo -e "${GREEN}跳过系统更新${NC}"
fi
1.2 向环境赋予可执行的权限
# 赋予可执行的权利
chmod +x yaun.sh
# 运行shell
./yuan.sh
注意如果其中出现了下面的情况先选择1,然后在更换源结束时选择N (取消更新)
此时源就已经更新完毕了,可以自行使用了
2.Linux系统配置Python3环境
2.1 查看当前python环境
python -V
查看到python的版本为2.7.5
2.2 更换源
这里通过创建sh文件,然后运行我下面给出的shell脚本,输入1就可以了,提示是否需要系统更新,选择N,这里的执行操作就是前面的更换镜像源
2.3 安装所需的依赖
出现要输入y/d/N 或者是否继续都选择y
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
2.4.下载python环境文件
利用wget命令下载python3.6.5,没有wget命令的话,需要先下载
yum install -y wget
下载python,然后静静等待,如果觉得太慢了,可以在本机下载下来,然后上传上去
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
# 第一个比较慢可以用第二个
wget https://mirrors.aliyun.com/python-release/source/Python-3.6.5.tgz
2.5.解压文件
下载的是一个压缩包,进行解压
tar -zxvf Python-3.6.5.tgz
2.6 进行编译
进入该目录,进行编译,指定编译后生成文件的位置,我在Centos7上运行是没有问题的
cd Python-3.6.5/
./configure --prefix=/usr/local/python3
如果遇到:configure: error: no acceptable C compiler found in $PATH,当然我在测试的时候是没有的
yum install gcc
2.7 开始安装
后续会报错提示需要这个类库,提前下载,确保不必要的报错
yum install -y zlib*
执行安装命令,出现下面的一些信息代表安装成功了
make && make install
Collecting setuptools
Collecting pip
Installing collected packages: setuptools, pip
Successfully installed pip-9.0.3 setuptools-39.0.1
2.8 设置软连接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
2.9 测试是否安装成功
# 记得要加面的3这个数字,不然python运行时还是用的的2
python3 -V
pip3 -V
标签:repo,Ubantu,python,NC,echo,Centos7,shell,YUM,yum
From: https://blog.csdn.net/weixin_72543266/article/details/142066916