要在 CentOS 7 上使用 USB 驱动器或其他存储介质,将 Python 源代码包和所有依赖包传输到离线系统,您可以按照以下步骤操作:
1. 在联网系统上准备文件
首先,在一台已经联网的系统上,下载 Python 源代码包和所有依赖包,并将它们存储在一个目录中。假设我们要下载 Python 3.9.1 及其依赖包。
1.1 下载 Python 源代码包
wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz
1.2 下载依赖包
如果您的系统使用 yum
包管理器,可以使用 yumdownloader
工具来下载所有依赖包:
-
安装
yum-utils
(如果还没有安装):sudo yum install yum-utils
-
使用
yumdownloader
下载依赖包:mkdir python_deps cd python_deps yumdownloader --resolve \ wget \ make \ gcc \ zlib-devel \ bzip2-devel \ readline-devel \ sqlite-devel \ openssl-devel \ tk-devel \ libffi-devel \ xz-devel
这将会把所有依赖包下载到 python_deps
目录中。
2. 将文件复制到 USB 驱动器
将下载的 Python 源代码包和依赖包复制到 USB 驱动器。
2.1 挂载 USB 驱动器
在已经联网的系统上,将 USB 驱动器插入并挂载(通常系统会自动挂载)。你可以通过以下命令查看挂载点:
df -h
假设 USB 驱动器挂载在 /media/username/USB
,你可以将文件复制到这个路径:
2.2 复制文件到 USB 驱动器
cp Python-3.9.1.tgz /media/username/USB/
cp -r python_deps /media/username/USB/
复制完成后,安全地弹出 USB 驱动器:
umount /media/username/USB
3. 在离线系统上安装文件
将 USB 驱动器插入到离线的 CentOS 7 系统上,并将文件复制到合适的目录。
3.1 挂载 USB 驱动器
插入 USB 驱动器后,系统可能会自动挂载。如果没有自动挂载,可以手动挂载:
sudo mkdir /mnt/usb
sudo mount /dev/sdb1 /mnt/usb # 替换 /dev/sdb1 为实际的设备名称
3.2 复制文件到本地目录
将 Python 源代码包和依赖包从 USB 驱动器复制到本地目录,例如 /home/user/python_install
:
mkdir -p ~/python_install
cp /mnt/usb/Python-3.9.1.tgz ~/python_install/
cp -r /mnt/usb/python_deps ~/python_install/
3.3 卸载 USB 驱动器
完成复制后,卸载 USB 驱动器:
sudo umount /mnt/usb
4. 在离线系统上安装 Python 及依赖
现在,你可以在离线系统上安装 Python 及其依赖包。
4.1 安装依赖包
使用 rpm
命令安装所有依赖包:
cd ~/python_install/python_deps
sudo rpm -Uvh *.rpm
4.2 编译安装 Python
解压并安装 Python:
cd ~/python_install
tar xzf Python-3.9.1.tgz
cd Python-3.9.1
./configure --enable-optimizations
make
sudo make altinstall
总结
- 在联网系统上准备文件:下载 Python 源代码和依赖包,并复制到 USB 驱动器。
- 在离线系统上安装文件:挂载 USB 驱动器,将文件复制到本地,并安装依赖包和 Python。
通过这些步骤,你就可以在没有网络连接的 CentOS 7 系统上成功安装 Python 3 及其所有依赖包。