GNU/Linux软件安装
GNU/Linux软件安装目录
1、工具安装
包管理工具:是一种用于在计算机系统中管理软件包的软件工具。它们提供了一种简便的方式来安装、更新、配置和删除软件包,同时处理软件包之间的依赖关系。
软件在服务器中储存,使用包管理工具进行获取安装
Linux系统系列
- RedHat系列:Redhat、Centos、Fedora
- Debian系列:Debian、Ubuntu 等
sudo命令
sudo添加在命令前面表示以root权限运行命令,安装软件需要Root权限。
1.1 APT (Advanced Package Tool)
1.1.1 apt
apt是一个在 Debian 和Ubuntu中的Shell前端软件包管理器
# 安装软件包
# -y 自动确认yes
sudo apt install package_name
sudo apt install package_name -y
# 更新软件包列表,查询软件的新版本
sudo apt update
# 升级所有软件包,在运行之前,建议先执行 apt-get update
sudo apt upgrade
# 卸载指定软件包,但保留其配置文件
sudo apt remove package_name
# 卸载指定软件包,并删除其配置文件
sudo apt purge package_name
# 搜索可用软件包
sudo apt search package_name
# 列出已安装的软件包
apt list
1.1.2 apt-get
apt-get 是 Debian 及其衍生发行版(如 Ubuntu)中用于管理软件包的命令行工具。它是 apt 工具的前身。
# 安装软件包
# -y 自动确认yes
sudo apt-get install package_name
# 更新软件包列表,查询软件的新版本
sudo apt-get update
# 升级所有软件包,在运行之前,建议先执行 apt-get update
sudo apt-get upgrade
# 卸载指定软件包,但保留其配置文件
sudo apt-get remove package_name
# 卸载指定软件包,并删除其配置文件
sudo apt-get purge package_name
# 搜索可用软件包
sudo apt-get search package_name
# 列出已安装的软件包
apt list
1.1.3 Ubuntu安装包
- 在基于 Debian 的 Linux 发行版(如 Ubuntu)中,安装包下载位置:
/var/cache/apt/archives
目录中 - 安装包文件格式:
.deb
(Debian)
1.2 YUM (Yellowdog Updater Modified)
1.2.1 YUM
yum是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器
# 安装软件包
# -y 自动确认yes
yum install package_name
# 升级所有软件包
yum update
# 升级单个软件包
yum update package_name
# 卸载指定软件包
yum remove package_name
# 卸载指定软件包,并删除其配置文件
yum purge package_name
# 搜索可用软件包
yum search package_name
# 列出已安装的软件包
yum list
1.2.1 CentOS安装包
- 基于 RPM 的 Linux 发行版(如 CentOS、RHEL 和 Fedora)中,安装包下载位置:
/var/cache/yum
目录中 - 安装包文件格式:
.rpm
(RedHat Package Manager)
2、源码安装
有时候包管理库中不是最新的软件版本,或者软装不存在,需要使用源码进行安装
2.1 安装流程
-
下载源码文件
wget
命令 下载文件的工具。它支持通过 HTTP、HTTPS 和 FTP 协议下载文件。wget
的全称是 “GNU Wget”,其中 “Wget” 代表 “Web Get”。# wget [options] [URL] # -P, --directory-prefix=PREFIX: 指定文件的下载目录。 wget -P /path/to/directory http://example.com/file.zip # -c, --continue: 断点续传,继续下载未完成的文件。 wget -c http://example.com/largefile.zip
-
解压文件
tar -zxvf software-name.tar.gz
-
查看 README 或 INSTALL 文件
多数软件包都包含有关构建和安装的说明文件。
-
配置编译选项
进入解压后的文件夹,使用
./configure
命令来生成Makefile
文件。这个步骤是必要的,因为它为接下来的编译过程做了准备。sudo ./configure --prefix=/usr/local # `--prefix` 选项指定软件安装的目标路径 # 希望将软件安装到 /usr/local 目录, 这样配置后,make 和 make install 将会把编译后的文件安装到 /usr/local 目录下。 # 注意:这个路径是安装后软件的根目录,不是生成`Makefile`文件的目录
Makefile
文件定义了如何构建目标文件。Makefile
包含了一系列的规则和依赖关系,make
工具根据这些规则和依赖关系来决定哪些文件需要重新编译。
-
安装编译的依赖包(可选,根据软件需要)
-
如果缺少依赖软件,
./configure
会报错,并显示需要安装的软件。 -
一些软件的依赖包需要安装开发包,开发包的名称通常以
-dev
或-devel
结尾,如$ apt install libnl-genl-3-dev
表示这是一个开发所需的包
-
-
编译软件
- 按照
Makefile
文件中的规则和依赖关系编译程序
sudo make
- 按照
-
安装软件,完成编译之后,将编译好的二进制文件安装到系统的正确位置
sudo make install
-
清理构建文件(可选)
# 清除编译生成的中间文件 make clean
2.2 安装实例(安装Python3.x)
# 下载软件源码文件
wget -c https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz
# 解压文件
tar -zxvf Python-3.12.1.tgz
# 进入解压后的文件
cd Python-3.12.1
# 进入解压后的文件夹进行配置
sudo ./configure
# 安装编译的依赖包
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
# 输入`make`命令开始编译过程
sudo make
# 完成编译之后,使用`make install`命令将编译好的二进制文件安装到系统的正确位置
sudo make install
# 清除之前编译产生的临时文件和其他不需要的文件
make clean
3、安装包安装
-
通过应用市场打开安装包安装
-
Debian系列系统中,使用
dpkg 命令
工具# 安装软件 sudo dpkg -i package_name.deb
-
RedHat系列系统z中,使用
rpm 命令
工具# 安装软件 sudo rpm -i package_name.rpm
4、软件安装位置
在Linux系统中,通常建议将软件安装到以下位置之一:
- /usr/bin/:这是存放可执行文件的主要目录,大部分通过APT安装的命令行工具和应用程序的可执行文件都存放在这里。
- /usr/sbin/:类似于/usr/bin/,这个目录主要存放系统管理员使用的系统管理命令和工具。
- /usr/local/bin:类似于/usr/bin,但是/usr/local/bin通常用于手动安装的软件或者从源代码编译的软件。
- /opt:这是用于存放“可选”软件的目录。在/opt目录下,每个软件都可以有一个单独的子目录,其中包含该软件的所有文件。
- /usr/share/:这里包含了一些与架构无关的共享数据文件,比如文档、图标、配置文件等。
- /usr/lib/:这个目录存放了软件包的库文件,通常是一些共享的动态链接库文件。
5、源仓库设置
5.1 Debian系列源仓库设置
-
apt源仓库存放的目录位置
/etc/apt/sources.list.d/ubuntu.sources
目录下- 官方源:ubuntu.sources
- 添加自定义源:创建一个新的
.list
文件
-
使用案例
# 安装Docker # Add Docker's official GPG key: sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt-get update
5.1 RedHat系列源仓库设置
-
yum源仓库存放的目录位置
/etc/yum.repos.d
目录下-
源仓库文件格式:
.repo
-
添加自定义源:创建一个新的
.repo
文件
-
-
管理 YUM 仓库命令
# 列出系统中已配置的所有YUM仓库 yum repolist # 列出系统中所有YUM仓库,包括已禁用的 yum repolist all # 使用 yum-config-manager 命令添加仓库 # 添加Docker仓库源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 启用/禁用仓库 sudo yum-config-manager --enable <repo-id> sudo yum-config-manager --disable <repo-id>