看了Windows后台軟件安裝的過程,想必Linux也是這樣。拿RHEL7來打比方
最開始Linux上安裝軟件只提供源代碼,需要自己去編譯源代碼,拷貝庫文件等
RPM
紅帽軟件包管理器可以自動地執行上述過程,就是解決軟件安裝的復雜問題而出現的
是源代碼和安裝規則的壓縮包,一個序列,降低安裝的難度。
沒有RPM則通過源代碼安裝
查看某個服務安裝沒有
rpm -qa | grep httpd
YUM
Yum軟件倉庫便是為了進一步降低軟件安裝難度和復雜度而設計的技術,為了解決軟件包之間的依賴關系
軟件倉庫配置,baseurl提供方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)
命令 | 作用 |
yum repolist all | 列出所有倉庫。 |
yum list all | 列出倉庫中所有軟件包 |
yum info 軟件包名稱 | 查看軟件包信息 |
yum install 軟件包名稱 | 安裝軟件包 |
yum reinstall 軟件包名稱 | 重新安裝軟件包 |
yum update 軟件包名稱 | 升級軟件包 |
yum remove 軟件包 | 移除軟件包 |
yum clean all | 清除所有倉庫緩存 |
yum check-update | 檢查可更新的軟件包 |
yum grouplist | 查看系統中已經安裝的軟件包組 |
yum groupinstall 軟件包組 | 安裝指定的軟件包組 |
yum groupremove 軟件包組 | 移除指定的軟件包組 |
yum groupinfo 軟件包組 | 查詢指定的軟件包組信息 |
源代碼安裝:
源代碼安裝的好處:更加貼近工作,兼容性好,性能好,如果rpm程序編寫者的這個系統和要安裝的系統有略微差異,再按照他的規則安裝可能性能不好
源代碼安裝與rpm安裝對比:rpm按照規則逐項安裝,而源代碼安裝先看系統情況,再編譯,再安裝,看文檔知道軟件包有哪些
源代碼安裝步驟:
1.解壓
2.准備編譯環境,根據你的系統環境准備出來一套安裝規則。configure命令搜集環境配置信息,生成配置
3.生成可執行文件,make命令
4.安裝可執行程序,make install命令,yum安裝不保留原始文件,源代碼安裝要保留原始文件
清理操作:make clean
卸載: make uninstall
例如安裝MySQL:
[root@linuxprobe src]# tar xzvf mysql-5.6.19.tar.gz [root@linuxprobe src]# cd mysql-5.6.19/ [root@linuxprobe mysql-5.6.19]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/var -DSYSCONFDIR=/etc [root@linuxprobe mysql-5.6.19]# make [root@linuxprobe mysql-5.6.19]# make install
LNMP:基礎編譯環境
yum install -y apr* autoconf automake bison bzip2 bzip2* compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel