CentOS7
YUM配置
镜像源
CentOS-Base.repo
清华源。记得把版本号替换为需要的。使用 cat /etc/centos-release
或 cat /etc/os-release
命令获取。
1 | [base] |
使用代理
1. 获取代理信息
确保您有以下信息:
- 代理服务器地址(如
proxy.example.com
或 IP 地址) - 代理端口(如
8080
) - (可选)代理用户名和密码(如果代理需要身份验证)
2. 配置代理设置
2.1 配置全局代理
编辑 /etc/yum.conf
文件:
1 | sudo vi /etc/yum.conf |
在 [main]
部分添加以下内容:
1 | proxy=http://代理服务器地址:端口 |
例如:
1 | proxy=http://proxy.example.com:8080 |
保存并退出。
2.2 配置单个终端的代理(可选)
如果不想修改全局配置,可以在使用 yum
时临时指定代理。
运行以下命令:
1 | http_proxy=http://用户名:密码@代理服务器地址:端口 |
例如:
1 | http_proxy=http://myuser:mypassword@proxy.example.com:8080 |
然后运行 yum
命令:
1 | yum update |
2.3 配置环境变量(可选)
如果您希望代理对整个系统的所有 HTTP/HTTPS 请求生效,可以设置环境变量。编辑 ~/.bash_profile
或 /etc/profile
:
1 | export http_proxy=http://用户名:密码@代理服务器地址:端口 |
保存文件后,使设置生效:
1 | source ~/.bash_profile |
3. 测试代理配置
执行以下命令,确认 yum
能通过代理正常工作:
1 | yum repolist |
安装软件
Python3
方法 1:从 CentOS 默认仓库安装(Python 3.6)
CentOS 7 默认仓库提供 Python 3.6,可以直接安装。
1. 更新系统
1 | sudo yum update -y |
2. 安装 Python 3
1 | sudo yum install -y python3 |
方法 2:通过 EPEL 或 IUS 仓库安装更新版本的 Python 3
1. 安装 EPEL 仓库
1 | sudo yum install -y epel-release |
2. 安装 IUS 仓库(可选)
1 | sudo yum install -y https://repo.ius.io/ius-release-el7.rpm |
3. 安装 Python 3.x(例如 Python 3.9)
1 | sudo yum install -y python39 |
4. 配置默认 python3
(可选)
将 python3
链接到安装的 Python 3.9:
1 | sudo alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 |
方法 3:从源代码编译安装最新版 Python
如果需要更高版本的 Python,可以手动编译。
1. 安装编译依赖
1 | sudo yum groupinstall -y "Development Tools" |
2. 下载 Python 源码
访问 Python 官方下载页面 查找最新版本的链接。例如:
1 | wget https://www.python.org/ftp/python/3.10.9/Python-3.10.9.tgz |
3. 解压源码并进入目录
1 | tar -xvf Python-3.10.9.tgz |
4. 配置并编译
1 | ./configure --enable-optimizations |
注意: 使用
make altinstall
而不是make install
,以避免覆盖系统默认的 Python。
5. 验证安装
1 | python3.10 --version |
输出示例:
1 | Python 3.10.9 |
方法 4:通过 pyenv
管理多个版本的 Python
pyenv
是一种灵活管理多版本 Python 的工具。
1. 安装依赖
1 | sudo yum install -y git gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel \ |
2. 下载并安装 pyenv
1 | curl https://pyenv.run | bash |
3. 添加到环境变量
将以下内容添加到 ~/.bashrc
或 ~/.bash_profile
:
1 | export PATH="$HOME/.pyenv/bin:$PATH" |
加载配置:
1 | source ~/.bashrc |
4. 安装指定版本 Python
例如,安装 Python 3.9.9:
1 | pyenv install 3.9.9 |
Docker
在 CentOS 7.6 上安装 Docker 可以通过以下步骤完成。以下方法基于 Docker 官方推荐的安装方式:
1. 卸载旧版本 Docker(如果已安装)
旧版本的 Docker 可能以 docker
或 docker-engine
命名,先卸载它们:
1 | sudo yum remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine |
2. 安装必要的依赖
1 | sudo yum install -y yum-utils device-mapper-persistent-data lvm2 |
3. 添加 Docker 官方仓库
1 | sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo |
4. 安装 Docker
安装最新版本的 Docker:
1 | sudo yum install -y docker-ce docker-ce-cli containerd.io |
如果需要特定版本的 Docker,可以使用以下命令列出可用版本并安装:
1 | yum list docker-ce --showduplicates | sort -r |
将 <VERSION_STRING>
替换为所需的版本号,例如 3:20.10.25-3.el7
.
5. 启动并启用 Docker 服务
启动 Docker 并设置开机自启:
1 | sudo systemctl start docker |
6. 验证 Docker 安装
运行以下命令,检查 Docker 是否正确安装和运行:
1 | docker --version |
docker --version
会输出 Docker 的版本号。docker run hello-world
会拉取并运行一个测试容器,验证 Docker 是否正常运行。
7. 配置非 root 用户使用 Docker(可选)
如果希望非 root 用户也能使用 Docker,执行以下步骤:
将用户添加到
docker
组:1
sudo usermod -aG docker $USER
重新登录或执行以下命令以应用用户组更改:
1
newgrp docker
测试非 root 用户是否可以运行 Docker:
1
docker run hello-world
8. 配置 Docker(可选)
如果需要修改 Docker 默认配置文件,可以编辑 /etc/docker/daemon.json
:
1 | sudo vi /etc/docker/daemon.json |
常见的配置示例:
1 | { |
保存文件后,重启 Docker:
1 | sudo systemctl restart docker |
9. 更新和维护
更新 Docker 时,可以运行:
1 | sudo yum update -y docker-ce |
Docker安装疑难解答
缺少组件
如果出现这样的错误:
1 | Error: Package: docker-ce-rootless-extras-26.1.4-1.el7.x86_64 (docker-ce-stable) |
需要在/etc/yum.repos.d/docker-ce.repo
文件中追加以下内容:
1 | [centos-extras] |
即可安装上述两个缺少的组件.
Docker显卡支持
3. 安装 NVIDIA Container Toolkit
NVIDIA 提供了 nvidia-container-toolkit
,用于在 Docker 容器中启用 GPU 支持。
3.1 设置 NVIDIA 存储库
添加 NVIDIA 的软件源:
1 | distribution=$(. /etc/os-release; echo $ID$VERSION_ID) |
3.2 安装 NVIDIA Container Toolkit
执行以下命令:
1 | sudo yum install -y nvidia-container-toolkit |
3.3 配置 Docker 使用 NVIDIA Runtime
重新加载容器守护进程的配置:
1 | sudo nvidia-ctk runtime configure |
4. 测试 GPU 支持
拉取一个带有 CUDA 的测试镜像并验证:
1 | docker run --rm --gpus all nvidia/cuda:11.4.2-base-ubuntu20.04 nvidia-smi |
输出示例:
1 | +-----------------------------------------------------------------------------+ |
5. 运行 GPU 容器
使用 --gpus
标志运行需要 GPU 支持的容器。例如:
1 | docker run --rm --gpus all tensorflow/tensorflow:latest-gpu python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))" |
6. 常见问题和解决办法
6.1 Docker 未识别 GPU
- 检查 NVIDIA 驱动是否正确安装:
1
nvidia-smi
- 确保 Docker 正确配置了 NVIDIA runtime:
1
2sudo nvidia-ctk runtime configure
sudo systemctl restart docker
6.2 容器中未检测到 GPU
确保启动容器时使用了 --gpus all
参数。