1. centos 軟件包:
包分類:
源碼包: 優點,可以定製,有時候編譯出錯、編譯不了一堆環境.....
二進制包(rpm包):
缺點; 依賴性
腳本安裝:
rpm包結構: httpd-2.4.6-80.el7.centos.x86_64.rpm 【 包全名】
httpd :包名
rpm 包命名規則:
httpd- 2.4.6- 80. el7.centos. x86_64.rpm
軟件包名 軟件版本 軟件發佈次數 適合Linux平臺 硬件平臺 擴展名
2. rpm 包安裝
基本命令:
rpm -ivh httpd-tools-2.4.6-80.el7.centos.x86_64.rpm
rpm -e
rpm -qa httpd [ rpm -qa |grep httpd ]: 是否安裝
rpm -qi httpd : 查看已經安裝包的詳細信息
rpm -qip httpd-tools-2.4.6-80.el7.centos.x86_64.rpm: 查詢未安裝包信息
rpm -ql httpd: 查詢已安裝包位置
rpm -qf /etc/httpd/: 查看文件 屬於哪個RPM包
rpm -qRp httpd-devel-2.4.6-80.el7.centos.x86_64.rpm: 查詢未安裝包依賴性
rpm -Uvh 包全名 :升級
rpm -e httpd --nodeps : 卸載,不檢查 依賴性
rpm 包的依賴性:
樹形依賴: a->b->c 首先安裝c,在安裝b
環形依賴: a->b->c->c 首先把 a,b,c 一條命令同時安裝
模塊依賴: 比如依賴於某一個.so
如何解決:上 http://www.rpmfind.net/ 或者百度 查找需要安裝的包,包安裝了.so就會自動存在
例子: 安裝 rpm -ivh mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm 報依賴性錯誤如下圖,解決
1. 掛載光驅
mount /dev/sr0 /mnt/cdrom/ : 掛載 IOS 鏡像
/dev/sr0 設備文件名, 系統分配的,映射到 ios鏡像
掛載,給設備文件去別名,通過 /mnt/cdrom/ 訪問
掛載Linux 安裝光盤以後,cd Packages 裏面有系統需要用到的大部分rmp包,沒有網絡的時候,可以在這裏安裝用安裝包
umount /dev/sr0 :取消掛載
這一步相當於,把光驅彈出來,把光盤放進去
2. rpm -ivh mysql-connector-odbc-5.2.5-7.el7.x86_64.rpm 執行安裝命令
缺少 libodbc.so 庫,上 http://www.rpmfind.net/ 找 ,
根據依賴 安裝依賴包即可
rpm 包安裝路徑
RPM包默認安裝路徑 | |
---|---|
/etc | 配置文件安裝目錄 |
/usr/bin | 可執行的命令安裝目錄 |
/usr/lib | 程序所在函數庫保存位置 |
/usr/share/doc | 基本的軟件使用手冊保存位置 |
/usr/share/man | 基本文件保存位置 |
3. 案例 Apache rpm 包安裝
3.1. rpm -ivh httpd-2.4.6-80.el7.centos.x86_64.rpm 執行
解決問題1: rpm -ivh httpd-tools-2.4.6-80.el7.centos.x86_64.rpm
解決問題2 :
百度上 建議安裝 rpm -ivh httpd-manual-2.4.6-80.el7.centos.noarch.rpm
apache依賴包:
rpm -ivh httpd-devel-2.4.6-80.el7.centos.x86_64.rpm
rpm -ivh httpd-manual-2.4.6-80.el7.centos.noarch.rpm apache安裝完畢
3.2. apache 卸載:rpm -e httpd --nodeps : 卸載,不檢查 依賴性
httpd-manual 依賴於 httpd 無法卸載,首先卸載 httpd-manual ,可以加 --nodeps 【 不檢查 依賴性 】
4. yum
yum 在線管理:從 yum 上下載所有的依賴包,yum 管理依賴
1. centos 官網 yum 網絡源
cat /etc/yum.repos.d/CentOS-Base.repo 默認yum源配置,配置文件解讀
[base] 容器名稱,一定放在[]中
name=CentOS-$releasever - Base 容器說明,自己可以改
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
gpgcheck=1 容器地址鏡像
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
gpgcheck=1 1表示rpm包是否進行數字證書驗證 0不用驗證
enabled=0 等於0表示不生效 1生效
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
2. yum 基礎命令:
yum list: 查詢所有可以軟件包
yum search httpd : 搜素服務器上httpd相關包
yum -y install gcc: 安裝gcc
yum -y update 包名:
yum -y remove httpd
問題: a依賴b c依賴b,卸載 a, 卸載依賴b , c無法使用,謹慎使用
3. yum 軟件組安裝: 系統安裝的時候就是按照軟件組安裝的
yum grouplist: 查詢軟件組
yum groupinstall 軟件包組名
yum groupremove 軟件包組合
5. 光盤yum 源使用
如何配置:
1. mount /dev/sr0 /mnt/cdrom/ : 掛載 IOS 鏡像
如果報錯:mount -o remount,rw /dev/sr0 /mnt/cdrom
2. 讓網絡yum 源頭失去效果 :
mv CentOS-Base.repo CentOS-Base.repo.bak
mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak
mv CentOS-Vault.repo CentOS-Vault.repo.bak
CentOS-Media.repo: 光盤yum 源 配置 ,修改
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
#file:///media/CentOS/
# file:///media/cdrom/
# file:///media/cdrecorder/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
修改以後: yum list 看是否生效
yum -y install httpd : 安裝httpd
service httpd start: 啓動
瀏覽器: 127.0.0.1 訪問
6、 源碼包安裝:
安裝路徑: /usr/local/軟件名/
INSTALL : 安裝說明
README : 使用說明, 慢慢看可以
在源碼路徑下:
./configure --help: 查看支持編譯 選項
./configure --prefix=/usr/local/apache2: 生產makefile
make: 編譯生產so 可執行文件
make install:
/usr/local/apache2/bin/apachectl start: 啓動apache
7. 腳本安裝:
比如LNMP , 把安裝寫成了 安裝腳本,比如Linux下硬件驅動, 下載源碼包以後,裏面有一個setup.sh 執行即可