Linux基础(五):软件包

一、软件包管理简介

(一)软件包分类

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:查看大小

时间: 2024-08-28 13:21:19

Linux基础(五):软件包的相关文章

Linux基础管理——软件包管理:rpm,yum高级使用方法(史上最全,没有之一)

前言: GRU Linux操作系统中,实现软件包管理的常见工具有RPM和yum:本专题将就Centos系统中安装包的命名.校验.密钥导入导出.包安装.卸载.升级.查询等众多rpm包管理相关的操作实现进行总结. 1.安装包 1.1.包管理器分类 二进制应用程序的组成部分:二进制文件.库文件.配置文件.帮助文件.所以包管理器就是对这四类文件进行分门别类存储的一个管理工具. 程序包管理器:     debian:deb文件, dpkg包管理器.         redhat: rpm文件, rpm包管

Linux基础-yum软件包管理

任务目标:自定义yum仓库:createrepo,自定义repo文件,使用yum命令安装httpd软件包,卸载httpd软件包:yum –y remove 软件名 ,使用yum安装组件'KDE 桌面':yum –y groupinstall 组件名,掌握使用yum删除组件'KDE 桌面':yum –y groupremove 组件名,掌握清除yum缓存:yum clean all,使用yum查找软件包:yum search 软件包名 So Easy , o Easy , Easy , asy ,

Linux基础五

Yum软件包管理 yum:基于rpm包构建的软件更新机制 自动解决软件包依赖关系 所有软件包由集中的yum软件仓库提供. [[email protected]桌面]#ls /misc/cd/repodata/ (repodata:仓库清单文件) ---------------------------------- 准备本地yum仓库: 软件仓库的提供方式 本地目录:file:///... FTP或者HTTP服务:ftp://..,http://... rpm软件包的来源 red hat发布的rp

Linux基础-rpm软件包管理

任务:挂载光盘文件到/media目录,进去/media目录下的Packages目录,查看系统已安装的所有rpm包,查看系统是否安装dhcp软件包,安装dhcp软件包,查看dhcp软件包的信息,查看dhcp软件包中所包含的所有文件,查看/bin/ls文件是由哪个软件包产生,卸载dhcp软件包 时间短任务重,没毛病老铁666直入正题: 1) 使用 mount 挂载光盘文件 /dev/sr0 到/media目录 OMG以上提示似乎告诉我,你挂载失败了,好吧那小爷我把你们统统卸载掉 使用 umount

linux基础(11)--软件包管理--RHEL6.5

1. rpm软件包管理 rpm全称是redhat package manager, 只能用于redhat系列系统的软件包管理,如RHEL.Centos.fedora 本文中光盘镜像挂载到/mnt下. 系统自带rpm包存放在./mnt/Packages下, ls | wc -l   可以查出系统自带rpm包的数目. (1)安装rpm包 rpm -ivh /mnt/Packages/XXX.rpm 如果出现以来关系,可以强制忽略: rpm -ivh /mnt/Packages/XXX.rpm (2)

Python学习之路——Linux基础之软件包

rpm包 rpm包是吧软件的源码打包,方便进行直接安装 rpm包来源 网络 本地光盘:例如 /media/CentOS_6.8_Final/Packages rpm安装与卸载 rpm -ivh <软件包名> --force :加force强制安装 rpm -qa : 显示当前系统所有安装的rpm包 rpm -ql <软件包名>: 显示软件包安装位置 rpm -qi <软件包名>:查看详细信息 rpm -e <软件包名> : 卸载软件包 (不能加扩展名) rp

Linux基础_软件包管理

一,软件包管理 # 使用rpm安装及移除软件RPM 1:rpm:Red-Hat Package Manager 2:rpm文件形式 yum-metadata-parser-1.1.2-16.el6.x86_64.rpm 第1部分是name,表示这个rpm软件包的名称: # yum-metadata-parser 第2部分是version,表示这个rpm软件包的版本编号: # 1.1.2 第3部分是release,表示这个rpm软件包的版本发布次数(修正号码): # 16 第4部分是archite

Linux 基础知识(五)

一.每12小时备份并压缩/etc/目录到/back目录中,保存文件名格式为,etc-年-月-日-时-分.tar.gz) crontab -e *12/*** /usr/bin/tar -czf `date +%F-%H-%M`-etc.tar.gz /etc/ ??二.rpm包管理功能总结以及实例应用演示rpm命令:rpm [OPTIONS] [PACKAGE_FILE]安装:-i, --install升级:-U, --update, -F, --freshen卸载:-e, --erase查询:

Linux基础知识题解答(五)

题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. (1)155729 -rw-r--r--.  1 root root   35 Oct 28 2011  oldboy 请解析上面的每一列内容 文件inode号,文件访问权限,硬链接数,文件所属用户,文件所属组,文件最后修改时间,文件名 (2)描述下硬链接和软连接的区别 1.硬链接原文件/链接文件共用

我的LINUX基础笔记

Linux系统管理      1 Day   2014.5.23 su -name   切换用户passwd 密码   更改密码gnome-terminal    伪CLI   桌面终端程序1.查看内核版本uname -r    2.查看红帽系统版本cat /etc/redhat-rdlease3.查看LINUX标准分发版信息  lsb_release4.查看网卡的IP,MAX       ifconfig                       ifconfig eth 10.0.0.10