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 21:31
下一篇 2017-05-08 21:32

相關推薦

  • 淺談linux基礎知識(二)

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 文件管理工具:cp,mv,rm cp命令:copy 源文件,目標文件 單源復制:cp[OPTION]… [-T] SOURCE DEST 多源復制: cp[OPTION]… SOURCE… DIRECTORY cp[OPT…

    Linux干貨 2016-10-12
  • 激情的魅力samba服務(熱舞篇)

    正如名稱一樣的迷人的一個服務,充滿了激情?;馃岬奶鞖庵懈砑右环旨聞?,本章就嘗試對下面火熱的samba服務是要如何破解并掌握于手心中。(本篇當中借鑒了鳥哥私房菜和linux就該這么學還有傳說中的中華小題庫,通過做題來對于samba進行初步的了解)后續還會添加一篇關于samba服務的文章,作為深度了解。 首先了解下samba的來源,聽說作者老道(Tridgwe…

    Linux干貨 2017-08-19
  • 馬哥教育網絡班21期-第7周課程練習

    第7周課程練習 創建一個10G分區,并格式為ext4文件系統; 添加一塊硬盤sdb 要求其block大小為2048,       預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; # mke2fs -t ext4 -b 2048 -L 'MYDATA' -m 2 # mount -o ac…

    Linux干貨 2016-10-09
  • lvs三種基礎模型

    1: LVS-DR 模式(調度器與實際服務器都有一塊網卡連在同一物理網段上)簡要的網絡結構如下所示 lvs-DR模型是lvs的默認模型,也是企業中用到的最多的模型    解讀:直接路由模型,每個Real Server上都有兩個IP:VIP和RIP,但是VIP是隱藏的,就是不能提高解析等功能,只是用來做請求回復的源IP的,Director上…

    Linux干貨 2016-08-15
  • Linux 文件系統權限

    一、簡述權限  文件系統的權限管理機制的建立,約束了用戶對數據的操作。 1、對系統安全而言  管理員的操作權限非常大,足以破壞系統,權限機制將管理員與普通用戶之間區分開,防止系統被隨意破壞。 2、對用戶而言  Linux是一個多用戶的操作系統,不同用戶間為了防止其他人破壞數據或訪問數據,文件系統的權限管理是非常必要的。 二、文件…

    Linux干貨 2016-08-04
  • 快速運用NFS共享web頁面

    環境:centos7.3最小化三臺,前期準備關閉防火墻和selinux 目的:通過文件共享,使客戶端訪問web服務器時是同樣的頁面。 拓撲圖: 優勢:減少WEB服務器的壓力。 一、安裝軟件 NFS、WEB1、WEB2: #yum install nfs-utils -y WEB1、WEB2: #yum install httpd -y 二、配置 NFS: #…

    2017-04-27
欧美性久久久久