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

推薦閱讀