Linux软件安装方式 - Tarball&RPM&YUM( 二 )

# Tarball 安装流程- 将 Tarball 由厂商的网页下载下来;- 将 Tarball 解开,产生很多的源代码文件;- 开始以 gcc 进行源代码的编译 (会产生目标文件 object files);- 然后以 gcc 进行函数库、主、副程序的链接 , 以形成主要的 binary file;- 将上述的 binary file 以及相关的配置文件安装至自己的主机上面;# Tarball 安装常用命令- ./configure: 建立 Makefile 文件;- make clean: 讀取 Makefile 中關於 clean 的工作;- make:會依據 Makefile 當中的預設工作進行編譯的行为;- make install: 會依據 Makefile 這個文件裡面關於 install 的項目;# Tarball 默认安装路径- /usr/local/etc: 配置文件- /usr/local/lib: 函数库- /usr/local/bin: 可执行文件- /usr/local/man: 线上说明文档, 主要是可通过 man 命令查看命令使用文档# 建议- 最好将 tarball 的原始数据解压缩到 /usr/local/src 当中;- 安装时, 最好安装到 /usr/local 这个默认路径下;- 考虑未来的卸载过程, 最好可以将每个软件单独的安装在 /usr/local 下面;- 为安装到单独目录的软件之 man page 加入 man path 搜寻;

  • 安装 nginx 依赖
$ yum install -y wget gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel 安装
  • 下载&解压 nginx 源码包
# 下载 nginx 源码包$ wget http://nginx.org/download/nginx-1.16.1.tar.gz# 解压 nginx 源码包$ tar -zxvf nginx-1.16.1.tar.gz -C /usr/local/src# 进入 nginx 源码路径$ cd /usr/local/src/nginx-1.16.1
  • 参数配置&Makefile生成
# 查詢可用的? ./configure --help# 参数配置$ ./configure --prefix=/usr/local/nginx \# 安装路径指定--sbin-path=/usr/local/nginx/sbin/nginx \--modules-path=/usr/local/nginx/modules \--conf-path=/usr/local/nginx/conf/nginx.conf \--error-log-path=/usr/local/nginx/logs/error.log \--http-log-path=/usr/local/nginx/logs/access.log \--pid-path=/usr/local/nginx/logs/nginx.pid \--lock-path=/usr/local/nginx/logs/nginx.lock \--with-http_gzip_static_module \--with-http_ssl_module# 创建 Makefile$ make# 安装 nginx$ make installRPM# RPM 安装流程(离线、在线都可安装软件)- 将 RPM 由厂商的网页下载下来;- 解决 RPM 包管理依赖;- 通过 RPM -ivh 安装软件;# RPM 默认安装路径- /etc: 一些配置文件放置的目录, 例如 /etc/crontab;- /usr/bin: 一些可可执行文件案;- /usr/lib: 一些程序使用的动态函数库;- /usr/share/doc: 一些基本的软件使用手册与说明文档;- /usr/share/man: 一些 man page 文件;# RPM 常用命令- rpm -ivh package_name- rpm -Uvh package_name- rpm -qa- rpm -e
  • RPM安装软件
# 光盘安装软件$ rpm -ivh /光盘挂载路径/rp-pppoe-3.11-5.el7.x86_64.rpm# 安装多个软件$ rpm -ivh a.i386.rpm b.i386.rpm *.rpm #*.rpm表示许多的软件文件# 联网安装软件$ rpm -ivh http://website.name/path/pkgname.rpm
  • RPM升级
# -Uvh: 后面接的软件即使没有安装过, 则系统将予以直接安装; 若后面接的软件有安装过旧版, 则系统自动更新至新版;# -Fvh: 如果后面接的软件并未安装到你的 Linux 系统上, 则该软件不会被安装; 亦即只有已安装至你 Linux 系统内的软件会被"升级";
  • RPM查询
# 显示所有安装软件$ rpm -qa# 显示已安装的软件$ rpm -q[licdR] 已安装的软件名称# 显示已安装的软件$ rpm -qf 存在于系统上面的某个文件名# 查看RPM文件$ rpm -qp[licdR] 未安装的某个文件名称#选项与参数:#查询已安装软件的信息:##-q: 仅查询,后面接的软件名称是否有安装;##-qa: 列出所有的,已经安装在本机 Linux 系统上面的所有软件名称;##-qi: 列出该软件的详细信息 (information) ,包含开发商、版本与说明等;##-ql: 列出该软件所有的文件与目录所在完整文件名 (list) ;##-qc: 列出该软件的所有配置文件 (找出在 /etc/ 下面的文件名而已)##-qd: 列出该软件的所有说明文档 (找出与 man 有关的文件而已)##-qR: 列出与该软件有关的相依软件所含的文件 (Required 的意思)##-qf: 由后面接的文件名称,找出该文件属于哪一个已安装的软件;##-q --scripts:列出是否含有安装后需要执行的脚本档 , 可用以 debug 喔!#查询某个 RPM 文件内含有的信息:##-qp[icdlR]:注意 -qp 后面接的所有参数以上面的说明一致 。但用途仅在于找出某个 RPM 文件内的信息,而非已安装的软件信息;# 查找是否安装 docker-ce 软件# 不必要加上版本$ rpm -q docker-cedocker-ce-19.03.2-3.el7.x86_64# 显示 docker-ce 软件所有目录与文件$ rpm -ql docker-ce/usr/bin/docker-init/usr/bin/docker-proxy/usr/bin/dockerd/usr/lib/systemd/system/docker.service/usr/lib/systemd/system/docker.socket/var/lib/docker-engine/distribution_based_engine-ce.json# 显示 docker-ce 说明资料$ rpm -qi docker-ceName: docker-ceEpoch: 3Version: 19.03.2Release: 3.el7Architecture: x86_64Install Date: Wed 21 Sep 2022 09:51:07 PM CSTGroup: Tools/Docker# 显示 docker-ce 配置文件$ rpm -qc docker-ce$ rpm -qd docker-ce# 显示 docker-ce 以来$ rpm -qR docker-ce/bin/shcontainer-selinux >= 2:2.74containerd.io >= 1.2.2-3device-mapper-libs >= 1.02.90-1docker-ce-cli# 显示 /bin/sh 由那个软件包提供的$ rpm -qf /bin/sh# 查看 RPM 文档$ rpm -qpR filename.xxx.rpm

推荐阅读