linux学习笔记09软件包管理.docx
- 文档编号:15403853
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:20
- 大小:555.72KB
linux学习笔记09软件包管理.docx
《linux学习笔记09软件包管理.docx》由会员分享,可在线阅读,更多相关《linux学习笔记09软件包管理.docx(20页珍藏版)》请在冰点文库上搜索。
linux学习笔记09软件包管理
九、软件包管理
九.1软件包分类
九.1.1源码包(C语言编写的源代码)
✧linux主要由C语言来写。
✧源码包可以用写字板打开
✧脚本安装包:
源码包进行再开发的源码包(提供安装界面),安装程序install.sh
九.1.2二进制包(RPM包、系统默认包)
✧源码已编译,无法打开,安装快速。
✧windows程序的安装包也是二进制包
✧二进制包的依赖性:
安装一个软件包可能需要很多支持包。
九.2RPM命令管理——包命名及依赖性
九.2.1RPM包命名原则
九.2.2RPM包的依赖性
✧树形依赖:
a→b→c
✧环形依赖:
a→b→c→a
✧模块依赖:
查询网站
九.3RPM命令管理——包安装升级与卸载
九.3.1包全名与包名
✧包全名:
操作的包是没有安装的软件包时,使用包全名,并注意路径。
✧包名:
操作已经安装的软件包时,如搜索、卸载使用包名。
系统搜索/var/lib/rpm中的数据库。
九.3.2RPM安装
✧格式:
rpm–ivh包全名
-i(install):
安装
-v:
(verbose):
显示详细信息
-h:
(hash):
显示进度
--nodeps:
不检测依赖性
九.3.3RPM包升级
✧格式:
rpm–Uvh包全名
-U(upgrade):
升级
九.3.4RPM包卸载
✧格式:
rpm–e
-e(erase):
卸载
--nodeps:
不检查依赖性
九.4RPM命令管理——包的查询
九.4.1查询软件包是否安装
✧格式:
rpm–q包名
-q:
查询(query)
-qa:
查询所有
九.4.2查询软件包的详细信息
✧格式:
rpm–qi包名
-i:
查询软件信息(information)
-p:
查询未安装包信息(package)
九.4.3查询包中文件安装位置
✧格式:
rpm–ql包名
-l:
列表(list)
-p:
查询未安装包信息(package)
九.4.4查询系统文件属于哪个RPM包
✧格式:
rpm–qf系统文件名
-f:
查询系统文件属于哪个软件包(file)
九.4.5查询软件包的依赖性
✧格式:
rpm–qR包名
-R:
查询软件包的依赖性(requires)
-p:
查询未安装包信息(package)
九.5RPM命令管理——校验和文件提取
九.5.1RPM包校验
✧格式:
rpm–V已安装的包名
-V:
校验指定RPM包中的文件(verify)
✧输出结果释义:
文件类型:
九.5.2RPM包中文件提取
✧格式:
rpm2cpio包全名|cpio–idv.文件绝对路径(linux中有时2近似to,一行命令写不下用\连接)
rpm2cpio:
将rpm包转换为cpio格式的命令
✧cpio:
是一个标准工具,用于创建软件档案文件和从档案文件中提取文件
格式:
cpio选项<[文件|设备]
-i:
copy-in模式,还原、提取
-d:
还原时自动新建目录
-v:
显示还原过程
九.6yum在线管理——网络yum源
九.6.1yum简介
✧yum全称为YellowdogUpdater,Modified,是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。
基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
九.6.2yum源配置文件解析
[root@localhost~]#cd/etc/yum.repos.d#yum源配置文件夹
[root@localhostyum.repos.d]#ll
总用量16
-rw-r--r--.1rootroot192611月272013CentOS-Base.repo
-rw-r--r--.1rootroot63811月272013CentOS-Debuginfo.repo
-rw-r--r--.1rootroot63011月272013CentOS-Media.repo
-rw-r--r--.1rootroot366411月272013CentOS-Vault.repo
[root@localhostyum.repos.d]#catCentOS-Base.repo#查看yum源配置文件
#CentOS-Base.repo
#
#ThemirrorsystemusestheconnectingIPaddressoftheclientandthe
#updatestatusofeachmirrortopickmirrorsthatareupdatedtoand
#geographicallyclosetotheclient.YoushouldusethisforCentOSupdates
#unlessyouaremanuallypickingothermirrors.
#
#Ifthemirrorlist=doesnotworkforyou,asafallbackyoucantrythe
#remarkedoutbaseurl=lineinstead.
#
#
[base]
name=CentOS-$releasever-Base
mirrorlist=http:
//mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=os
#baseurl=http:
//mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:
///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
#releasedupdates
[updates]
name=CentOS-$releasever-Updates
mirrorlist=http:
//mirrorlist.centos.org/?
release=$releasever&arch=$basearch&repo=updates
#baseurl=http:
//mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:
///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
…
九.7yum在线管理——常用yum命令
九.7.1查询命令
✧查询yum服务器上所有可用软件包列表:
yumlist
✧搜索yum服务器上所有和关键字相关的包:
yumsearch关键字
九.7.2安装命令
✧格式:
yum–yinstall包名
install:
安装
-y:
自动安装
九.7.3升级命令
✧格式:
yum–yupdate包名
✧不加包名意味升级整个系统,远程登录慎用
九.7.4卸载命令
✧格式:
yum–yremove包名
✧卸载本身包的同时也卸载依赖包,慎用
九.7.5yum软件组管理命令
✧yumgrouplist#列出所有可用的软件组列表
✧yumgroupinstall软件组名#安装指定软件组,组名可由grouplist查询
软件组名如含有空格加双引号
✧yumgroupremove软件组名#卸载指定软件组
九.8yum在线管理——光盘yum源搭建
九.8.1挂载光盘
[root@CZ~]#mount/dev/sr0/mnt/cdrom
mount:
blockdevice/dev/sr0iswrite-protected,mountingread-only
[root@CZ~]#cd/mnt/cdrom
[root@CZcdrom]#ll
总用量682
-r--r--r--.2rootroot1411月292013CentOS_BuildTag
dr-xr-xr-x.3rootroot204811月292013EFI
-r--r--r--.2rootroot21211月282013EULA
-r--r--r--.2rootroot1800911月282013GPL
dr-xr-xr-x.3rootroot204811月292013images
dr-xr-xr-x.2rootroot204811月292013isolinux
dr-xr-xr-x.2rootroot65536011月292013Packages
-r--r--r--.2rootroot135411月282013RELEASE-NOTES-en-US.html
dr-xr-xr-x.2rootroot409611月292013repodata
-r--r--r--.2rootroot170611月282013RPM-GPG-KEY-CentOS-6
-r--r--r--.2rootroot173011月282013RPM-GPG-KEY-CentOS-Debug-6
-r--r--r--.2rootroot173011月282013RPM-GPG-KEY-CentOS-Security-6
-r--r--r--.2rootroot173411月282013RPM-GPG-KEY-CentOS-Testing-6
-r--r--r--.1rootroot338011月292013TRANS.TBL
九.8.2让网络yum源配置文件失效
✧通过改变配置文件扩展名实现,也可修改配置文件enable值实现
[root@CZyum.repos.d]#ll
总用量16
-rw-r--r--.1rootroot192611月272013CentOS-Base.repo
-rw-r--r--.1rootroot63811月272013CentOS-Debuginfo.repo
-rw-r--r--.1rootroot63011月272013CentOS-Media.repo#光盘yum源
-rw-r--r--.1rootroot366411月272013CentOS-Vault.repo
[root@CZyum.repos.d]#mvCentOS-Base.repoCentOS-Base.repo.bak#改名
[root@CZyum.repos.d]#mvCentOS-Debuginfo.repoCentOS-Debuginfo.repo.bak
[root@CZyum.repos.d]#mvCentOS-Vault.repoCentOS-Vault.repo.bak
[root@CZyum.repos.d]#ll
总用量16
-rw-r--r--.1rootroot192611月272013CentOS-Base.repo.bak
-rw-r--r--.1rootroot63811月272013CentOS-Debuginfo.repo.bak
-rw-r--r--.1rootroot63011月272013CentOS-Media.repo
-rw-r--r--.1rootroot366411月272013CentOS-Vault.repo.bak
九.8.3修改光盘yum源配置文件
[root@CZyum.repos.d]#vimCentOS-Media.repo
[c6-media]
name=CentOS-$releasever-Media
baseurl=file:
///mnt/cdrom#地址为光盘的挂载点
#file:
///media/cdrom/
#file:
///media/cdrecorder/#注释这两个不存在的地址,linux中配置文件的格式有严格要求\(连接符)否则出错,这里#应顶格书写
#加个注释
gpgcheck=1
#后面加试试
gpgcheck=1
enabled=1#修改值0为1,让这个yum源配置文件生效
gpgkey=file:
///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
九.8.4用yum安装RPM包的gcc
[root@bogon~]#rpm-qgcc#查询gcc包有没有被安装
packagegccisnotinstalled
[root@bogon~]#mount/dev/sr0/mnt/cdrom#挂载安装光盘
mount:
blockdevice/dev/sr0iswrite-protected,mountingread-only
[root@bogon~]#ls/mnt/cdrom
CentOS_BuildTagimagesrepodataRPM-GPG-KEY-CentOS-Testing-6
EFIisolinuxRPM-GPG-KEY-CentOS-6TRANS.TBL
EULAPackagesRPM-GPG-KEY-CentOS-Debug-6
GPLRELEASE-NOTES-en-US.htmlRPM-GPG-KEY-CentOS-Security-6
[root@bogon~]#yum-yinstallgcc#安装gcc包
Loadedplugins:
fastestmirror,security
Loadingmirrorspeedsfromcachedhostfile
…
Installed:
gcc.x86_640:
4.4.7-4.el6
DependencyInstalled:
cloog-ppl.x86_640:
0.15.7-1.2.el6cpp.x86_640:
4.4.7-4.el6mpfr.x86_640:
2.4.1-6.el6
ppl.x86_640:
0.10.2-11.el6
Complete!
九.9源码包管理
九.9.1源码包和RPM包的区别
✧安装之前的区别:
概念上的区别
✧安装之后的区别:
安装位置不同
九.9.2RPM包安装位置
RPM包安装在默认位置
/etc/
配置文件安装目录
/usr/bin/
可执行的命令安装目录
/usr/lib/
程序所使用的函数库保存位置
/usr/share/doc/
基本的软件使用手册保存位置
/usr/share/man/
帮助文件保存位置
九.9.3源码包安装位置
✧安装在指定位置,一般是/usr/local/软件名/
九.9.4安装位置不同的影响
✧RPM包安装的服务可以使用系统服务管理(启动、停止、重启动)命令(service)来管理。
RPM包安装的apache的启动方法:
/etc/rc.d/init.d/httpdstart#linux中大多数可执行文件、程序应用绝对路径启动
或servicehttpdstart启动(redhat专有命令)
✧源码包安装的服务由于未安装至默认路径不能被服务管理命令管理,而只能用绝对路径进行服务管理
如:
/usr/local/apache2/bin/apachect1start
九.9.5物理机访问开启httpd后linux主机
✧安装RPM包的httpd
✧确认linux主机防火墙开启80端口
[root@bogonhtml]#vi/etc/sysconfig/iptables
#Firewallconfigurationwrittenbysystem-config-firewall
#Manualcustomizationofthisfileisnotrecommended.
*filter
:
INPUTACCEPT[0:
0]
:
FORWARDACCEPT[0:
0]
:
OUTPUTACCEPT[0:
0]
-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
-AINPUT-picmp-jACCEPT
-AINPUT-ilo-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport22-jACCEPT
-AINPUT-mstate--stateNEW-mtcp-ptcp--dport80-jACCEPT#添加开启80端口
-AINPUT-jREJECT--reject-withicmp-host-prohibited
-AFORWARD-jREJECT--reject-withicmp-host-prohibited
COMMIT
[root@bogonhtml]#/etc/init.d/iptablesrestart#重启防火墙
iptables:
将链设置为政策ACCEPT:
filter[确定]
iptables:
清除防火墙规则:
[确定]
iptables:
正在卸载模块:
[确定]
iptables:
应用防火墙规则:
[确定]
✧修改/etc/httpd/conf/httpd.conf文件相关字段
#ServerName:
80#原有被注释掉的字段,修改这里注释的书写格式
#
ServerNamelocalhost:
80#添加字段
[root@bogonhtml]#/etc/rc.d/init.d/httpdrestart#重启httpd
停止httpd:
[确定]
正在启动httpd:
[确定]
✧从浏览器通过linux主机ip访问主机
九.10源码包的安装(以安装源码包httpd为例)
九.10.1安装准备
✧安装C语言编译器(gcc)
✧下载源码包
九.10.2安装注意事项
✧源代码保存位置:
/usr/local/src/
✧软件安装位置:
/usr/local/
✧如安装过程停止并出现error、warning或no的提示则表示系统提示安装出错
九.11源码包安装过程
九.11.1从windows主机中使用Winscp传输下载的源码包至linux主机
九.11.2解压缩源码包
九.11.3进入解压缩目录
九.11.4检查安装包中的INSTALL(安装说明)、README(使用说明)文件
INSTALL文件中指定了源码包的安装步骤
[root@bogonhttpd-2.2.31]#viINSTALL
APACHEINSTALLATIONOVERVIEW
QuickStart-Unix
------------------
Forcompleteinstallationdocumentation,see[ht]docs/manual/install.htmlor
http:
//httpd.apache.org/docs/2.2/install.html
$./configure--prefix=PREFIX#软件配置与检查
$make#编译
$makeinstall#编译安装
$PREFIX/bin/apachectlstart#启动安装的软件
…
九.11.5./configure:
软件配置与检查
✧定义需要的功能选项(如软件安装位置等)
✧检测系统环境是否符合安装要求
✧把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续编辑
✧./configure执行结束生成Makefile文件
九.11.6make:
编译
✧调用gcc把httpd从源码包编译成机器语言
九.11.7makeclean:
清空临时编译文件
✧如前两步报错可执行此步骤
九.11.8makeinstall:
编译安装
九.11.9启动安装的软件
./configure--prefix=/usr/local/apache2
…
[root@bogonhttpd-2.2.31]#make
…
[root@bogonhttpd-2.2.31]#makeinstall
…
[root@bogonhttpd-2.2.31]#servicehttpdstop#停止RPM包httpd服务
停止httpd:
[确定]
[root@bogonhttpd-2.2.31]#/usr/local/apache2/bin/apachectlstart
httpd:
Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using220.250.64.225forServerName#虽然报错并不影响使用
九.12源码包的卸载
✧不需要卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件
✧源码包安装的软件经由编译更适合本机使用,执行效率更高,适合提供对外高负荷的系统服务。
RPM包使用简单,一般对内服务软件采用RPM包安装。
[root@bogonhttpd-2.2.31]#/usr/local/apache2/bin/apachectlstop
httpd:
Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using220.250.64.225forServerName
[root@bogonhttpd-2.2.31]#rm-rf/usr/local/apache2
[root@bogonhttpd-2.2.31]#ls/usr/local
binetcgamesincludeliblib64libexecsbinsharesrc
九.13脚本安装包
✧脚本安装包常见安装的是源码包,安装过程写成了自动安装的脚本,执行setup.sh就可以完成安装,执行uninstall.sh进行卸载。
✧Webmin安装与卸载
[root@bogonwebmin-1.710]#./setup.sh#解压缩并进入解压目录运行setup.sh
…
C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 学习 笔记 09 软件包 管理