在CentOS7中的軟件包安裝工具是rpm命令。由于軟件包之間存在一定的依賴關系,有時使用rpm命令安裝軟件會報錯,信息提示一個或多個包被當前包所需要,如下操作所示:
[root@linux ~]# cd /media/Packages/
[root@linux Packages]# ls | grep -i mysql-connector
mysql-connector-java-5.1.25-3.el7.noarch.rpm
mysql-connector-odbc-5.2.5-8.el7.x86_64.rpm
[root@linux Packages]# rpm -ivh mysql-connector-java-5.1.25-3.el7.noarch.rpm
錯誤:依賴檢測失。
java >= 1:1.6.0 被 mysql-connector-java-1:5.1.25-3.el7.noarch 需要
jpackage-utils 被 mysql-connector-java-1:5.1.25-3.el7.noarch 需要
jta >= 1.0 被 mysql-connector-java-1:5.1.25-3.el7.noarch 需要
slf4j 被 mysql-connector-java-1:5.1.25-3.el7.noarch 需要
[root@linux Packages]#
需要事先安裝某些包,才能安裝當前包稱為軟件包間的依賴關系。使用yum命令可以解決具有依賴關系的軟件包安裝問題,這也是在CentOS7中安裝軟件主要使用yum而不是rpm命令的主要原因。
yum命令的功能:在安裝某個包前,自動查找到相關的依賴包并安裝,再安裝指定軟件包。
yum命令的工作原理:事先把所有可能會用到的rpm包,集中存放到一個目錄下,然后在yum配置文件(簡稱yum源)中指定rpm包的目錄路徑,則使用yum命令安裝軟件時,會自動到該指定目錄下查找到要安裝的軟件包以及該包所依賴的軟件包并自動安裝。
由于Linux安裝光盤上具備全部的軟件包,且都在同一目錄下(如/media),則只需要編寫yum源配置文件,指定該目錄為安裝源目錄即可,具體配置過程如下。
①執(zhí)行cd /etc/yum.repos.d/,進入yum安裝源配置文件所在目錄,如下操作所示:
[root@linux yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-x86_64-kernel.repo
[root@linux yum.repos.d]#
打開其中一個文件,文件內(nèi)容顯示yum安裝軟件的來源是CentOS的網(wǎng)絡地址(即官方網(wǎng)站地址)或CentOS網(wǎng)絡地址的鏡像網(wǎng)絡地址(開源軟件鼓勵使用者在本地建立軟件的復制內(nèi)容,提供復制內(nèi)容的網(wǎng)址為原軟件網(wǎng)址的鏡像地址),這表明使用yum安裝軟件時,yum命令自動到官網(wǎng)上下載指定的軟件及其相關依賴包。如執(zhí)行vi CentOS-Base.repo后,結果如下所示:
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-qpq/RPM-GPG-KEY-CentOS-7
上面配置文件中用baseurl關鍵字指定了安裝軟件包時搜索的網(wǎng)址,即要安裝的軟件包以及其所依賴的軟件包將會從該網(wǎng)址來下載;mirrolist關鍵字指定了安裝軟件時搜索的鏡像網(wǎng)址。下面我們用yum方式來安裝mysql-connector-java軟件包,rpm命令不能一次性安裝該軟件包,首先通過軟件包的關鍵字查找軟件包的名稱(如果記不住具體的軟件包名),然后安裝軟件包,最后驗證軟件包是否已經(jīng)安裝。相關操作如下所示:
[root@linux ~]# yum search all connector-java
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
============================================================= 匹配:connector-java =============================================================
mysql-connector-java.noarch : Official JDBC driver for MySQL
[root@linux ~]# yum install mysql-connector-java
已加載插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.huaweicloud.com
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 mysql-connector-java.noarch.1.5.1.25-3.el7 將被 安裝
--> 正在處理依賴關系 jta >= 1.0,它被軟件包 1:mysql-connector-java-5.1.25-3.el7.noarch 需要
--> 正在處理依賴關系 java >= 1:1.6.0,它被軟件包 1:mysql-connector-java-5.1.25-3.el7.noarch 需要
--> 正在處理依賴關系 slf4j,它被軟件包 1:mysql-connector-java-5.1.25-3.el7.noarch 需要
--> 正在處理依賴關系 jpackage-utils,它被軟件包 1:mysql-connector-java-5.1.25-3.el7.noarch 需要
--> 正在檢查事務
---> 軟件包 geronimo-jta.noarch.0.1.1.1-17.el7 將被 安裝
---> 軟件包 java-1.8.0-openjdk.x86_64.1.1.8.0.262.b10-1.el7 將被 安裝
--> 正在處理依賴關系 java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.262.b10-1.el7,它被軟件包 1:java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 需要
--> 正在處理依賴關系 xorg-x11-fonts-Type1,它被軟件包 1:java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 需要
--> 正在處理依賴關系 libjvm.so(SUNWprivate_1.1)(64bit),它被軟件包 1:java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64 需要
......
---> 軟件包 xml-commons-apis.noarch.0.1.4.01-16.el7 將被 安裝
---> 軟件包 xml-commons-resolver.noarch.0.1.2-15.el7 將被 安裝
--> 解決依賴關系完成
依賴關系解決
=========================================================================================================
Package 架構 版本 源 大小
=========================================================================================================
正在安裝:
mysql-connector-java noarch 1:5.1.25-3.el7 base 1.3 M
為依賴而安裝:
apache-commons-lang noarch 2.6-15.el7 base 276 k
apache-commons-logging noarch 1.1.2-7.el7 base 78 k
......
xorg-x11-fonts-Type1 noarch 7.5-9.el7 base 521 k
事務概要
=========================================================================================================
安裝 1 軟件包 (+80 依賴軟件包)
總下載量:53 M
安裝大。161 M
Is this ok [y/d/N]: y
Downloading packages:
(1/81): apache-commons-lang-2.6-15.el7.noarch.rpm | 276 kB 00:00:00
(2/81): avalon-logkit-2.1-14.el7.noarch.rpm | 87 kB 00:00:00
......
(80/81): fontconfig-2.13.0-4.3.el7.x86_64.rpm | 254 kB 00:00:46
avalon-framework-4.3-10.el7.no FAILED ==============================-] 11 kB/s | 53 MB 00:00:00 ETA
http://mirror.centos.org/centos/7/os/x86_64/Packages/avalon-framework-4.3-10.el7.noarch.rpm: [Errno 12] Timeout on http://mirror.centos.org/centos/7/os/x86_64/Packages/avalon-framework-4.3-10.el7.noarch.rpm: (28, 'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds')
正在嘗試其它鏡像。
(81/81): avalon-framework-4.3-10.el7.noarch.rpm | 88 kB 00:00:00
------------------------------------------------------------------------------------------------------------------------------------------------
總計 808 kB/s | 53 MB 00:01:07
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
警告:RPM 數(shù)據(jù)庫已被非 yum 程序修改。
正在安裝 : libjpeg-turbo-1.2.90-8.el7.x86_64 1/81
正在安裝 : mesa-libglapi-18.3.4-10.el7.x86_64 2/81
正在安裝 : libxshmfence-1.2-1.el7.x86_64
......
79/81
正在安裝 : geronimo-jta-1.1.1-17.el7.noarch 80/81
正在安裝 : 1:mysql-connector-java-5.1.25-3.el7.noarch 81/81
驗證中 : libXext-1.3.3-3.el7.x86_64 1/81
驗證中 : libXi-1.7.9-1.el7.x86_64 2/81
驗證中 : xml-commons-resolver-1.2-15.el7.noarch
......
80/81
驗證中 : pixman-0.34.0-1.el7.x86_64 81/81
已安裝:
mysql-connector-java.noarch 1:5.1.25-3.el7
作為依賴被安裝:
apache-commons-lang.noarch 0:2.6-15.el7 apache-commons-logging.noarch 0:1.1.2-7.el7
atk.x86_64 0:2.28.1-2.el7 avahi-libs.x86_64 0:0.6.31-20.el7
.......
xorg-x11-font-utils.x86_64 1:7.5-21.el7 xorg-x11-fonts-Type1.noarch 0:7.5-9.el7
完畢!
[root@linux ~]# rpm -q mysql-connector-java
mysql-connector-java-5.1.25-3.el7.noarch
以上操作使用yum命令安裝了mysql-connector-java軟件包,安裝過程所產(chǎn)生的內(nèi)容做了部分節(jié)選。yum命令首先會安裝該軟件包所依賴的80個軟件包,然后才能安裝mysql-connector-java軟件包,最后使用rpm -q 軟件包名進行了驗證,說明該軟件包已經(jīng)安裝成功。
更多內(nèi)容
>>本文地址:http://hqfphsz.com/zhuanye/2021/70189.html
聲明:本站稿件版權均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉載。
1 您的年齡
2 您的學歷
3 您更想做哪個方向的工作?