Linux 安装软件

本文最后更新于:2024年9月8日 晚上

Linux 安装软件

rpm

语法

1
rpm [-acdhilqRsv][-b<完成阶段><套间档>+][-e<套件挡>][-f<文件>+][-i<套件档>][-p<套件档>+][-U<套件档>][-vv][--addsign<套件档>+][--allfiles][--allmatches][--badreloc][--buildroot<根目录>][--changelog][--checksig<套件档>+][--clean][--dbpath<数据库目录>][--dump][--excludedocs][--excludepath<排除目录>][--force][--ftpproxy<主机名称或IP地址>][--ftpport<通信端口>][--help][--httpproxy<主机名称或IP地址>][--httpport<通信端口>][--ignorearch][--ignoreos][--ignoresize][--includedocs][--initdb][justdb][--nobulid][--nodeps][--nofiles][--nogpg][--nomd5][--nopgp][--noorder][--noscripts][--notriggers][--oldpackage][--percent][--pipe<执行指令>][--prefix<目的目录>][--provides][--queryformat<档头格式>][--querytags][--rcfile<配置档>][--rebulid<套件档>][--rebuliddb][--recompile<套件档>][--relocate<原目录>=<新目录>][--replacefiles][--replacepkgs][--requires][--resign<套件档>+][--rmsource][--rmsource<文件>][--root<根目录>][--scripts][--setperms][--setugids][--short-circuit][--sign][--target=<安装平台>+][--test][--timecheck<检查秒数>][--triggeredby<套件档>][--triggers][--verify][--version][--whatprovides<功能特性>][--whatrequires<功能特性>]

参数说明:

  • -a:查询所有套件。
  • -b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称。
  • -c:只列出组态配置文件,本参数需配合"-l"参数使用。
  • -d:只列出文本文件,本参数需配合"-l"参数使用。
  • -e<套件档>或--erase<套件档>:删除指定的套件。
  • -f<文件>+:查询拥有指定文件的套件。
  • -h或--hash:套件安装时列出标记。
  • -i:显示套件的相关信息。
  • -i<套件档>或--install<套件档>:安装指定的套件档。
  • -l:显示套件的文件列表。
  • -p<套件档>+:查询指定的 RPM 套件档。
  • -q:使用询问模式,当遇到任何问题时, rpm 指令会先询问用户。
  • -R:显示套件的关联性信息。
  • -s:显示文件状态,本参数需配合"-l"参数使用。
  • -U<套件档>或--upgrade<套件档>:升级指定的套件档。
  • -v:显示指令执行过程。
  • -vv:详细显示指令执行过程,便于排错。
  • -addsign<套件档>+:在指定的套件里加上新的签名认证。
  • --allfiles:安装所有文件。
  • --allmatches:删除符合指定的套件所包含的文件。
  • --badreloc:发生错误时,重新配置文件。
  • --buildroot<根目录>:设置产生套件时,欲当作根目录的目录。
  • --changelog:显示套件的更改记录。
  • --checksig<套件档>+:检验该套件的签名认证。
  • --clean:完成套件的包装后,删除包装过程中所建立的目录。
  • --dbpath<数据库目录>:设置欲存放 RPM 数据库的目录。
  • --dump:显示每个文件的验证信息,本参数需配合"-l"参数使用。
  • --excludedocs:安装套件时,不要安装文件。
  • --excludepath<排除目录>:忽略在指定目录里的所有文件。
  • --force:强行置换套件或文件。
  • --ftpproxy<主机名称或IP地址>:指定 FTP 代理服务器。
  • --ftpport<通信端口>:设置 FTP 服务器或代理服务器使用的通信端口。
  • --httpproxy<主机名称或IP地址>:指定 HTTP 代理服务器。
  • --httpport<通信端口>:设置 HTTP 服务器或代理服务器使用的通信端口。
  • --ignorearch:不验证套件档的结构正确性。
  • --ignoreos:不验证套件档的结构正确性。
  • --ignoresize:安装前不检查磁盘空间是否足够。
  • --includedocs:安装套件时,一并安装文件。
  • --initdb:确认有正确的数据库可以使用。
  • --justdb:更新数据库,当不变动任何文件。
  • --nobulid:不执行任何完成阶段。
  • --nodeps:不验证套件档的相互关联性。
  • --nofiles:不验证文件的属性。
  • --nogpg:略过所有 GPG 的签名认证。
  • --nomd5:不使用 MD 5 编码演算确认文件的大小与正确性。
  • --nopgp:略过所有 PGP 的签名认证。
  • --noorder:不重新编排套件的安装顺序,以便满足其彼此间的关联性。
  • --noscripts:不执行任何安装 Script 文件。
  • --notriggers:不执行该套件包装内的任何 Script 文件。
  • --oldpackage:升级成旧版本的套件。
  • --percent:安装套件时显示完成度百分比。
  • --pipe<执行指令>:建立管道,把输出结果转为该执行指令的输入数据。
  • --prefix<目的目录>:若重新配置文件,就把文件放到指定的目录下。
  • --provides:查询该套件所提供的兼容度。
  • --queryformat<档头格式>:设置档头的表示方式。
  • --querytags:列出可用于档头格式的标签。
  • --rcfile<配置文件>:使用指定的配置文件。
  • --rebulid<套件档>:安装原始代码套件,重新产生二进制文件的套件。
  • --rebuliddb:以现有的数据库为主,重建一份数据库。
  • --recompile<套件档>:此参数的效果和指定"–rebulid"参数类似,当不产生套件档。
  • --relocate<原目录>=<新目录>:把本来会放到原目录下的文件改放到新目录。
  • --replacefiles:强行置换文件。
  • --replacepkgs:强行置换套件。
  • --requires:查询该套件所需要的兼容度。
  • --resing<套件档>+:删除现有认证,重新产生签名认证。
  • --rmsource:完成套件的包装后,删除原始代码。
  • --rmsource<文件>:删除原始代码和指定的文件。
  • --root<根目录>:设置欲当作根目录的目录。
  • --scripts:列出安装套件的 Script 的变量。
  • --setperms:设置文件的权限。
  • --setugids:设置文件的拥有者和所属群组。
  • --short-circuit:直接略过指定完成阶段的步骤。
  • --sign:产生 PGP 或 GPG 的签名认证。
  • --target=<安装平台>+:设置产生的套件的安装平台。
  • --test:仅作测试,并不真的安装套件。
  • --timecheck<检查秒数>:设置检查时间的计时秒数。
  • --triggeredby<套件档>:查询该套件的包装者。
  • --triggers:展示套件档内的包装 Script
  • --verify:此参数的效果和指定"-q"参数相同。
  • --whatprovides<功能特性>:查询该套件对指定的功能特性所提供的兼容度。
  • --whatrequires<功能特性>:查询该套件对指定的功能特性所需要的兼容度。

实例

1
2
3
4
5
6
7
8
9
10
11
$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
# 检查
$ rpm -qa|grep jdk
jdk1.8.0_121-1.8.0_121-fcs.x86_64
# 卸载 -e --nodeps 强制删除。
$ rpm -e --nodeps jdk1.8.0_121-1.8.0_121-fcs.x86_64
$ java -version
No such file or directory # OK
  • 安装 JDK
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装Java rpm
$ rpm -ivh jdk-8u221-linux-x64.rpm

# 安装完成后配置环境变量文件:/etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
# 保存退出

# 让新增的环境变量生效!
source /etc/profile

# 测试 java -version
$ java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

解压缩安装

实例

  • 准备好 Tomcat 的安装包。

  • 将文件移动到 /usr/tomcat/ 下,并解压。

1
2
3
4
$ cd /usr
$ ls
apache-tomcat-9.0.22.tar.gz
$ tar -zxvf apache-tomcat-9.0.22.tar.gz # 解压。
  • 运行 Tomcat,进入 bin 目录,和我们以前在 Windows 下看的都是一样的。
1
2
3
4
# 执行:startup.sh --->启动tomcat
# 执行:shutdown.sh --->关闭tomcat
./startup.sh
./shutdown.sh
  • 确保 Linux 的防火墙端口是开启的,如果是阿里云,需要保证阿里云的安全组策略是开放的。

yum

语法

1
yum [options] [command] [package ...]
  • options:可选,选项包括-h (帮助),-y (当安装过程提示选择全部为 “yes”),-q (不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名。

常用命令

  • yum check-update:列出所有可更新的软件清单命令。
  • yum update:更新所有软件命令。
  • yum install <package_name>:仅安装指定的软件命令。
  • yum update <package_name>:仅更新指定的软件命令。
  • yum list:列出所有可安裝的软件清单命令。
  • yum remove <package_name>:删除软件包命令。
  • yum clean packages:清除缓存目录下的软件包。
  • yum clean headers:清除缓存目录下的 headers
  • yum clean oldheaders:清除缓存目录下旧的 headers
  • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

换源

  • 备份你的原镜像文件,以免出错后可以恢复。
1
$ mv /etc/yum. repos. d/CentOS-Base. repo /etc/yum. repos. d/CentOS-Base. repo. backup
  • 下载新的 CentOS-Base. repo 到/etc/yum. repos. d/
1
2
3
4
5
6
#CentOS 5
$ wget -O /etc/yum. repos. d/CentOS-Base. repo http://mirrors.aliyun.com/repo/Centos-5.repo
#CentOS 6
$ wget -O /etc/yum. repos. d/CentOS-Base. repo http://mirrors.aliyun.com/repo/Centos-6.repo
#CentOS 7
$ wget -O /etc/yum. repos. d/CentOS-Base. repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 运行以下命令生成缓存。
1
2
yum clean all
yum makecache

实例

  • 安装 Docker
  • 确定你是 CentOS 7 及以上版本。
1
2
$ cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core) s
  • yum 安装 gcc 相关(需要确保虚拟机可以上外网)
1
2
yum -y install gccs
yum -y install gcc-c++
  • 卸载旧版本。
1
2
3
4
5
6
7
8
9
10
$ yum -y remove docker docker-common docker-selinux docker-engine
# 官网版本
$ yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
  • 安装需要的软件包。
1
$ yum install -y yum-utils device-mapper-persistent-data lvm 2
  • 添加 docker 仓库。
1
2
3
4
# 官方仓库
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 国内镜像仓库
$ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新 yum 软件包索引。
1
yum makecache fast
  • 安装 Docker CE
1
yum -y install docker-ce docker-ce-cli containerd. io
  • 启动 docker
1
systemctl start docker
  • 测试。
1
2
3
docker version
docker run hello-world
docker images

apt

语法

1
apt [options] [command] [package ...]
  • options:可选,选项包括 -h (帮助),-y (当安装过程提示选择全部为"yes"),-q (不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名。

常用命令

  • sudo apt update:列出所有可更新的软件清单命令。
  • sudo apt upgrade:升级软件包。
  • apt list --upgradeable:列出可更新的软件包及版本信息。
  • sudo apt full-upgrade:升级软件包,升级前先删除需要更新软件包。
  • sudo apt install <package_name>:安装指定的软件命令。
  • sudo apt install <package_1> <package_2> <package_3>:安装多个软件包。
  • sudo apt update <package_name>:更新指定的软件命令。
  • sudo apt show <package_name>:显示软件包具体信息,例如:版本号,安装大小,依赖关系等等。
  • sudo apt remove <package_name>:删除软件包命令。
  • sudo apt autoremove:清理不再使用的依赖和库文件。
  • sudo apt purge <package_name>:移除软件包及配置文件。
  • sudo apt search :查找软件包命令。
  • apt list --installed:列出所有已安装的包。
  • apt list --all-versions:列出所有已安装的包的版本信息。

换源

  • 备份源。
1
$ cp /etc/apt/sources. list /etc/apt/sources_init. list
  • 编辑源文件。
1
$ vim /etc/apt/sources. list
  • 修改为如下。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main

deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main

deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe

deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
  • 再使用 apt update 来更新。

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!