首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
系统相关
> 详细
Linux基础(五):软件包
时间:
2015-06-17 11:34:33
阅读:
309
评论:
0
收藏:
0
[点我收藏+]
标签:
软件
二进制
yum包
rpm包
源码包
一、软件包管理简介
(一)软件包分类
1、源码包:(绝大部分是c,c++)
脚本安装包
2、二进制包(源码经过编译之后的,linux的安装基本都是二进制包)
RPM包(redhat系才有)
系统默认包
(二)源码包
1、优点:
开源,可以修改源代码
可以自由选择所需的功能
软件是编译安装,更加稳定效率更高
卸载方便(删除源码包的安装文件)
2、缺点
安装步骤较多,容易出错
编译时间长,比二进制安装时间长了
编译安装,安装过程中一旦报错新手很难解决
(三)二进制包
1、优点
包管理系统简单,只需要几个命令就可以实现包的安装、升级、查询、卸载。
安装速度快,因为已经编译过了。
2、缺点
看不到源码
功能选择步入源码包灵活
依赖性,A依赖B依赖C,安装卸载的顺序需要正确
二、rpm命令管理
(一)rpm包命名原则和依赖性
1、命名规则:httpd-2.2.15-39.el6.centos.x86_64.rpm,包全名
httpd:软件包名
2.2.15:版本
39:软件发布次数
el6.centos:适合的Linux 平台
x86_64:适合的硬件平台
rpm:rpm包扩展名
2、依赖性
树形依赖:a-->b-->c
环形依赖:a-->b-->c-->a
模块依赖:查询网站,
www.rpmfind.net
so.2结尾,属于库依赖,需要去
www.rpmfind.net
查询属于什么包。
(二)安装升级与卸载
1、包名与包全名
包全名:操作未安装的包,且注意路径。
包名:操作已经安装的软件包。是搜索/var/lib/rpm/中的数据库。
2、RPM安装
1)语法:
rpm -ivh
包全名
-i(install):安装
-v(verbose):显示详细信息
-h(hash):显示进度
--nodeps:不检测依赖X,建议检测依赖
2)实例
挂载处理:
新建挂载点:mkdir mnt/cdrom
挂载处理:mount -t iso9660 /dev/sr0 /mnt/cdrom
安装
rpm -ivh httpd-2.2.15-39.el6.centos.x86_64.rpm
需要使用包全名,可以使用 TAB 键补全
因为有依赖,所以比较麻烦(简直想死)。需要使用 yum 命令解决
3、RPM升级
1)语法:
rpm -Uvh
包全名
-U(upgrade):升级
4、卸载
1)语法:
rpm -e
包名
-e(erase):卸载
--nodeps:不检查依赖性
2)注意
rpm -e httpd
使用包名,因为是搜索后台数据库。
(三)rpm查询
1、查询是否安装
1)语法:
rpm -q
包名:查询包是否安装
-q(query):查询
rpm -qa
:查询所有已经安装的RPM包
-a(all):所有
2)实例
rpm -q httpd:查询httpd 是否安装
rpm -qi httpd:
查询httpd详情,i是详细信息
rpm -qa:列出所有
rpm -qa | grep httpd:所有的搜索查询,然后利用管道符检索
2、查询软件包详细信息
1)语法:
rpm -qi
包名
-i:查询软件信息
-p:查询未安装包信息,加包全名
2)实例
rpm -qi httpd:查询httpd详情
rpm -qip httpd-2.2.15-39.el6.centos.x86_64.rpm:查询未安装的包信息
3)rpm包在组建软件包的时候,就规定好了。所以在可以查询未安装的信息,未安装的安装规则位置等等
。
3、查询包中文件安装位置
1)语法:
rpm -ql
包名
-l:列表(list)
-p:查询未安装包信息,加包全名
2)实例
rpm -ql httpd:查询httpd
rpm -qlp httpd-2.2.15-39.el6.centos.x86_64.rpm:查询未安装的包信息
4、查询系统文件属于哪个RPM包
1)语法:
rpm -qf
系统文件名
-f:查询系统文件属于哪个软件包(file)
2)实例
rpm -qf man.config
5、查询软件包的依赖性
1)语法:
rpm -qR
包名
-R:查询软件包的依赖性(requires)
-p:查询未安装包的信息
2)实例
rpm -qR httpd
rpm -qR httpd-2.2.15-39.el6.centos.x86_64.rpm
(四)校验和文件提取
1、rpm包校验
1)语法:
rpm -V
已安装的包名
-V:校验指定rpm包中的文件(verify)
2)实例
rpm -V httpd
3)校验内容是否修改
8个内容信息
文件类型
2、rpm包中文件提取
1)语法:
rpm2cpio
包全名
| cpio -idv
.
文件绝对路径
rpm2cpio
:将rpm包转换为cpio格式的命令
cpio
:是一个标准工具,它用于创建文档和从档案文件中提取文件
cpio 【选项】<【文件】【设备】
-i:copy-in 模式,还原
-d:还原时自动新建目录
-v:显示还原过程
一行输不下,使用 "\"
2)实例
三、yum在线管理
(一)IP地址配置和网络yum源
1、IP地址配置
1)使用setup工具:
setup
2)启动网卡:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
把ONBOOT="no"改为 ONBOOT="yes"
3)重启网络服务:
service network restart
2、网络yum源(默认就是好用的)
1)
ls /etc/yum.repos.d
CentOS-Base.repo,默认是生效的
CentOS-Media.repo,没有网络,光盘就要生效这个
2)
vi /etc/yum.repos.d/CentOS-Base.repo
[base]:容器名称,一般要放在【】中
name:容器说明,可以自己随便写
mirrorlist:镜像站点,这个可以注释掉
baseurl:我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的。也可以修改成国内的,速度会比较快。
enabled:此容器是否生效,如果不写或者写成emabled=1都是生效,写成enabled=0是不生效。
gpgcheck:如果是 1 是指RPM的数字证书生效,0 则是不生效。
gpgkey:数字证书的公钥文件保存位置。不用修改。
(二)yum命令
1、查询
1)
yum list
:查询所有可用软件包列表
从远程服务器上查询,前提是 linux 可以连接互联网 。就是网络yum源配置好的地址。
yum list | more:分屏显示
2)
yum search + 关键字
:搜索服务器上所有和关键字相关的包
yum search httpd:搜索httpd包
2、安装:
1)语法:
yum -y install + 包名
install
:安装
-y
:自动回答yes
2)实例:
yum -y install gcc:gcc是c语言编辑器,安装源码包的时候,必须有gcc。
rpm -q gcc:查看是否安装好
3、升级:
yum -y update + 包名
不加软件包,会全部升级,包括linux内核也会升级(会死的)
4、卸载:
yum -y remove + 包名
不加软件包,会级联删除,会出问题的。
不要使用yum 升级与卸载,不安全。
5、yum软件组管理命令
yum grouplist
:列出所有可用的软件组列表
yum groupinstall + 软件组名
:安装指定软件组,组名可以由grouplist查询出来
yum groupremove + 软件组名
:卸载指定软件组
(三)光盘yum源
1、步骤
1)挂载光盘
新建挂载点:mkdir mnt/cdrom
挂载处理:mount -t iso9660 /dev/sr0 /mnt/cdrom
2)修改网络yum源失效:
修改后缀,如把
CentOS-Base.repo 改为
CentOS-Base.repo.bak
CentOS-Base.repo,默认是生效的
其他的都修改
CentOS-Media.repo,没有网络,
光盘yum源。
或者进入文件,修改生效标志,enabled=0
3)修改光盘yum源文件
baseurl=
file:///mnt/dcrom
:地址为光盘的挂载地址,自己定义。注释掉其他的yum源
gpgcheck=1:证书有效
enabled=1:生效
四、源码包管理
(一)源码包与RPM包的区别
1、区别:
安装之前的区别:概念上的区别
安装之后的区别:安装位置不同
2、RPM 包安装位置
安装在默认位置中,不建议手动修改。
3、源码包安装位置
安装在指定位置中,一般是:
/user/local/软件名/
4、安装位置不同带来的影响
1)RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM安装包的apache的启动方法是
/etc/rc.d/init.d/httpd start:绝对路径中启动
service
httpd start:使用 service 命令管理
service network restart,reahat特有命令
service: 是固定去系统默认的路径中查找,不会搜索local路径
所以只能管理RPM包
2)源码包只能使用绝对路径进行服务的管理:
/user/local/apache2/bin/paachectl start
(二)源码包安装过程:略
五、脚本安装包
(一)脚本安装包
1、简介:
脚本安装包并不是独立的软件包类型,常见安装的是源码包
是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。
非常类似于windows下软件的安装方式
2、Webmin的作用
Webmin 是一个基于web的 linux 系统管理界面。可以通过图形化的方式设置用户账号、apache、DNS、文件共享等服务。
3、Webmin安装过程
du
-sh webmin-1.610:查看大小
Linux基础(五):软件包
标签:
软件
二进制
yum包
rpm包
源码包
原文地址:http://blog.csdn.net/u012228718/article/details/46530419
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
gitlab 在linux安装环境下存储地址
2021-07-29
当 Mac 未检测到外部显示器时如何修复它
2021-07-29
Ubuntu18.04安装qemu遇到问题-qemu : Depends: qemu-system (>= 1:2.11+dfsg-1ubuntu7)
2021-07-28
[Linux]Shell编程【待续】
2021-07-28
Linux系统资源查看
2021-07-27
Archlinux爬坑指南
2021-07-27
[Linux]Linux发展历程
2021-07-27
非桌面系统 (ubuntu)安装google-chrome
2021-07-27
在Ubuntu18.04系统中源码安装 gcc7.3.0
2021-07-23
Linux快捷键杂记
2021-07-22
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!