
•1、二进制软件包管理•2、
源代码包安装•3、Debian 系LInux
软件包管理二进制包介绍二进制包下载二进制包管理
•二进制:定制性差、无法指定安装目录、不跨平台、安装方便、不同的平台安装命令不一样
•源代码包:定制性好、跨平台、安装比较麻烦。
•如何选择?
•1、安装、升级、卸载yum
•yum install / update / remove -y 软件包
•2、查询、校验、提取文件rpm
•查询:rpm -q / -a / -f / -i / -p / -l
•query all file information package list
•校验:rpm -V / -Vf
•提取文件:rpm2cpio二进制软件包介绍•sudo-1.7.2pl-5.el5.i386.rpm
•软件名-版本号-发行号-CPU.rpm
•注意:版本号前面的都是软件名
•平台:CPU:x86、alpha、ppc(powerpc)•各种86可以通用二进制软件包下载•下载二进制软件包
•1、Linux系统官网www.centos.org •2、软件官网www.apache.org •3、知名网站mirrors.163.com
www.rpmfind.net •4、光盘安装,需要挂载
•mount /dev/cdrom /mnt/cdrom
•取消挂载:
•umount 挂载点二进制软件包管理
•RPM方法•yum方法
安装
升级、卸载
查询
校验
提取文件
RPM主要应用于:
查询、校验、提取文件rpm
yum主要应用于:
定制性比较强的软件的安
装、升级、卸载
yum源
安装、升级、卸载
问题RPM方法二进制包安装1、如果是从光驱安装先挂在
mkdir /mnt/cdrom
mount /dev/cdrom
mnt/cdrom
2、查询是否已经安装
rpm -q sudo
rpm -qa | grep samba
因为有的像samba这样的软件
同时安装了好几个软件包,得
这么查才能够查完全
3、[root@localhost CentOS]# rpm -i sudo-1.7.2p1-5.el5.i386.rpm
RPM二进制包安装出现问题
•A软件包已经安装
[root@localhost CentOS]# rpm -i sudo-1.7.2p1-5.el5.i386.rpm package sudo-1.7.2p1-5.el5.i386 is already installed
如果需要覆盖只用则加选项--replacepkgs
B文件冲突,该包已在安装别软件包已安装
忽略办法:加选项--replacefiles
C文件依赖关系,需要安装相关软件包
这个时候系统会提示你需要安装哪些软件包,
解决办法:增加选项--nodeps强制安装RPM二进制包升级、卸载•升级使用选项-U
•[root@localhost CentOS]# rpm -U sudo-1.7.2p1-5.el5.i386.rpm •卸载使用选项-e
•[root@localhost CentOS]# rpm -e sudoRPM查询
•选项:
•-a所有安装的软件包
•-f查询软件所属软件包
•-p查询软件包
•-i显示软件包信息
•-l显示软件包安装文件列表
•-d显示标注为文档的文件列表•-c显示标注为配置文件的文件列表
RPM 查询案例1、查询软件包是否安装•
[root@localhost CentOS]#rpm -q sudo •
sudo-1.7.2p1-5.el5•
2、查询文件隶属软件包•
[root@localhost CentOS]#rpm -qf /etc/inittab •
initscripts-8.45.30-2.el5.centos •
3、查询软件包信息•
rpm -qi sudo 或者rpm -qip sudo-1.7.2p1-5.el5.i386.rpm4、•
4、查询软件包安装文件•
[root@localhost CentOS]# rpm -ql sudo//显示一大推•
5、查询软件包帮助文档•
[root@localhost CentOS]# rpm -qd sudo •
6、查询软件包配置信息•[root@localhost CentOS]# rpm -qc sudo
有的软件不知一个包比如samba 这个时候需要这样rpm -qa | grep samba
RPM 软件校验
•1、校验软件
rpm -V 软件名rpm -Vf 文件名
5软件的md5校验值改变了
S 文件的大小被改变L 链接文件T 文件的创建时间更改
D 设备文件
U 文件的所有者被更改
G 文件的所属组被更改
M 文件的权限被更改
rpm 软件包在系统中安装的时候会自动生成一个库当这个软件的属性被修改的时候都回去更新这
个库,当调用rpm -V 的时候会生成校验码和之前的比较,如果不一致就会显示出被修改的信息
RPM 软件校验
•eg :
•[root@localhost ~]# rpm -Vf sudo
•S.5....T c /etc/sudoers 文件的校验
[root@localhost ~]# md5sum test
8d91e343c13a665b94a86c22d5088ea5 test 注意:如果过短时间要查看这个文件有没有被修改就再次生成一个md5校验值对比一下。表示文件的md5值,大小和修改时间都改变了
RPM软件包提取
•假如软件的配置文件或者其他文件被删除了,可以通过提取软件包文件的方式修复
•语法:rpm2cpio 软件包名| cpio -idv .文件绝对路径-i:安装-d保持目录结构-v显示信息
eg:/etc/inittab文件删除了,怎么修复
[root@localhost ~]# rpm2cpio /mnt/cdrom/CentOS/initscripts-
8.45.30-2.el5.centos.i386.rpm | cpio -idv ./etc/inittab
[root@localhost ~]#cp ./etc/inittab /etc/inittab
注意这里的目录结构要用一个
点连接需要回复文件的绝对路
径,然后再把文件拷贝到原来
的位置。
yum源
•yum源在/etc/yum.repos.d下,有两个源
•[root@localhost /]# ls -l /etc/yum.repos.d/
•-rw-r--r--1 root root 2245 2010-04-26 CentOS-Base.repo
•-rw-r--r--1 root root 626 2010-04-26 CentOS-Media.repo
•说明:
•第一个CentOS-Base.repo是互联网上是yum源
•第二个CentOS-Media.repo是本地的yum源
•默认是执行的第一个互联网上的yum源,所有如果需要制定本地的•yum源,那么要把互联网的源删除或者拷贝到其他地方。当然也可以不拷贝但是需要别是运行命令或者设置别名,下一页有讲解设置yum源
如果不把互联网闪哪个yum源配置文件拷贝走的话,运行的时候需要这样才可以。yum --disablerepo=\\* --enablerepo=c5-media install xxx
当然可以设置别名来取代
alias yum= yum --disablerepo=\\* --enablerepo=c5-media
当然这样重启就不生效了,需要写入到系统的配置文件
/etc/bashrc 添加到最后一行。
本地yum源
把图1改为图2,就改动两行yum安装、升级、卸载
•1、安装yum install -y sudo //-y不询问•2、检查升级yum check -update
•3、升级yum update sudo
•4、软件包查询yum list
•5、软件包信息yum info
•6、卸载yum remove sudo
•7、帮助yum -help、man yumyum安装错误
•yum install 安装时可能会提示其他应用程序yum-updatesd正在执行yum锁定的错误。•Another app is currently holding the yum lock;waiting for it to exit...
The other application is :yun-updatesd-he
Memory:14M RSS(26 MB VSZ)
Started:Tue Aug 9 16:20:21 2011-20:59 ago
State: Sleeping,pid;4253
这个时候只需要关闭更新程序即可
先查看更新进程ps -le | grep yum-updatesd
关闭进程kill 进程id
源代码包安装
•1 、标准(解包解压之后有config文件)•解压解包、配置、编译、安装
•2、非标准
•主要针对java或者shell写的软件,没有configure文件,一定有README或者INSTALL文件,查看就知道怎么搞了。
源代码标准安装
加压解包
配置
编译make
安装make install
因为源代码包定制性很强,所以在配
置的时候会经常设置一些选项,每个
包的配置选项不一样,可以通
过:./configure --hlep | grep pdo
此为查找mysql 安装是配置支持pdo 注意这里必须要有这个点,因为不写的话系统会到默认的环境变量中去找confgure $PATH 从这里开始检测系统安装环境,生成编译文
件,这个过程中出现一些no 没关系,只要没
有异常退出就行,这个过程中如果是c 写的软
件需要gcc 编译器,c++的就需要gcc-c++
判断安装是否成功:
a查看安装目录,b尝试启动服务
c安装是否出现异常,不能够使用rpm来检查启动服务:
因为源代码包所有的文件都会放在指定的安装目录下,所以/etc/rc.d/init.d下没有启动脚本,就不能够使用service来启动服务。直接输入脚本的名称就可以启动脚本,停止需要kill进程卸载软件:
1、kill 进程
2、删除整个安装文件rm -rf ....源代码非标准安装
•1、加压解包软件包
•2、查看README或INSTALL文件
•3、根据提示做出相应的回答,和xp的差不多了只是这里是在控制台。
