软件包管理
文章目录
一、了解linux中的应用程序:
1.系统的组成:硬件、系统、内核、shell解释器、应用程序
应用程序:APP、安装在OS上完成特定功能的软件
2.linux应用程序的类型:
1 2 3 4 5 6 7 8 |
*.rpm ##redhat系统默认的软件格式(使用了二进制的文件格式,代码相对来说比较封闭) rpm软件包名称格式:软件名-版本-发布次数-os平台-硬件平台(32bit/64bit).rpm 硬件平台:32位:i386、i586、i686 64位:x86.64 不区分硬件架构:noarch *.deb ##debian分支默认的软件格式 源码软件 ##通用软件格式,压缩格式(xz、gz、bz2)的文件,也是生成rpm等包的基础 自带安装程序或免安装软件 |
3.程序文件存放位置:
1 2 3 4 5 |
/etc/ ##rpm包的配置文件 /var/log/ ##日志文件 /usr/share/doc/ ##软件的说明文档 /usr/bin/ ##普通用户可运行的程序命令 /usr/sbin/ ##root可运行的程序命令 |
二、rpm命令管理软件包;
1.了解rpm;
rpm是redhat推出的包管理机制,用来管理(增删改查)软件包,rpm对于软件包的依赖关系处理时,选择忽略;
2.查询功能;
rpm -qa
##查询当前系统安装的所有rpm包rpm -ql
软件名 ##查询软件包的所有有关文件rpm -qi
软件名 ##查看软件包的详细信息rpm -qf
文件名 ##查看此文件由哪个软件包提供的
3.安装、卸载、升级rpm软件包;
安装:
rpm -ivh
软件包的路径 --nodeps ##忽略依赖关系进行安装软件包,举例:包vsftpd
升级:
rpm -F
软件包的路径 ##为已安装的软件包升级rpm -U
软件包的路径 ##为已安装的软件包升级,若未安装进行安装
卸载:
rpm -e
软件包名 --nodeps ##忽略依赖关系并进行卸载,常用
4.特殊用法:
--force
:强制安装,当已经安装的软件的文件丢失或者被损坏时用到,或系统中以存在新版本需要安装旧版本时;--nodeps
:忽略依赖关系,安装或卸载时用到;--import
:导入iso的公钥(检查包的合法性和完整性,不导入会在安装时报warning)
三、yum命令管理软件包;
1.yum概述:C/S架构
服务端
:为客户端提供软件包的源,可以理解为一个服务站,可以使用ftp文件服务器提供yum的源,或者http(apache、 nginx)提供基于web的源,或者是本地file上传的文件;客户端
:使用yum命令安装软件包
2.yum服务端的搭建:
将软件包集中在服务端的某个目录下; createrepo -g /mnt/repodata/repomd.xml ./软件包位置
3.yum的客户端的配置;
客户端使用yum命令进行安装、卸载、查找软件;
1).yum命令系统自动安装,可以通过以下命令进行查看;
enable yum
//查看yum命令是外部命令还是内部命令which yum
//查看外部命令的位置yum provides */yum
//查看yum命令的提供软件包
2).配置yum仓库,源的文件;
mount /dev/cdrom /mnt
//在虚拟机中将光盘镜像文件挂在到/mnt目录下rm -rf /etc/yum.repos.d/*
vi /etc/yum.repos.d/centos.repo
1 2 3 4 5 6 7 8 9 |
[local] //自定义名称,标记 name=local //是对repo文件的描述 baseurl=file:///mnt //yum服务器的访问路径,可以指定多个; enabled=1 //为1代表开启此源,为0代表关闭此源,关闭后yum 默认不会找到此源,需要使用yum --enablerepo= 名称; gpgcheck=0 //为0代表不进行gpg公钥的检查,为1代表进行检查,为了保证软件包的完整性,rpm --import 公钥 目录,进行导入公钥; gpgkey=file:/// //指定软件校验公钥的存放位置 :wq |
yum源支持的协议:
file:///mnt/
3).yum的配置文件;
1 2 3 4 |
/etc/yum.conf //主配置文件,主要了解以下配置项: keepcache=0 //将安装的软件包缓存到本地一份; cachedir=/var/cache/yum/$basearch/$releasever //指定缓存软件包的路径; logfile=/var/log/yum.log //yum的日志文件 |
## 4.yum的用法(增删改查): 查(查找):
yum list
//查看所有软件包yum repolist
//列出可用yum源yum search 软件名(关键字)
//查找软件yum grouplist
//列出所有可安装的yum源的软件组yum groupinfo "软件组名"
//查看软件组中软件包yum provides */命令
//查看提供此命令的软件包
增(安装):
yum -y install 软件包名
yum -y groupinstall 软件组名
删(卸载):
yum -y remove 软件包名
yum -y erase 软件包名
yum -y groupremove 软件组名
改(修改yum本身):
yum clean all
//清空yum的所有缓存,出错常用yum -y update
//更新系统,升级所有包,改变软件设置和系统设置,系统版本内核都升级yum -y upgrade
//升级所有包,不改变软件设置和系统设置,系统版本升级,内核不改变
四、源代码包的管理;
1.为什么要用源码安装;
部分软件无rpm包 源码包是最新的,可以得到新功能和补丁 源码编译安装实现功能定制,满足企业需求
2.源码包编译安装的流程;
- wget或lftp形式下载源码包安装文件(也可以在windows中下载,完成后上传到linux中);
- 解压软件包,通常包的格式都为.tar.gz或.tar.bz2,通常都解压到/usr/src/目录下;
- 配置安装目录,定制功能,由./configure --prefix=安装目录 ... 命令来完成;
- 编译:生成二进制可执行文件,make命令来完成;
- 安装:复制文件到系统目录中,make install 命令来完成;
- 修改配置,启动服务,测试,投入使用;
3.源码安装的条件;
源代码编译安装必须要安装的两个工具:make、gcc(包含在装系统时,开发工具包中)
4.编译安装的卸载;
删除安装目录即可;