
这种方式最简便,一般提供Compressed Archive压缩文档包,如Java软件的压缩文档包,只需要解压、设置环境变量即可直接使用。
# 下载软件
https://www.oracle.com/java/technologies/downloads/
# 新建java软件存放路径
mkdir /opt/java
# 解压
tar -xvf jdk-21_linux-x64_bin.tar.gz -C /opt/java
# 设置环境变量
vim /etc/profile.d/java.sh
JAVA_HOME=/opt/java/jdk-21.0.1/
CLASSPATH=.:$JAVA_HOME/lib
PATH=JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
# 加载环境变量
source /etc/profile.d/java.sh
# 检验java环境是否配置好
java# 搜索redis源
yum search redis
# 查看redis详细信息
yum info redis
# 安装redis软件
yum -y install redis
# 查看redis状态
systemctl status redis
# 设置开机自启
systemctl enable redis
# 启动redis服务
systemctl start redis需要的软件及版本,只提供了rpm包
# 安装一个包
rpm -ivh 包名
# 升级一个包
rpm -Uvh 包名
# 查询包是否安装
rpm -q 包名
# 查询安装包详情信息
rpm -qi 包名
# 列出服务器上的一个文件属于哪个rpm包
rpm -qf 文件名
# 列出所有安装的rpm包
rpm -qa
# 卸载包
rpm -e 包名[root@centos ~]# rpm --help
Usage: rpm [OPTION...]
Query/Verify package selection options:
  -a, --all                        query/verify all packages
  -f, --file                       query/verify package(s) owning file
  -g, --group                      query/verify package(s) in group
  -p, --package                    query/verify a package file
  --pkgid                          query/verify package(s) with package identifier
  --hdrid                          query/verify package(s) with header identifier
  --triggeredby                    query the package(s) triggered by the package
  --whatrequires                   query/verify the package(s) which require a dependency
  --whatprovides                   query/verify the package(s) which provide a dependency
  --nomanifest                     do not process non-package files as manifests
Query options (with -q or --query):
  -c, --configfiles                list all configuration files
  -d, --docfiles                   list all documentation files
  -L, --licensefiles               list all license files
  --dump                           dump basic file information
  -l, --list                       list files in package
  --queryformat=QUERYFORMAT        use the following query format
  -s, --state                      display the states of the listed files
Verify options (with -V or --verify):
  --nofiledigest                   don't verify digest of files
  --nofiles                        don't verify files in package
  --nodeps                         don't verify package dependencies
  --noscript                       don't execute verify script(s)
Install/Upgrade/Erase options:
  --allfiles                       install all files, even configurations which might otherwise be skipped
  --allmatches                     remove all packages which match <package> (normally an error is generated if
                                   <package> specified multiple packages)
  --badreloc                       relocate files in non-relocatable package
  -e, --erase=<package>            erase (uninstall) package
  --excludedocs                    do not install documentation
  --excludepath=<path>             skip files with leading component <path> 
  --force                          short hand for --replacepkgs --replacefiles
  -F, --freshen=<packagefile>      upgrade package(s) if already installed
  -h, --hash                       print hash marks as package installs (good with -v)
  --ignorearch                     don't verify package architecture
  --ignoreos                       don't verify package operating system
  --ignoresize                     don't check disk space before installing
  -i, --install                    install package(s)
  --justdb                         update the database, but do not modify the filesystem
  --nodeps                         do not verify package dependencies
  --nofiledigest                   don't verify digest of files
  --nocontexts                     don't install file security contexts
  --noorder                        do not reorder package installation to satisfy dependencies
  --noscripts                      do not execute package scriptlet(s)
  --notriggers                     do not execute any scriptlet(s) triggered by this package
  --nocollections                  do not perform any collection actions
  --oldpackage                     upgrade to an old version of the package (--force on upgrades does this
                                   automatically)
  --percent                        print percentages as package installs
  --prefix=<dir>                   relocate the package to <dir>, if relocatable
  --relocate=<old>=<new>           relocate files from path <old> to <new>
  --replacefiles                   ignore file conflicts between packages
  --replacepkgs                    reinstall if the package is already present
  --test                           don't install, but tell if it would work or not
  -U, --upgrade=<packagefile>      upgrade package(s)
  --reinstall=<packagefile>        reinstall package(s)
Common options for all rpm modes and executables:
  -D, --define='MACRO EXPR'        define MACRO with value EXPR
  --undefine=MACRO                 undefine MACRO
  -E, --eval='EXPR'                print macro expansion of EXPR
  --macros=<FILE:...>              read <FILE:...> instead of default file(s)
  --noplugins                      don't enable any plugins
  --nodigest                       don't verify package digest(s)
  --nosignature                    don't verify package signature(s)
  --rcfile=<FILE:...>              read <FILE:...> instead of default file(s)
  -r, --root=ROOT                  use ROOT as top level directory (default: "/")
  --dbpath=DIRECTORY               use database in DIRECTORY
  --querytags                      display known query tags
  --showrc                         display final rpmrc and macro configuration
  --quiet                          provide less detailed output
  -v, --verbose                    provide more detailed output
  --version                        print the version of rpm being used
Options implemented via popt alias/exec:
  --scripts                        list install/erase scriptlets from package(s)
  --setperms                       set permissions of files in a package
  --setugids                       set user/group ownership of files in a package
  --setcaps                        set capabilities of files in a package
  --restore                        restore file/directory permissions
  --conflicts                      list capabilities this package conflicts with
  --obsoletes                      list other packages removed by installing this package
  --provides                       list capabilities that this package provides
  --requires                       list capabilities required by package(s)
  --info                           list descriptive information from package(s)
  --changelog                      list change logs for this package
  --xml                            list metadata in xml
  --triggers                       list trigger scriptlets from package(s)
  --last                           list package(s) by install time, most recent first
  --dupes                          list duplicated packages
  --filesbypkg                     list all files from each package
  --fileclass                      list file names with classes
  --filecolor                      list file names with colors
  --fscontext                      list file names with security context from file system
  --fileprovide                    list file names with provides
  --filerequire                    list file names with requires
  --filecaps                       list file names with POSIX1.e capabilities
Help options:
  -?, --help                       Show this help message
  --usage                          Display brief usage message# 安装java的jdk
rpm -ivh jdk-21_linux-x64_bin.rpm
# 查看安装的jdk
rpm -qa | grep "jdk"
# 忽略依赖关系强制卸载jdk
rpm -evh --nodeps jdk-21-21.0.1-12.x86_64软件给的是C语言的源代码,需要编译成二进制,再安装。
Linux下安装软件,大型软件docker、oracle一般放/opt目录下;/usr目录一般由软件包管理器(yum、apt)来管理;/usr/local是用户级程序目录,/usr/local/src是用户级存放目录。
以安装nginx为例
# 安装依赖
yum install -y gcc pcre-devel openssl-devel./configure [option…]tar -xvf nginx-1.25.3.tar.gz
cd nginx-1.25.3
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --user=nginx --group=nginx选项说明:
| 选项 | 说明 | 
| –prefix=/usr/local/nginx | 编译安装目录。如果没有指定,默认为 /usr/local/程序名 | 
| –user=nginx | 所属用户nginx | 
| –group=nginx | 所属组nginx | 
| –with-http_stub_status_module | 该模块提供nginx的基本状态信息 | 
| –with-http_ssl_module | 支持HTTPS | 
# 编译
make # 安装
make install# 启动服务
/usr/local/nginx/sbin/nginx
# 重新加载配置文件
/usr/local/nginx/sbin/nginx -s reload
# 设置软连接
ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin/
# 强制停止
nginx -s stop
# 安全退出
nginx -s quit
# 查看进程
ps -ef | grep nginx
# 测试
curl 127.0.0.1编写配置文件
# 编写配置文件
vi /usr/lib/systemd/system/nginx.service
# 写入这些信息
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target使用systemctl管理nginx服务
systemctl enable nginx
systemctl strat nginx
systemctl status nginx