LINUX-软件安装(一)

源码包
  脚本安装包
      二进制包(RPM包、系统默认包)
    2、源码包
     源码包的优点是
    1、开源,如果有足够的能力,可以修改源代码
    2、可以自由选择所需的功能
    3、软件是编译安装,所以更适合自己的系统,更加稳定也效率更高
    4、卸载方便
  源码包的缺点
   1、安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误。
   2、编译过程时间较长,安装比二进制安装时间长
   3、因为是编译安装,安装过程中一旦报错新手很难解决

2、二进制包

1)分类

DPKG包:是由Debian Linux所开发出来的包管理机制,通过DPKG包,Debian Linux就可以进行软件包管理。主要应用在Debian和unbuntu中。

RPM包:是由RedHat公司所开发的包管理系统。功能强大,安装、升级、查询和卸载都非常简单和方便。目前很多Linux都在使用这种包管理方式,包括Fedora、CentOS、SuSE等。我们学习的是CentOS6.3,所以我们将要学习RPM包管理系统

2)特点

RPM包的优点
     1、包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
     2、安装速度比源码包安装快的多
    RPM包的缺点:
     1、经过编译,不再可以看到源代码
     2、功能选择不如源码包灵活
    3、依赖性
    RPM包管理-rpm命令管理
   1、RPM包命名规则
  http-2.2.15-15.e16.centos.1.i686.rpm
   httpd   软件包名
   2.2.15  软件版本
     15    软件发布的次数
  e16.centos 适合Linux平台
  i686    适合的硬件平台
  rpm     rpm包扩展名
 包全名:操作没有安装的软件包,软件包使用包全名
   包名:操作的是已经安装的软件包,软件包使用包名
  2、RPM包依赖性
   树形依赖:a → b → c
   环形依赖:a → b → c → a
   模块依赖:模块依赖查询网站:
            www.rpmfing.net
    包全名与包名
    包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
    包名: 操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库
   RPM安装

1、包命名

httpd-2.2.15-15.e16.centos.1.i686.rpm
   httpd 软件包名

2.2.15 软件版本

15    软件发布的次数

e16    软件发行商。e16是RedHat公司发布,适合RHEL6.x(Red HatEnterprise Linux)和Centos6.x下使用

i686   适合的硬件平台。RPM包可以在不同的硬件平台安装,选择适合不同CPU的软件版本,可以最大化的发挥CPU性能,所以出现了所谓i386(386以上计算机都可以安装)、i586(586以上的计算机都可以安装)、i686(奔腾II以上计算机都可以安装,目前所有的CPU都是奔腾II以上,所以这个软件版本居多)、x86_64(64为CPU可以安装)和noarch(没有硬件限制)等文件名了。

rpm rpm包的扩展名。我们说过Linux下文件不是靠扩展名区分文件类型,也就是Linux中扩展名没有任何含义。可是这里怎么又出现了扩展名呢?原因很简单,如果我不把RPM的扩展名叫做“rpm”,管理员很难知道这是一个RPM包,当然也就无法正确安装了。也就是说如果RPM包不用“.rpm”作为扩展名,系统可以正确识别没有问题,可以是管理员很难识别这是个什么样的软件。

2、安装

1)默认安装位置

/etc/ 配置文件安装目录

/usr/bin/ 可执行的命令安装目录

/usr/lib/ 程序所使用的函数库保存位置

/usr/share/doc 基本的软件使用手册保存位置

/usr/share/man/ 帮助文件保存位置

3、安装命令

rpm-ivh 包全名 #注意一定是包全名。如果跟包全名的命令要注意路径,因为软件包在光盘当中
    选项:
  -i(install) 安装
  -v (verbose)  显示详细信息
  -h(hash)  显示进度
  --nodeps   不检测依赖性

--nodeps   不检测依赖性安装。软件时会检测依赖性,确定所需的底层软件是否安装。如果没有安装则会报错。如果我不管依赖性,强制性安装,可以以使用这个选项。注意:这样不检测依赖性安装的软件基本是不能使用的,所以不建议这样做。

-replacefiles 替换文件安装。如果安装软件包,可是包中部分文件已经存在,那么正常安装时候,会报错“某个文件已经存在”从而导致软件无法安装,使用这个选项可以忽视这个报错,而覆盖安装

--replacepkgs 替换软件包安装。如果软件包已经安装,此选项可以把软件包重复安装一遍。

--force   强制安装。不管是否已经安装,都重新安装。就是-replacefiles和-replacepkgs的综合。

--test   测试安装。不会实际安装,只是检测一下依赖性。

--prefix  指定安装路径。为安装软件指定安装路径,而不使用默认安装路径。注意:如果指定了安装路径,软件没有安装到系统默认路径中的话,系统会找不到这些安装的软件,需要进行手工配置才能被识别。所以rpm我们一般都采用默认安装路径。

服务启动

service 服务名 start|stop|restart|status

参数:

start 启动服务

stop 停止服务

restart 重启服务状态

RPM包升级
      rpm -Uvh 包全名
        选项:
     -U(upgrade) 升级安装,如果没有安装过,系统直接安装。如果安装过的版本较旧,则升级到最新版本(upgrade)

rpm -Fvh 包全名

选项:

-F(大写)升级安装,如果没有安装。必须安装有较旧版本,才能升级(freshen)
     卸载

rpm -e 包名

--nodeps 不检查依赖性

查询

rpm -q 包名  #查询是否安装

选项: -q 查询(query)
  语法: #rpm -qa | grep httpd #显示所有安装     
        rpm  -qa 包名   #查询包是否安装
     #rpm-qa        #查询软件包详细信息
     #查询所有已经安装的RPM包
       选项:-a  所有(all)
        rpm  -qa |grep  httpd 显示所有安装包
     #rpm -qi 包名
    选项:  -i 查询软件信息(information)
           -q 查询未安装包信息(package)
     rpm  -qi  包名   查询包的信息 
    查询包中文件安装位置
     #rpm -ql 包名
      选项:  -l 列表(list)
             -p 查询未安装包信息(package)  
     rpm -qip 包全名 查询没有安装包的信息
         -i information
      rpm -ql 包名 查询包中文件的安装位置
      rpm -qlp  包全名 查询没有安装的包,打算安装位置
           -l list
       rpm -qf 系统文件名 查询系统文件属于哪个包

rpm -qF 包名 查询软件包说以来的软件包

rom -qRp 包全名 查询没有安装的包的依赖性
 rpm命令管理-校验和文件提取 RPM包校验

验证

1)基本命令
    rpm -Va

选项: -Va 校验本机已经安装的所有软件包

rpm -Vf 系统文件名

选项: -Vf校验某个系统文件是否被修改

#rpm -V 已安装的包名
    选项:-V校验指定RPM包中的文件(verify)

验证内容中的8个信息的具体内容如下:
 S  文件大小是否改变
 M  文件的类型或文件的权限(rwx)是否被改变
 5  文件MD5校验和是否改变(可以看成文件内容是否改变)
 D  设备的中。从代码是否改变
 L  文件路径是否改变
 U  文件的属性(所有者)是否改变
 G  文件的属组是否改变
T  文件的修改时间是否改变
   文件类型
 c  配置文件(config file)
d  普通文档(documentation)
 g  “鬼”文件(ghost file),很少见,就是hi该文件不应该被这个RPM包包含
 l  授权文件(license file)
 r  描述文件(read me)

数字证书

刚刚的校验方法只能对已经安装的RPM包中的文件进行校验,但是如果RPM包本身就被动过手脚,那么校验就不能解决问题了。我们就必须进行数字证书验证。

数字证书样子有如下特点:

首先必须找到原厂否公钥文件,然后进行安装

再安装RPM包是,会去提取RPM包中的证书信息,然后和本机安装的原厂证书进行验证

如果验证通过,这允许安装,如果验证不通过,则不允许安装并报警

1)数字证书位置

那么数字证书在哪里呢?其实Centos6.3的第一张光盘中就有,当然它默认也会放在系统中。

[[email protected] ~]# ll/mnt/cdrom/RPM-GPG-KEY-CentOS-6

-r--r--r--. 2 root root 1706 11月 28 2013/mnt/cdrom/RPM-GPG-KEY-CentOS-6

#光盘中的数字证书位置

[[email protected] ~]# ll/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

-rw-r--r--. 1 root root 1706 11月 27 2013/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

#系统中的数字证书位置

2)数字证书导入

[[email protected] ~]# rpm --import/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

选项:        --import    导入数字证书

我们如何查询系统中安装好的数字证书呢?命令如下:

[[email protected] ~]# rpm -qa | grepgpg-pubkey

gpg-pubkey-c105b9de-4e0fd3a3

时间: 2024-08-06 03:41:44

LINUX-软件安装(一)的相关文章

linux软件安装rpm、srpm,yum功能

1.linux软件安装方式,常用的有: 1)dpkg:Debian Linux社区开发出来的,使用的linux版本有,B2F,Ubuntu等 2)RPM:最早由Red Hat公司研发出来,使用的版本有Fedora,CentOS,SUSE等. 2.RPM(RedHat Package Manager):是一种数据库记录的方式来将你所需要的软件安装到你的Linux系统的一套管理机制. 3.软件安装的目录: 1)/etc:一些配置文件放置的目录 2)/usr/bin:一些可执行的文件案 3)/usr/

Linux温习(一)Linux软件安装及管理

Linux软件包管理系统种类 APT(Advanced Package Tool ) 包名:packagename_version_arch.deb 组成:debian-binary +control.tar.gz +data.tar.gz 常见系统:Ubuntu.Debian等 RPM(RedHat Package Management) 包名:packagename_version_arch.rpm packagename_version_arch.src.rpm 组成:spec文件+应用程

Linux软件安装——软件包

Linux软件安装——软件包 摘要:本文主要学习了Linux下软件安装的相关知识. 软件包 简介 Linux下的软件包众多,且几乎都是经GPL授权.免费开源(无偿公开源代码)的.这意味着如果你具备修改软件源代码的能力,只要你愿意,可以随意修改. GPL,全称General Public License,中文名称“通用性公开许可证”,简单理解GPL就是一个保护软件自由的一个协议,经GPL协议授权的软件必须开源. Linux下的软件包可细分为两种,分别是源码包和二进制包. Linux源码包 实际上,

Linux软件安装——安装软件的命令

Linux软件安装——安装软件的命令 摘要:本文主要学习了如何在Linux系统中安装.更新.卸载软件. rpm命令 rpm命令用来在Linux系统上进行软件的安装. 基本语法 安装命令: 1 [[email protected] ~]# rpm -ivh 包全名 如果没有安装则安装,如果已经安装则升级: 1 [[email protected] ~]# rpm -Uvh 包全名 如果没有安装则不安装,如果已经安装则升级: 1 [[email protected] ~]# rpm -Fvh 包全名

linux 软件安装各种方法

一   简单介绍 1.软件安装卸载,分几种情况: A:RPM包 这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装. ==如何卸载:1.打开一个SHELL终端2.因为Linux下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称.查找RPM包软件:rpm -qa ×××*注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号"*",即星号,如

【系统知识点】linux软件安装编译

Linux上面的软件几乎都是经过GPL的授权,所以每个软件几乎均提供源代码,并且你可以自行修改该程序代码,以符合你个人需求. 基础知识: 可执行文件: 在Linux系统上面一个文件能不能被执行看的是有没有可执行的那个权限,不过真正识别的可执行文件其实二进制文件,如/usr/bin/passwd,/bin/touch 注意:shell script并不是可执行文件,它只是利用shell这个程序的功能进行一些判断式,而最终执行的除了bash提供的功能外,依然调用一些已经编译好的二进制程序来执行. 通

Linux 软件安装

PMS(包管理系统)作用 Linux已经安装了什么软件包 每个包安装了什么软件 每个已安装软件包的版本 PMS的主要分类 dpkg(Debian系列) rpm(RedHat系统) 基于Debian的系统 dpkg命令是基于Debian系统PMS工具的核心.包含在这个PMS中的其他工具有: apt-get apt-cache aptitude 用aptitude管理软件包 用aptitude安装软件包 用aptitude更新软件 用aptitude卸载软件 aptitude仓库

Linux软件安装:源码与Tarball

一.开放源码的软件安装与升级简介 1.开放源码.编译程序与执行文件 开放源码:就是程序代码(写满了程序代码的纯文本文件): 编译程序:将程序代码与函数库做链接,并翻译成机器看得懂的语言: 可执行文件:机器看得懂的二进制执行文件. 图示三者关系: 2.函数库 函数库:类似子程序的角色,可以被调用来执行的一段功能函数. 图示外部动态函数库的调用情况: ·Linux内核提供了相当多的函数库来给硬件开发者利用(系统调用): ·由上面的图示可知识,硬件开发者可通过调用内核函数库来开发出与硬件特性相关的产品

linux软件安装与卸载

导读 Linux下是常规的软件安装方式除了二进制形式的软件分发,还有源代码形式的软件包,以下为两种式软件的安装与卸载方式 二进制分发软件包的安装与卸载 Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的分发形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行. 1.*.rpm形式的二进制软件包 说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容

Linux软件安装之rpm—yum

一,Linux软件包:有二进制包与源代码包 包管理器:包含数据库和程序组成清单,能将编译好的程序打包成一个或几个文件,可用于实现安装,卸载,升级,检验,数据库管理,主流的有RedHat的rpm后缀为.prm,Debian的dpkg后缀为.deb 数据库包含: 程序名及版本,程序之间的依赖关系,功能说明,安装生成的个文件路径级校验信息 程序组成清单包含: 文件清单,安装卸载时运行的脚本 程序的命名格式: 源代码命名:name-version.tar.{gz|gz2|xz} Version包含:ma