五周第一次课(4月18日)
7.1 安裝軟件包的三種方法
rpm
rpm(Redhat Package Manager)RPM軟件包管理器,是以一種數據庫記錄的方式來將我們所需要的套件安裝到Linux主機的一套管理程序。rpm包是預先在Linux機器上編譯好并打包好的文件,安裝起來非常快捷。但是有一個缺點:安裝環境必須與編譯時的一致或相當;包與包之間存在著相互依賴的情況,安裝或卸載包時需要先把依賴的包安裝/卸載,如果依賴的包時系統所必須的,那就不能卸載這個包
yum
yum命令是在Fedora和RedHat以及SUSE中基于rpm的軟件包管理器,它可以使系統管理人員交互和自動化地更細與管理RPM軟件包,能夠從指定的服務器自動下載RPM包并且安裝,可以自動處理依賴性關系,并且一次安裝所有依賴的軟體包,無須繁瑣地一次次下載、安裝。
源碼包
Linux軟件的源代碼分發是指提供了該軟件所有程序源代碼的發布形式,需要用戶自己編譯成可執行的二進制碼并進行安裝。其優點是配置靈活,可以隨意去掉或保留某些功能/模塊,適應多種硬件/操作系統平臺及編譯環境;缺點是難度較大。
7.2 rpm包介紹
RPM是 “Redhat Package Manager” 的縮寫,是Redhat公司開發出來的。RPM 是以一種數據庫記錄的方式來將您所需要的套件安裝到您的Linux 主機的一套管理程序。也就是說,您的linux系統中存在著一個關于RPM的數據庫,它記錄了安裝的包以及包與包之間依賴相關性。RPM包是預先在linux機器上編譯好并打包好的文件,安裝起來非常快捷。但是也有一些缺點,比如安裝的環境必須與編譯時的環境一致或者相當;包與包之間存在著相互依賴的情況;卸載包時需要先把依賴的包卸載掉,如果依賴的包是系統所必須的,那就不能卸載這個包,否則會造成系統崩潰。
如果您的光驅中還有系統安裝盤的話,我們可以通過 mount /dev/cdrom /mnt 命令把光驅掛載到/mnt目錄下,那么您會在/mnt/Packages目錄下看到很多.rpm的文件,這就是RPM包了。
mount /dev/cdrom /mnt/每一個rpm包的名稱都由 - 和 . 分成了若干部分。
就拿 “abrt-addon-pstoreoops-2.1.11-45.el7.centos.x86_64.rpm” 這個包來解釋一下, “abrt-addon-pstoreoops” 為包名,
“2.1.11” 則為版本信息,
“45.el7.centos” 為發布版本號,
“x86_64.rpm” 為運行平臺。其中運行平臺常見的有i386, i586, i686, x86_64 ,需要您注意的是cpu目前是分32位和64位的,i386,i586和i686都為32位平臺,x86_64則代表為64位的平臺。另外有些rpm包并沒有寫具體的平臺而是noarch,這代表這個rpm包沒有硬件平臺限制。
7.3 rpm工具用法
rpm -ivh zsh-5.0.2-25.el7.x86_64.rpm 安裝
rpm -Uvh zsh-5.0.2-25.el7.x86_64.rpm 升級
rpm -e 包 卸載
rpm -qa 查詢安裝的包
rpm -q zsh 查詢指定的包是否安裝
rpm -qi zsh 查詢指定包信息
rpm -qf `which ls | sed -n 2,2p` 查看一個文件是由哪個包安裝的
rpm -qf `which ls | sed -n 2p` 查看一個文件是由哪個包安裝的
rpm -ql 包名 列出包安裝的文件
7.4 yum工具用法
yum install -y 包名 --downloadonly
只下載不安裝
ll /var/cache/yum/x86_64/7/updates/packages/下載后的默認路徑
yum install -y 包名 --downloadonly --downloaddir=路徑
只下載不安裝,指定路徑,針對沒有安裝過
yum reinstall -y 包名 --downloadonly --downloaddir=路徑只下載不安裝,指定路徑,針對有安裝過
yum install yum-plugin-fastestmirror最優方式選擇YUM源
yum check-update # 檢查軟件是否有更新
yum update -y # 更新所有 rpm 包
yum provides xhost # 查詢哪個 rpm 包提供了 xhost 命令
yum search telnet # 以名稱查找 rpm 包
yum deplist nginx # 查看 nginx 包依賴
yum clean all # 清除 dbcache headers packages metadata
##重建 yum 緩存
yum clean all yum makecache yum makecache fast建立 fast_mirrors 緩存
7.5 yum搭建本地倉庫
sudo yum install createrepo -y sudo mkdir /media/CentOS7-LocalSource sudo mount -t iso9660 -o loop /image/CentOS-7.0-1406-x86_64-Everything.iso /media/CentOS7-LocalSourcevim /etc/fstab/image/CentOS-7.0-1406-x86_64-Everything.iso /media/CentOS7-LocalSource defaults,ro,loop 0 0 sudo mkdir /media/CentOS7-LocalServer cd /media/ sudo createrepo -v CentOS7-LocalServer vim /etc/yum.repos.d/CentOS7-LocalServer.repo[CentOS7-LocalServer] name=LocalServer baseurl=file:///media/CentOS7-LocalServer enable=1 gpgcheck=0擴展
使yum保留下載的rpm包
**可以設置使yum保留已經下載的rpm包,供以后升級或重新安裝時使用。
修改/etc/yum.conf即可:
[main]
cachedir=/home/softd/yumcache
keepcache=1
debuglevel=2
chchedir是放置下載的包的地方,可以修改為自己想放置的位置。
keepcache為1時表示保存已經下載的rpm包。
yum局域網軟件源搭建
1、搭建Apache服務器或ftp服務器
yum安裝或二進制包安裝
2、準備RPM包把CentOS的DVD1和DVD2.iso都下載下來,把DVD1.iso里的所有內容解壓出來,放到/var/www/html/centos-7目錄下,然后把DVD2.iso解壓出來的Packages目錄下的rpm包復制到/var/html/centos-7/Packages目錄下,這樣/var/html/centos-6/Packages里面就有了6000多個rpm包。
3、創建yum倉庫
準備createrepo:yum -y install createrepo
創建repository:createrepo /var/www/html/centos-7/
創建完成之后,會在/var/www/html/centos-7/repodata下生成一些文件。
4、使用軟件源
在其他centos機器上試試軟件源能不能用。
首先修改機器上軟件源配置文件:
#cd /etc/yum.repos.d/ #mkdir bk #mv *.repo bk/ #cp bk/CentOS-Base.repo ./ #vi CentOS-Base.repoCentOS-Base.repo文件修改之后如下:
[base] name=CentOS-$releasever - Base baseurl=http://*.*.*.*/centos-7/ gpgcheck=1(改成0下面那行就不用設置了) gpgkey=http:///*.*.*.*/centos-7/RPM-GPG-KEY-CentOS-7 enabled=1 #released updates #[updates] #name=CentOS-$releasever - Updates #baseurl=http:///*.*.*.*/centos-7/ #gpgcheck=1 #gpgkey=http:///*.*.*.*/centos-7/RPM-GPG-KEY-CentOS-7 #enabled = 1保存之后,就可以使用局域網的軟件源了:
#yum update
轉載于:https://blog.51cto.com/235571/2097654
總結
以上是生活随笔為你收集整理的五周第一次课(4月18日)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里云朱照远:AI打开新视界 8K时代已
- 下一篇: 泛型(比较杂 后期整理)