zoukankan      html  css  js  c++  java
  • linux下软件安装知识整理

    一.软件包安装
    分类
    源码包
    二进制包(RPM包,系统默认包)
    源码包
    优点
    1.开源

        可以自由选择所需的功能
        软件是编译安装,适合自己系统,更加稳定,效率更高
        卸载方便

    缺点

        安装过程步骤较多,容易出错
        编译时间较长,安装比二进制安装要长
        3.编译安装,报错,新手难以解决

    二进制包
    优点

        包管理系统简单,只用几个命令就可以实现安装、升级、查询和卸载
        安装速度比源码包快多了
        缺点
        经过编译,不再可以看到源代码
        功能选择不如源码包灵活
        依赖性

    二. RPM包管理
    简介
    1、RPM包的来源:所有RPM包都在系统光盘的Packages目录中
    2、RPM包命名规则:软件包名-软件版本-软件发布的次数-适合的Linux平台-适合的硬件平台-包扩展名
    3、RPM包依赖性:
    a、树形依赖:a->b->c 解决方法:从后往前安装
    b、环形依赖:a->b->c->a 解决方法:放在一条命令中安装即可
    c、模块依赖:库文件依赖,库也叫模块,就是linux当中的函数,它有一个典型的特征,就是以【.so.数字】结尾,它依赖的其实是一个文件,而不是软件包。该文件藏身在某一个软件包当中。我们只要将该文件所在的软件包安装上,该文件也就安装了。解决方法:登录www.rpmfind.net网站,输入库文件名称查询到对应的rpm包,然后安装即可。
    4、yum在线安装:可以方便的解决依赖文件,一条命令就可以帮用户从网上(本地也可以)找到安装包进行安装。
    注:RedHat的yum是收费服务,而CentOS的yum是免费服务

    安装
    1、包全名与包名
    包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径
    包名:操作已经安装的软件包时,使用包名,是搜索/var/lib/rpm/中的数据库
    2、RPM安装
    rpm -ivh 包全名
    选项:
    -i(install)安装
    -V(verbose)显示详细信息
    -h(hash)显示进度
    --nodeps不检测依赖性

    升级
    rpm -Uvh 包全名
    参数选项:-U(upgrade) 升级

    卸载
    rpm -e 包名
    选项:-e(erase) 卸载
    --nodeps 不检查依赖

    三、RPM包查询
    查询方式:
    1、 rpm -q 包名 查询包是否安装; rpm -qa 查询所有安装的rpm包。rpm -qa grep httpd
    2、 rpm -qi 包名 查询包详细信息。 -i : 查询软件信息; -p :查询未安装包信息。rpm -qip xxxx
    3、 rpm -ql 包名 查询包中文件安装位置。 -l:列表; -p:查询未安装包信息。rpm -ql httpd
    4、 rpm -qf 系统文件名 查询系统文件属于哪个RPM包。 (必须为系统包 不能是自己新建的) rpm -qf xxx
    5、 rpm -qR 查询依赖性。 -R:查询依赖性; -p:查询未安装包信息。

    四、RPM包校验
    rpm -V(大写V) 已安装的包名
    V(verify):校验指定RPM包中的文件;
    !!该命令执行之后,如果没有任何回馈信息,则表示该文件一切正常!!

    验证内容中的8个信息得具体内容如下:
    ①S:文件大小是否改变;
    ②M:文件的类型或文件的权限(rwx)是否被改变;
    ③5:文件MD5校验和是否改变(可以看成文件内容是否改变)
    ④D:设备的主从代码是否改变;
    ⑤L:文件路径是否改变;
    ⑥U:文件的属主(所有者)是否改变;
    ⑦G:文件的属组是否改变;
    ⑧T:文件的修改时间是否改变;
    文件类型:
    ①c:配置文件(config file)
    ②d:普通文档(documentation)
    ③g:“鬼”文件(ghost file),很少见,就是该文件不应该被这个RPM包 包含;
    ④L:授权文件(license file)
    ⑤r:描述文件(read me)
    RPM包中文件提取:
    rpm2cpio 包全名 cpio -idv .文件绝对路径
    --> 前面的【.】代表当前路径,不能省略。【文件绝对路径】和包里文件的绝对路径对应,也就是告诉了cpio要去包里提取哪个文件。
    注:cpio只知道提取文件,并不知道要从什么地方提取文件,因此我们通常要使用【】管道符或【<】输入重定向告诉cpio我们应该从什么设备去取出文件。
    ①-rpm2cpip //将rpm包转换为cpio格式的命令;
    ②-cpip //是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件;

    使用输入重定向的cpio命令格式:
    cpio 选项 < [文件设备]
    ①-i:copy-in模式,还原;
    ②-d:还原时自动新建目录;
    ③-v:显示还原过程;

    五、YUM在线安装
    YUM源文件
    1、yum的优点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题。(rpm缺点:安装过程中,rpm包依赖性太强)
    2、redhat的yum在线安装需要付费,centOS不需要。
    3、在【/etc/yum.repos.d/】目录中,默认有4个yum源文件,其中【CentOS-Base.repo】是基本yum源文件,如果我们能上网,那它是默认生效的,而其他的都是默认不生效的。
    4、配置介绍
    [base]:名字可以随便起。
    name:名字也是随便起。
    mirrorlist和baseurl一个是主站点,一个是辅助站点,这两个有一个就行。可以找一个163或清华大学的yum源更换。
    enabled:默认最后一个容器不生效,其他容器都生效。
    gpgcheck:一般都要开启,开启后安装时会验证rpm包是否是官方的,以保证系统安全。
    gpgkey:默认系统安装后,在目录【/etc/pki/rpm-gpg】下都会存在数字证书。注:前面的【file://】表示文件协议,后面的【/etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6】是数字证书的位置。

    光盘搭建YUM源
    有三个步骤:
    1、挂载光盘;
    2、使网络yum源【CentOS-Base.repo】失效;
    3、使光盘yum源【CentOS-Media.repo】生效,需要编辑【CentOS-Media.repo】文件,修改【baseurl】和【enabled】两项内容,操作如下:
    [root@CentOS6 yum.repos.d]# vi CentOS-Media.repo
    [c6-media]
    name=CentOS-$releasever - Media
    baseurl=file:///mnt/cdrom/   -->将baseurl设置为实际光盘挂载地址(另外两个要注释掉,否则会因为找不到光盘而报错。【#】注释时,必须写在行开头)
    file:///media/cdrom/
    file:///media/cdrecorder/

    gpgcheck=1
    enabled=1  -->将enabled设置为1,使这个yum源配置文件生效
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    编辑后保存退出即可。
    注:可以使用【yum list】命令列出当前yum源中的所有rpm包:即更新数据库
    [root@CentOS6 yum.repos.d]# yum list
    ......省略部分内容......
    Available Packages
    389-ds-base.i686 1.2.11.15-29.el6 c6-media
    389-ds-base-devel.i686 1.2.11.15-29.el6 c6-media
    389-ds-base-libs.i686 1.2.11.15-29.el6 c6-media
    ......省略部分内容......
    可以从后面的【c6-media】看出这是光盘yum源,因为这是光盘yum源文件【CentOS-Media.repo】中定义的名字。

    YUM命令
    1、常用yum命令:
    查询:
    ①yum list:查询目前使用的yum源中所有可用软件包列表;
    ②yum search 关键字:搜索服务器上所有和关键字相关的包;
    安装:
    ①yum -y install 包名
    ⑴-install:安装;
    ⑵-y:自动回答yes;
    ②例如:yum -y install httpd
    升级:
    ①yum -y update 包名
    ⑴-update:升级;
    ⑵-y:自动回答yes;
    卸载:
    ②yum -y remove 包名
    ⑴-remove:卸载;
    ⑵-y:自动回答yes;
    !!!服务器使用最小化安装,用什么软件安装什么,尽量不要卸载!!!

        yum软件组管理命令
        yum grouplist:列出所有可用的软件列表;
        yum groupinstall 软件组名:安装指定软件组,组名可以由grouplist查询出来;
        yum gourpremove 软件组名:卸载指定软件组;
        ①LANG=en_US:切换至英文;(临时生效)①
        ②LANG=zh_CN.utf8:切换至中文;(临时生效)②

    六、源码包管理
    源码包和RPM包区别
    安装后区别:安装位置不同
    RPM包安装在默认位置:

    源码包安装在指定位置中,一般是/usr/local/软件名/

    安装位置不同带来的影响
    1、源码包是不能使用【service】命令来启动服务,因为源码包的安装位置由用户指定,放在哪并不统一。而rpm包安装后,通常都是放在【/etc/rc.d/init.d】目录中的,而【service】命令执行时,会自动搜索该目录,所以rpm包安装的服务可以使用【service】命令。
    1).rpm包安装位置不用指定,源码包安装位置必须指定。源码包没有卸载命令。卸载时直接删除文件夹即可。源码包默认启动方法/usr/local/apache2/bin/apachetl start
    2).rpm包启动方式两种 service XXXX start(red hat 系列专属) 或 /etc/rc.d/init.d/xxx start

    安装过程
    1.源码包保存位置:/usr/local/src/
    2.软件安装位置:/usr/local/
    3.如何确定安装过程报错:
    安装过程停止;
    并出现:error、warning或no的提示;

        下载源码包解压缩下载的源码包进入解压缩目录;
        ./configure:软件配置与检查
        定义需要的功能选项; ./configure --prefix=PREFIX
        检测系统环境是否符合安装要求;
        .把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑;
        make:编译
        如果报错,可执行“make clean” :清除编译缓存文件;
        make install:编译安装

    源码包的卸载无需卸载命令,直接删除安装目录即可,不会遗留任何垃圾文件;

  • 相关阅读:
    Spring Security教程之自定义Spring Security默认的403页面
    Spring Security教程之Spring Security实现访问控制
    Spring Security的HTTP基本验证示例
    Maven3+Struts2.3.1.2整合的Hello World例子
    将Flex嵌入到Jsp页面实例-基于FlexModule插件
    Java I/O之FilenameFilter类列举出指定路径下某个扩展名的文件
    Java I/O之用FilenameFilter实现根据文件扩展名删除文件
    Flex与Java通信之HttpService方式
    Flex与Java通信之RemoteObject方式
    Flex之理解Flash中的事件机制
  • 原文地址:https://www.cnblogs.com/caicaizi/p/9452987.html
Copyright © 2011-2022 走看看