Linux学习——软件包管理

    xiaoxiao2021-03-25  101

    Linux学习

    软件安装

    一、软件包管理简介

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

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

    四、源码包管理

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

    一、软件包管理简介

    1、软件包分类

    源码包(C语言写的)手工安装

    脚本安装包  ——不需要手动安装

    二进制包(RPM包、系统默认包)——编译之后的

    CentOS  ——RPM包

    redhat/CentOS——RPM包

    debain/ubantu——

    源码包:

    优点:

    开源

    可以自由选择所需的功能

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

    卸载方便

    缺点:

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

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

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

    RPM包:

    优点:

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

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

    缺点:

    进过编译,不可看到源代码

    功能选择不如源码包灵活

    依赖性

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

    1:RPM包的命名原则

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

    httpd——软件包名

    2.2.15——软件版本

    15——发布次数

    el6.centos——适合的Linux平台  (noarch)

    i686——适合的硬件平台             (X64) 

    rpm——rpm包扩展名

    包名和包全名

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

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

    2:RPM包依赖性

    树形依赖:a→b→c

    环形依赖:a→b→c→a

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

    RPM安装

    rpm  -ivh  包全名

    -i  (install)  安装

    -v (verbose) 显示详细信息

    -h (hash)  显示进度

    --nodeps     不检测依赖度

    主要考虑依赖性问题,如果遇到库文件(so.2)去网站查询

    RPM包升级

    rpm -Uvh  包全名

    -U——upgrade  升级

    RPM包卸载

    rpm  -e 包名

    -e  earse   卸载

    RPM包查询方式

    ①查询是否安装

    rpm -q 包名

    -q (query)

     rpm -qa 

    查询所有已安装包

    rpm -qa丨  grap httpd   #显示与httpd有关的所有rpm包

    ②查询软件包详细信息

    rpm -qi 包名

    -i  (information) 查询软件信息

    -q  (package)  查询未安装软件包信息

    rpm -qip  包全名

    ③查询包中文件安装位置

    rpm -ql  包名

    -l  (list )列表

    -p (package) 查询未安装包信息

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

    rpm -qf 系统文件名

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

    ⑤查询软件包的依赖性

    rpm -qR  包名

    -R (requries)

    -p (package)

    rpm -qRp  zip。。。。rpm

    校验和文件提取

    ①RPM包校验

    rpm -V 已安装的包名

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

    没有做过任何修改  则不会有什么提示

    修改标志

    S.5....

    S——文件大小是否改变

    M——文件的类型或文件的权限(rwx)是否被改变

    5——文件MD5校验和是否改变(可以看成文件内容是否改变)

    c——config file

    d——doc

    l——license file 

    r——read me

    ②RPM 包中文件提取

    rpm2cpio 包全名 丨\换行符

    cpio -idv .文件绝对路径

    rpm2cpio /mnt/cdrom.Packages/cpreutils-8.4-19.rpm 丨cpio idv ./bin/ls   提取RPM包中ls命令到当前目录的/bin/ls下

    cp ls /bin/ls

    修复错误  如 误删ls

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

    cpio 选项 < 文件 设备

    -i copy-in  还原

    -d 还原时自动新建目录

    -v 显示还原过程

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

    redhat收费

    centos不收费

    自动解决

    不一定上网,光盘也可以

    1.IP地址配置和网络yum源

    2.yum命令

    3.光盘yum源搭建

      1.IP地址配置和网络yum源

    ifconfig eth0 192.168.1.156   

    临时生效;只能配IP合子网掩码,如果想上网还需要网关和DNS公网,内网只需要IP和子网掩码

    setup——redhat自带的工具   #永久生效

    修改IP地址等

    vi  /etc/sysconfig/network-scripts/ifcfg-eth0

    把ONBOOT=“”“no”改为

      ONBOOT=“”“yes”

    #启动网卡

    重启网络服务

    service  network restart

    ifcongfig 

    ping  www.baidu.com

    2. 网络yum源

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

    [base] ——容器名称

    name ——容器说明,可以随便写

    mirrorlist ——镜像站点

    baesurl——yum源服务器的地址

    enabled——=1生效,=0不生效

    gpgcheck ——=1RPM的数字证书生效,=0不生效

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

    已经配好的,什么也不需要更改

    3.yum命令

    1)查询

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

    yum  search   关键字     #搜索服务器上所有和关键字相关的包   yum search httpd   阿帕奇

    2)安装

    yum  -y  install  包名

    install    安装

    -y    自动回答yes

    yum  -y install  gcc

    rpm -q  gcc

    gcc-4.4.7-4.el6.i686

    3)升级

    yum  -y  update  包名

    yum  -y  update  升级所有软件包

    4)卸载

    yum -y remove  包名

    a→b→c   尽量不要使用yum 卸载

    4.yum软件包组管理命令

    yum  grouplist  列出所有可用的软件组列表

    yum groupinstall  “软件组名”  安装指定软件组,组名可以有grouplist查询出来

    yum  groupremove  软件组名   卸载指定软件组

    5.光盘yum源搭建

    1)挂载光盘

    mount  /dev/cdrom   /mnt/cdrom/

    2)让网络yum源失效

    一种方式,使其他三个文件中的enable=0

    另一种方式,给其他三个文件改名

    cd   /etc/yum.repos.d/

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

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

    mv  CentOS-Vault.repo \CentOS-Vsult.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

    enable=1

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

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

    yum list

    6.源码包管理

    源码包和RPM包的区别

    源码包安装过程

    6.1  源码包和RPM包的区别

    安装之前:概念上的区别

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

    RPM包安装位置

    /etc/    配置文件安装目录

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

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

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

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

    源码包安装位置

    安装在指定位置当中,一般是

    /usr/local/软件名/

    安装位置不同带来的影响

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

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

    service     httpd     start   #redhat 专有命令   不能管理源码包安装的命令

    所以源码包只能用绝对路径进行服务的管理,如

    /lur/local/apache2/bin/apachectl   start

    7.源码包安装过程

    1)安装准备

    安装C语言编译器

    下载源码包

    http://mirror.bit.edu.cn/apache/httpd/

    2)安装注意事项

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

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

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

    安装过程停止

    并出现error,warning或者no的提示

    PS.远程传输工具:WinSCP   连接windows和linux

    3)源码包安装过程

    下载源码包

    解压缩下载的源码包

    tar  -zxvf  httpd....

    du  -sh  httpd-2.2.9  #看看文件大小

    进入解压缩目录   ※注意

    cd httpd-2.2.9

    ./configure        软件配置与检查

    定义需要的功能选项

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

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

    ./configure  --prefix=/usr/local/apache2   #目录名称自定义的

    make   编译    →产生文件Makefile

    make  clean   清空编译产生的临时文件

    make   install     编译安装

    /usr/local/apache2/bin/apachectl   start   启动

    ※80端口被占用问题    原因是因为RPM包安装的apache和源码包安装的都占用80端口

    解决:把RPM安装包的apache关掉   service httpd stop

    注意:真正的服务器上不能安装两个包

    8.源码包的卸载

    rm -rf   /usr/local/apache2/

    如何选择两种安装方式

    对外访问:源码包

    自己用:RPM包安装

    9.脚本安装包

    脚本安装包并不是独立的软件包类型,常见安装的是源吗包 是人为安装过程写成了自动安装的脚本,只要执行脚本,定义简单的参数,就可以完成安装

    非常类似于windows下软件的安装方式

    webmin的作用

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

    Webmin的安装过程

    下载软件:

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

    解压缩,并进入解压缩目录    #setup.sh    ./setup.sh 回车   ctrl+退格键

    执行安装脚本

    进入webmin

    输入linux服务器的IP地址:10000   回车

    转载请注明原文地址: https://ju.6miu.com/read-15066.html

    最新回复(0)