zoukankan      html  css  js  c++  java
  • 软件管理

    软件管理

    一、软件包管理简介

    1、软件包分类

    l  源码包

    n  脚本安装包

    l  二进制包(RPM包、系统默认包)

    2、源码包

    源码包的优点是:

    l  开源,如果有足够的能力,可以修改源代码

    l  可以自由选择所需的功能

    l  软件是编译安装,所以更加适合自己的系统,更加稳定也效率更高

    l  卸载方便

    源码包的缺点

    l  安装过程步骤较多,尤其安装较大的软件集合时(如LAMP环境搭建),容易出现拼写错误

    l  编译过程时间较长,安装比二进制安装时间长

    l  因为是编译安装,安装过程中一旦报错新手很难解决

    3、RPM包

    二进制包的优点

    l  包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载

    l  安装速度比源码包安装快的多

    二进制包缺点:

    l  经过编译,不再可以看到源代码

    l  功能选择不如源码包灵活

    l  依赖性

    二、RPM包管理-rpm命令管理

    1、RPM包命名原则

    httpd-2.2.15-15.el6.centos.1.i686.rpm

    httpd

    软件包名

    2.2.15

    软件版本

    15

    软件发布的次数

    el6.centos

    适合的Linux平台

    i686

    适合的硬件平台

    rpm

    rpm包扩展名

    2、RPM包依赖性

    l  树形依赖:a——b——c

    l  环形依赖:a——b——c——a

    l  模块依赖:模块依赖查询网站:www.rpmfind.net

    libapr-1.so.0——apr-1.2.7-11.el5_5.3.i386.rpm

    libaprutil-1.so.0——apr-util-1.2.7-11.el5_5.2.i386.rpm

    libpq.so.4——postgresql-libs-8.1.22-1.el5_5.1.i386.rpm

    libgmp.so.3——gmp-4.1.4-10.el5.i386.rpm

    3、包全名与包名

    l  包全名:操作的包是没有安装的软件包时,使用包全名。而且要注意路径

    l  包名:操作已经安装的软件包时,使用包名。是搜索/var/lib/rpm/中的数据库

    4、RPM安装

    rpm -ivh 包全名

    选项:

    -i(install)

    安装

    -v(verbose)

    显示详细信息

    -h(hash)

    显示进度

    --nodeps

    不检查依赖性

    5、RPM包升级

    rpm -Uvh 包全名

    选项:

    -U(upgrade)

    升级

    6、卸载

    rpm -e 包名

    选项:

    -e(erase)

    卸载

    --nodeps

    不检查依赖性

    7、查询是否安装

    rpm -q 包名

    #查询包是否安装

    选项:

    -q

    查询(query)

    rpm -qa

    #查询所有已经安装的RPM包

    选项:

    -a

    所有(all)

    8、查询软件包详细信息

    rpm -qi 包名

    选项:

    -i

    查询软件信息(information)

    -p

    查询未安装包信息(package)

    9、查询包中文件安装位置

    rpm -ql 包名

    选项:

    -l

    列表(list)

    -p

    查询未安装包信息(package)

    10、查询系统文件属于哪个RPM包

    rpm -qf 系统文件名

    选项:

    -f

    查询系统文件属于哪个软件包(file)

    11、查询软件包的依赖性

    rpm -qR 包名

    选项:

    -R

    查询软件包的依赖性(requires)

    -p

    查询未安装包信息(package)

    12、RPM包校验

    rpm -V 已安装的包名

    选项:

    -V

    校验指定RPM包中的文件(verify)

    验证内容中的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)

    13、RPM包中文件提取

    rpm2cpio 包全名 | cpio -idv .文件绝对路径

    rpm2cpio

    #将rpm包转换为cpio格式的命令

    cpio

    #是一种标准工具,它用于创建软件档案文件和从档案文件中提取文件

    cpio 选项 < [文件|设备]

    选项:

    -i:copy-in模式,还原

    -d:还原时自动新建目录

    -v:显示还原过程

    rpm -qf /bin/ls

    #查询ls命令属于哪个软件包

    mv /bin/ls /tmp/

    #造成ls命令误删除假象

    rpm2cpio /mnt/cdrom/Packages/coreutils-8.4-19-el6.i686.rpm | cpio -idv ./bin/ls

    #提取RPM包中ls命令到当前目录的/bin/ls下

    cp /root/bin/ls /bin/

    #把ls命令复制回/bin/目录,修复文件丢失

    三、RPM包管理-yum在线管理

    1、网络yum源

    vi /etc/yum.repos.d/CentOS-Base.repo

    [base]

    容器名称,一定要放在[]中

    name

    容器说明,可以自己随便写

    mirrorlist

    镜像站点,这个可以注释掉

    baseurl

    我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的。如果你觉得慢可以改成你喜欢的yum源地址

    enabled

    此容器是否生效,如果不写或写成enabled=1都是生效,写成enabled=0就是不生效

    gpgcheck

    如果是1是指RPM的数据证书生效,如果是0则不生效

    gpgkey

    数字证书的公钥文件保存位置。不用修改

    2、常用yum命令

    1)查询

    yum list

    #查询所有可用软件包列表

    yum search 关键字

    #搜索服务器上所有和关键字相关的包

    2)安装

    yum -y install 包名

    选项:

    install

    安装

    -y

    自动回答yes

    3)升级

    yum -y update 包名

    选项:

    update

    升级

    -y

    自动回答yes

    4)卸载

    yum -y remove 包名

    选项:

    remove

    卸载

    -y

    自动回答yes

    3、YUM软件组管理命令

    yum grouplist

    #列出所有可用的软件组列表

    yum groupinstall 软件组名

    #安装指定软件组,组名可以由grouplist查询出来

    yum groupremove 软件组名

    #卸载指定软件组

    4、光盘yum源搭建步骤

    1)挂载光盘

    mount /dev/cdrom /mnt/cdrom

    2)让网络yum源文件失效

    cd /etc/yum.repos.d/

    mv CentOS-Base.repo CentOS-Base.repo.bak

    mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo.bak

    3)修改光盘yum源文件

    vim CentOS-Media.repo

    [c6-media]

    name=CentOS-$releasever - Media

    baseurl=file:///mnt/cdrom

    #地址为你自己的光盘挂载地址

    #file:///media/cdrom/

    #file:///media/cdrecorder/

    #注释这两个不存在的地址

    gpgcheck=1

    enabled=1

    #把enabled=0改为enabled=1,让这个yum源配置文件生效

    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

    四、源码包管理

    1、区别

    l  安装之前的区别:概念上的区别

    l  安装之后的区别:安装位置不同

    2、RPM包安装位置

    l  是安装在默认位置中

    RPM包默认安装路径

    /etc/

    配置文件安装目录

    /usr/bin/

    可执行的命令安装目录

    /usr/lib/

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

    /usr/share/doc/

    基本的软件使用手册保存位置

    /usr/share/man/

    帮助文件保存位置

    3、源码包安装位置

    l  安装在指定位置当中,一般是/usr/local/软件名/

    4、安装位置不同带来的影响

    l  RPM包安装的服务可以使用系统服务管理命令(service)来管理,例如RPM包安装的apache的启动方式是:

    n  /etc/rc.d/init.d/httpd start

    n  service httpd start

    l  而源码包安装的服务则不能被服务管理命令管理,因为没有安装到默认路径中。所以只能用绝对路径进行服务的管理,如:

    n  /usr/local/apache2/bin/apachectl start

    5、安装准备

    l  安装C语言编译器

    l  下载源码包http://mirror.bit.edu.cn/apache/httpd/

    6、安装注意事项

    l  源代码保存位置:/usr/local/src/

    l  软件安装位置:/usr/local/

    l  如何确定安装过程报错:

    n  安装过程停止

    n  并出现error、warning或no的提示

    7、源码包安装过程

    l  下载源码包

    l  解压缩下载的源码包

    l  进入解压缩目录

    l   

    ./configure

    软件配置与检查

    l  定义需要的功能选项。

    l  检测系统环境是否符合安装要求。

    l  把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑。

    l   

    make

    编译

    l  make clean

    l   

    make install

    编译安装

    8、源码包的卸载

    l  不需要卸载命令,直接删除安装目录即可。不会遗留任何垃圾文件。

    五、脚本安装包与软件包选择

    1、脚本安装包

    l  脚本安装包并不是独立的软件包类型,常见安装的是源码包。

    l  是人为把安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装。

    l  非常类似于Windows下软件的安装方式。

    2、Webmin的作用

    l  Webmin是一个基于Web的Linux系统管理界面。您就可以通过图形化的方式设置用户账号、Apache、DNS、文件共享等服务

    3、Webmin安装过程

    l  下载软件

    http://sourceforge.net/projects/webadmin/files/webmin/

    l  解压缩,并进入解压缩目录

    l  执行安装脚本

  • 相关阅读:
    DC中为什么要用Uniquify?
    hdu 1596 find the safest road
    hdu2112 HDU Today
    hdu 2066 一个人的旅行
    poj 3026 Borg Maze
    poj 1979 Red and Black
    poj 1321 棋盘问题
    hdu 1010 Tempter of the Bone
    hdu 4861 Couple doubi
    codeforces584B Kolya and Tanya
  • 原文地址:https://www.cnblogs.com/wangxudong/p/10050134.html
Copyright © 2011-2022 走看看