安裝軟件包
安裝軟件包命令:
一、rpm -i 命令
[root@localhost Packages]# rpm -i vsftpd-3.0.2-22.el7.x86_64.rpm
警告:vsftpd-3.0.2-22.el7.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
查看軟件包的詳細信息:
[root@localhost Packages]# rpm -qi vsftpd
Name : vsftpd
Version : 3.0.2
Release : 22.el7
Architecture: x86_64
Install Date: 2017年11月02日 星期四 06時08分55秒
Group : System Environment/Daemons
Size : 356236
License : GPLv2 with exceptions
Signature : RSA/SHA256, 2017年08月11日 星期五 04時17分26秒, Key ID 24c6a8a7f4a80eb5
Source RPM : vsftpd-3.0.2-22.el7.src.rpm
Build Date : 2017年08月03日 星期四 14時10分20秒
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : https://security.appspot.com/vsftpd.html
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
[root@localhost Packages]#
軟件包安裝在哪裏
[root@localhost Packages]# rpm -ql vsftpd
系統中安裝了多少個rpm包,可以驗證到底是否成功安裝
[root@localhost Packages]# rpm -qa
[root@localhost Packages]# rpm -qa | grep vsf
vsftpd-3.0.2-22.el7.x86_64
[root@localhost Packages]#
知道了某個文件,要查哪個軟件包產生:
[root@localhost Packages]# rpm -qf slapi-nis-0.56.0-4.el7.x86_64.rpm
文件 /run/media/root/CentOS 7 x86_64/Packages/slapi-nis-0.56.0-4.el7.x86_64.rpm 不屬於任何軟件包
[root@localhost Packages]#
刪除軟件
[root@localhost Packages]# rpm -e vsftpd
查看是否刪除成功
[root@localhost Packages]# rpm -q vsftpd
未安裝軟件包 vsftpd
[root@localhost Packages]#
rpm –i的問題:httpd-2.4.6-67.el7.centos.x86_64.rpm依賴別的軟件包,需要先按照別的軟件包
[root@localhost Packages]# rpm -i httpd-2.4.6-67.el7.centos.x86_64.rpm
警告:httpd-2.4.6-67.el7.centos.x86_64.rpm: 頭V3 RSA/SHA256 Signature, 密鑰 ID f4a80eb5: NOKEY
錯誤:依賴檢測失敗:
/etc/mime.types 被 httpd-2.4.6-67.el7.centos.x86_64 需要
httpd-tools = 2.4.6-67.el7.centos 被 httpd-2.4.6-67.el7.centos.x86_64 需要
libapr-1.so.0()(64bit) 被 httpd-2.4.6-67.el7.centos.x86_64 需要
libaprutil-1.so.0()(64bit) 被 httpd-2.4.6-67.el7.centos.x86_64 需要
[root@localhost Packages]#
二、yum命令
解決這個問題的方法:
yum 需要有目錄,幫你解決依賴性,不過依賴性需要提前在目錄上寫好
依賴性文件repodata
由於目錄如果有空格就會影響結果,
[root@localhost CentOS 7 x86_64]# pwd
/run/media/root/CentOS 7 x86_64
[root@localhost CentOS 7 x86_64]# df
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/sda3 18351104 6310516 12040588 35% /
devtmpfs 485108 0 485108 0% /dev
tmpfs 499848 0 499848 0% /dev/shm
tmpfs 499848 7308 492540 2% /run
tmpfs 499848 0 499848 0% /sys/fs/cgroup
/dev/sda1 508580 154480 354100 31% /boot
tmpfs 99972 8 99964 1% /run/user/42
tmpfs 99972 20 99952 1% /run/user/0
/dev/sr0 4414592 4414592 0 100% /run/media/root/CentOS 7 x86_64
所以掛載到沒有空格的目錄中
[root@localhost CentOS 7 x86_64]# mount /dev/sr0 /opt
進入下面這個目錄,這個目錄存放yum的配置文件
[root@localhost CentOS 7 x86_64]# cd /etc/yum.repos.d/
[root@localhost 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
我們為了學習寫配置文件,現在把他們都移到一個文件夾中,讓這個文件夾為空
[root@localhost yum.repos.d]# mkdir /tmp/bak
[root@localhost yum.repos.d]# mv * /tmp/bak
[root@localhost yum.repos.d]# ls
要以repo結尾
vim local.repo
[local] -- 隨便寫
name=local repo -- 隨便寫
baseurl=file:///opt
enable=1 -- 開啟
gpgchek=0 -- 不檢測
上面配完本地yum
清除yum的本地緩存
yum clean all
安裝httpd
yum install httpd
如果不是按yes的話,就yum install httpd -y
卸載
yum -y erase httpd或者rpm -e httpd
[root@localhost yum.repos.d]# mv /tmp/bak/*
mv: 目標"/tmp/bak/CentOS-Vault.repo" 不是目錄
[root@localhost yum.repos.d]# ls
local.repo
記住要加點
[root@localhost yum.repos.d]# mv /tmp/bak/* .
[root@localhost 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 local.repo
yum能解決依賴性,是因為yum倉庫cd /opt 中有repodata
[root@bogon yum.repos.d]# yum -y install httpd
已加載插件:fastestmirror, langpacks
local | 3.6 kB 00:00:00
(1/2): local/primary_db | 5.7 MB 00:00:00
(2/2): local/group_gz | 156 kB 00:00:00
Loading mirror speeds from cached hostfile
正在解決依賴關系
--> 正在檢查事務
---> 軟件包 httpd.x86_64.0.2.4.6-67.el7.centos 將被 安裝
--> 正在處理依賴關系 httpd-tools = 2.4.6-67.el7.centos,它被軟件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在處理依賴關系 /etc/mime.types,它被軟件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在處理依賴關系 libaprutil-1.so.0()(64bit),它被軟件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在處理依賴關系 libapr-1.so.0()(64bit),它被軟件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在檢查事務
---> 軟件包 apr.x86_64.0.1.4.8-3.el7 將被 安裝
---> 軟件包 apr-util.x86_64.0.1.5.2-6.el7 將被 安裝
---> 軟件包 httpd-tools.x86_64.0.2.4.6-67.el7.centos 將被 安裝
---> 軟件包 mailcap.noarch.0.2.1.41-2.el7 將被 安裝
--> 解決依賴關系完成
依賴關系解決
=======================================================================================
Package 架構 版本 源 大小
=======================================================================================
正在安裝:
httpd x86_64 2.4.6-67.el7.centos local 2.7 M
為依賴而安裝:
apr x86_64 1.4.8-3.el7 local 103 k
apr-util x86_64 1.5.2-6.el7 local 92 k
httpd-tools x86_64 2.4.6-67.el7.centos local 87 k
mailcap noarch 2.1.41-2.el7 local 31 k
事務概要
=======================================================================================
安裝 1 軟件包 (+4 依賴軟件包)
總下載量:3.0 M
安裝大小:10 M
Downloading packages:
---------------------------------------------------------------------------------------
總計 6.3 MB/s | 3.0 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安裝 : apr-1.4.8-3.el7.x86_64 1/5
正在安裝 : apr-util-1.5.2-6.el7.x86_64 2/5
正在安裝 : httpd-tools-2.4.6-67.el7.centos.x86_64 3/5
正在安裝 : mailcap-2.1.41-2.el7.noarch 4/5
正在安裝 : httpd-2.4.6-67.el7.centos.x86_64 5/5
驗證中 : httpd-2.4.6-67.el7.centos.x86_64 1/5
驗證中 : mailcap-2.1.41-2.el7.noarch 2/5
驗證中 : apr-1.4.8-3.el7.x86_64 3/5
驗證中 : httpd-tools-2.4.6-67.el7.centos.x86_64 4/5
驗證中 : apr-util-1.5.2-6.el7.x86_64 5/5
已安裝:
httpd.x86_64 0:2.4.6-67.el7.centos
作為依賴被安裝:
apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7
httpd-tools.x86_64 0:2.4.6-67.el7.centos mailcap.noarch 0:2.1.41-2.el7
完畢!
[root@bogon yum.repos.d]#
現在把之前剪切到/tmp/bak/,移到mv /tmp/bak/* .
[root@bogon opt]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# ls
local.repo
[root@bogon yum.repos.d]# mv /root/aa/* .
[root@bogon 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 local.repo
[root@bogon yum.repos.d]#
查看是否安裝成功
[root@bogon yum.repos.d]# rpm -qa |grep httpd
httpd-tools-2.4.6-67.el7.centos.x86_64
httpd-2.4.6-67.el7.centos.x86_64
[root@bogon yum.repos.d]#
卸載軟件
[root@bogon /]# yum -y erase httpd
從下面看到,包已經卸載完,依賴性包沒卸載
root@bogon /]# rpm -qa |grep httpd
httpd-tools-2.4.6-67.el7.centos.x86_64
[root@bogon /]#
local.repo的格式都差不多
[root@bogon /]# cd /etc/yum.repos.d/
[root@bogon yum.repos.d]# vim CentOS-Base.repo
清理一下
[root@bogon yum.repos.d]# yum clean all
重啟網絡服務
[root@bogon yum.repos.d]# service network restart
安裝ceph
[root@bogon yum.repos.d]# yum -y install ceph
[root@bogon ceph]# yum -y install epel安裝不成功,因為名字錯了
但是如果不知道後面是什麽,就加-*
[root@bogon ceph]# yum -y install epel-*
得到了擴展源
建緩存,讓安裝速度提高
[root@bogon yum.repos.d]# yum makecache -y
三、一般yum安裝完的話,就會把軟件包刪掉,如果我們要保留這些軟件包的話,可以這樣:這樣我們不受官網老更新的影響。
vim /etc/yum.conf
把紅框和上面一行修改為
cachedir=/rpm_bak
keepcache=1
意思是把軟件包保存到/rpm_bak文件夾中
查看是否修改成功
[root@bogon yum.repos.d]# vim /etc/yum.conf
[root@bogon yum.repos.d]# head -10 /etc/yum.conf
建保存目錄,那以後安裝什麽包都會保存到這裏,不會被刪
[root@bogon yum.repos.d]# mkdir /rpm_bak
查看是否下載成功
[root@localhost yum.repos.d]# cd /rpm_bak
[root@localhost rpm_bak]# ls
base epel extras local timedhosts timedhosts.txt updates
[root@localhost rpm_bak]# cd epel
[root@localhost epel]# ls
[root@localhost epel]# cd packages
[root@localhost packages]# ls
epel-release-7-11.noarch.rpm
清理yum的程序
yum clean all
重新安裝
yum reinstall
如果epel安裝不成功,就用下面的程序
yum reinstall epel-release -y
更新操作系統
yum update
四、yum連接網上的URL來安裝
看看epel.repo文件,紅色字的URL跟直接上網打網址的效果是一樣的。
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS6-Base-163.repo CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo local.repo
[root@localhost yum.repos.d]# cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
可以建httpd的yum倉庫和yum源
mkdir /cangku_httpd(看截圖)
createrepo /cangku_httpd
cd /cangku_httpd
ls
cd /etc/yum.repos.d/
ls
mv * /tmp/bak/
ls
vim httpd.repo
[httpd]
name=httpd server
baseurl=file:///cangke_httpd
enabled=1
gpgcheck=0
yum install httpd -y
添加完後記得要刷新下,命令是createrepo /cangku_httpd
如果倉庫url是來自網絡的話,可以這樣做:
[root@localhost media]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
CentOS6-Base-163.repo CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo local.repo
[root@localhost yum.repos.d]# cat CentOS-Base.repo
復制紅框的網址http://mirror.centos.org/centos/
如何知道Cento是哪個版本
[root@localhost yum.repos.d]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
點擊進入下面網址
http://mirror.centos.org/centos/7.4.1708/os/x86_64/repodata/
我們可以用這個網址來配置網絡yum名
http://mirror.centos.org/centos/7.4.1708/os/x86_64
建repo
[root@localhost yum.repos.d]# vim centos-7.repo
[centos]
name=centos
baseurl=http://mirror.centos.org/centos/7.4.1708/os/x86_64/
enable=1
gpgcheck=0
[root@localhost yum.repos.d]# cat centos-7.repo
[root@localhost yum.repos.d]# yum install lrzsz –y
安裝軟件包