yum與rpm包

yum與rpm包
包命名和工具
包:分類和拆包
Application-VERSION-ARCH.rpm:主包
Application-devel-VERSION-ARCH.rpm 開發子包
Application-utils-VERSION-ARHC.rpm 其它子包
Application-libs-VERSION-ARHC.rpm 其它子包
包之間:可能存在依賴關系,甚至循環依賴
解決依賴包管理工具:
yum:rpm包管理的前端工具
apt-get:deb包管理器前端工具
zypper:suse上的rpm前端管理工具
dnf:Fedora 18+rpm包管理器前端管理工具
庫文件
查看二進制程序所依賴的庫文件
ldd /PATH/TO/BINARY_FILE
管理及查看本機裝載的庫文件
ldconfig
/sbin/ldconfig -p:顯示本機已經緩存的所有可用庫文件名及文件路徑映射關系
配置文件:/etc/id.so.conf./etc/ld.xo.conf.d/*.conf
緩存文件:/etc/ld.so.cache bao
包管理器
程序包管理器
功能:將編譯好的應用程序的各組成文件打包一個或幾個程序包文件,從而方便快捷地實現程序包的安裝,卸載,查詢,升級和校驗等管理操作
1,包文件組成(每個包獨有)
RPM包內的文件
RPM的元數據,如名稱,版本,依賴性,描述等安裝或卸載時運行的腳本
2,數據庫(公共):/var/lib/rpm
程序包名稱及版本
依賴關系
功能說明
包安裝后生成的各文件路徑及校驗碼信息
程序包的來源
管理程序包的方式
使用包管理器:rpm
使用前端工具:yum,dnf
獲取程序包的途徑;
程序發版的光盤或官方的服務器;
CentOS鏡像:
http://mirrors.aliyun.com
項目官方站點
第三方組織;
Fedira-EPEL;
Extra packages for Enterprise linux
Rpmforge:RHEL推薦,包
搜索引擎
http://pkgs.org
自己制作
注意:第三方包建議要檢查其合法性
來源合法性,程序包的完整性
rpm包管理
centOS系統上使用rpm命令管理程序包:
安裝,卸載,升級。查詢。校驗,數據庫維護
安裝:
rpm{-i|–install} [install-options] PACKAGE_FILE….
-V:verbose
-vv:
-h:以#顯示程序包管理執行進度
rpm -ivb PACKAGE_FILE…
[install-options]
–test:測試安裝,但不真正執行安裝,即dry run模式
–nodeps:忽略依賴關系
–replacepkgs | replacefiles
–nosignature:不檢查來源合法性
–nodigest:不檢查包完整性
–noscripts:不執行程序包腳本
%pre:安裝前腳本; –nopre
%post:安裝后腳本; –nopost
%preun:卸載前腳本; –nopreun
%postun:卸載后腳本; –nopostun
rpm包升級
升級:
rpm{-U|–upgrade} [install-options] PACKAGE_FILE…
rpm{-F|–freshen} [install-options] PACKAGE_FILE…
upgrade:安裝有舊版程序包,則”升級“
如果不存在舊版程序包,則“安裝”
freshen:安裝有舊版程序包,則“升級”
如果不存在舊版程序包,則不執行升級操作
rpm -Uvh PACKAGE_FILE…
rpm -Fvh PACKAGE_FILE…
–oldpackage:降級
–force:強制安裝
1.編寫 shell 腳本配置內網環境 yum 的 base 源和 epel 源。
#!/bin/bash
var_repoName=`echo $1 | cut -d “=” -f2`
var_repoUrl=`echo $2 | cut -d “=” -f2`
var_check=`echo $3 | cut -d “=” -f2`
cd /etc/yum.repos.d
echo “[$var_repoName]” >$var_repoName\.repo
echo “name=$var_repoName” >> $var_repoName\.repo
echo “baseurl=$var_repoUrl” >> $var_repoName\.repo
echo “gpgcheck=$var_check” >> $var_repoName\.repo
if [ $var_check -eq 1 ];then
echo “gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6” >> $var_repoName\.repo
fi
yumclean all
yummakecache
yumrepolist
2.編寫腳本使用 yum 安裝 編譯環境組包,然后安裝 tree 命令,使用 rpm 命令查看 tree 是否安裝成功,使用
rpm 命令查看 tree 安裝文件系統中的所以文件,使用 yum 刪除之前安裝的編譯環境組包。
#!/bin/bash
yumgroupinstall “Development tools” -y
yuminstall wget -y
rpm -qawget
rpm -ql wget
var_tag=`yum history | grep Install | head -2 | tail -1| tr -d ” ” | cut -d “|” -f1 `
echo $var_tag
yumhistory undo $var_tag -y
3.使用 yum 查詢包含 httpd 的軟件包,并且安裝。使用yum查看 httpd 是否安裝成功。然后使用 yum卸載 httpd
并查看是否卸載成功
yumlist “http*”
yuminfo httpd
yumwhatprovides “*bin/httpd”
yuminstall httpd -y
yumremove httpd

原創文章,作者:wangqiang,如若轉載,請注明出處:http://www.www58058.com/75049

(0)
wangqiangwangqiang
上一篇 2017-05-08
下一篇 2017-05-08

相關推薦

  • grep、egrep、vim練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及內部文件的屬組和其它用戶均沒有任何訪問權限。         [root@localhost ~]# install -d -m 600&nb…

    Linux干貨 2016-11-18
  • Centos7基于虛擬主機的Lamp配置bbs、Blog、PhpMyAdmin應用程序

    Centos7實現基于虛擬主機的各應用程序搭建: 一、配置三個基于名稱的虛擬主機;      (a) discuzX      (b) wordpress      (c) https: phpMyAdmin 1.安裝Lamp環境及安裝mo…

    Linux干貨 2016-10-09
  • N22-第四周

    1、復制/etc/skel目錄到/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel /home/tuser1~]# ll -d /home/tuser1drwxr-xr-x. 3 root root 74 Aug 31 10:13 /home/tuser1~]# ch…

    Linux干貨 2016-09-07
  • 馬哥教育網絡21期+第八周練習博客

    馬哥教育網絡21期+第八周練習博客 # 1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 集線器:工作于ISO模型的物理層,防止由于距離遠,信號衰減; 網橋:用來連接不同網段,隔離沖突域; 二層交換機:二層交換機一般做為了三層交換機以下,利用設備mac地址進行通信,可以劃分vlan,隔離廣播域; 三層交換機:用于核心數據轉發,不…

    Linux干貨 2016-09-05
  • 文件權限管理–詳解

    進程安全上下文 進程安全上下文:     進程對文件訪問權限應用模型     進程的屬主與文件的屬主是否相同,如果相同則運行屬主權限     進程的屬主與文件的屬主不相同,對比屬組權限是否相同,相同則應用屬組權限   &…

    Linux干貨 2016-08-04
  • 第一周作業

    描述計算機的組成及其功能。 由馮~諾伊曼提出計算機體系結構,計算機主要由控制器、運算器、存儲器、輸入設備、輸出設備五大硬件組成。 控制器(Controller):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。 運算器(Datapath):運算器的功能是對數據進…

    Linux干貨 2017-02-07
欧美性久久久久