Linux-软件管理篇

软件包管理简介

1554165969408

1554166782008

1554167202716

1554167710627

1554167773662

总结:Linux 软件安装包分为

​ 源码包安装

​ 优点:可控性高,可以自己查看或修改程序的源代码。安装后软件的执行效率高,比厂商提供的二进制包高5%

​ 缺点:需要自己手动编译源码后才可安装,操作难度高。

​ 二进制包安装

​ 优点:安装速度块,由于使用的是厂商编译过的二进制包,所有省去了自己对源码的手动编译。直接安装即可。

​ 缺点:不可以直接查看程序的源代码。安装后软件的执行效率比自己手动编译的的软件包慢5%。并且安装软件存在依赖性问题

​ 脚本包安装

​ 优点:脚本包安装类似与Windows下的软件安装界面。它是源码包安装和二进制包安装的中和方式。运行脚本后,脚本会帮助你去编译软件的源代码并安装。

​ 缺点:单独编写软件脚本

RPM 包管理(二进制包)

rpm的命名规则

1554169009132

包名或包全名例子

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

​ 包名 : httpd

​ 包全名 : httpd-2.2.15-15.el6.centos.1.i686.rpm

rpm的依赖性

1554170327297

总结:

​ rpm包的命名规则:

​ 软件包名-软件版本-软件的发布次数.适合的Linux平台.适合的硬件平台.rpm包扩展名

​ rpm依赖性:

​ 树形依赖 :如安装软件包a时发现需要安装软件包b,而安装软件包b又需要软件包c.

解决上述的树形依赖问题的方法:先安装软件包c然后依次安装软件包b,软件包a

​ 环形依赖:如安装软件包a时发现需要安装软件包b,而安装软件包b需要安装软件包c,但是安装软件包c却需要软件包a,这样就形成了环形的依赖结构。

环形依赖解决方案:同时安装包a,b,c即可解决此问题。

​ 模块依赖:模块依赖和软件包依赖不同之处在于,模块所依赖的包,有可能不在系统安装包内。

解决方案:进入 www.rpmfind.net 搜索需要的模块包

包全名和包名的使用介绍

1554172185949

rpm安装升级卸载

1554172274777

1554172740075

1554172783240

总结:

  1. 什么时候使用包全名或包名

    1. 包全名,在软件没有安装并需要使用的情况下。如软件的安装或更新
    2. 包名,在软件已经被安装的情况下。如软件的卸载
  2. rpm实现包安装

    在进入安装包目录的情况下

    1
    rpm -ivh 需要安装的包全名(need install package name)
  3. rpm实现包升级

    在进入安装包目录的情况下

    1
    rpm -Uvh 需要更新的包全名(need update package name)
  4. rpm实现包卸载

    1
    rpm -e 需要卸载的包名 (need deleter package name)

rpm查询

查询是否安装

1554173640238

安装包的详细信息查询

1554174085399

RPM的安装位置查询

1554174169009

根据文件名查询rpm包

1554174656232

查询安装包的依赖性

1554174809684

总结:

rpm查询

  1. 查询是否安装

    1
    rpm -q 包名 (package name)

    系统已经安装的所有安装包

    1
    rpm -qa
  1. 安装包的详细信息查询

    1
    rpm -qi 包名 (package name)
  2. RPM的安装位置查询

    1
    rpm -ql 包名 (package name)
  1. 获取给定文件名属于哪个RPM

    1
    rpm -qf 文件名 (file name)
  1. 查询RPM的依赖性

    1
    rpm -qR 包名(package name)

rpm包校验

1554175762509

1554175960568

1554176086475

rpm包提取

1554176212571

1554176347181

总结:

rpm 包校验

rpm 包提取

/usr/bin/ls 文件提取

1
rpm2cpio /mnt/cdrom/Packages/coreutils-8.22-23.el7.x86_64.rpm | cpio -idv ./usr/bin/ls

yum在线管理-IP地址配置

使用 red heat 的setup命令

本人使用的是contos7,发现使用setup后没有网络配置项,在网上查他们说需要使用yum去安装setup的一些功能项。(未做测试)

那我是怎么配置使自己的系统可以访问外网的呢?我直接修改改network 的配置文件(/etc/sysconfig/network-scripts/ifcfg-ens33)文件,将ONBOOT 设为 true,然后就可以上网了。

网络yum源

本人安装的contos已经默认安装并配置了yum源,下面是有关yum源的一些配置属性的解释

1554189939317

使用镜像(mirror)

  1. 下载镜像repo配置文件 http://mirrors.aliyun.com/repo/Centos-7.repo
  2. 将原repo文件备份为 repo.backup
  3. 将下载好的Centos-7.repo 移动到/etc/yum.repos.d/下并改名为CentOS-Base.repo

总结:

​ 1.系统上网配置,使用setup 下的网络配置,配置ip 子网掩码 网关 CSDN 保存即可,设置后记得修改network 的网络配置文件,将ONBOOT 设为true, 之后service network restart 重启即可,然后使用ping命令测试系统是否联网

​ 2.yum 配置使用contos默认即可

​ 3.yum mirror设置,上述配置即可

yum命令

查询

1554192514578

安装

1554194593714

​ 注意 当更新时,没有指定包名,yum会更新整个系统中所有软件甚至内核也会被升级。

卸载

1554194899289

yum软件组使用

1554195154103

总结:

​ 系统安装原则:最小化安装,用需要用什么软件,就安装什么软件。最好不要卸载软件。更新软件时要注意指定软件名,不然就会更新整个系统(包括内核)。安装时-y 命令要在安装熟练时使用,一般慎用

yum光盘源搭建

15541958110361554196150392

源码包安装管理

源码包和rpm包的区别

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

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

1554360805482

1554360845078

​ 由于源码包和rpm 安装包的安装位置不同导致了,应用的启动方式选择面不同

​ rpm 包安装的软件可以 使用 service 去执行命令,也可以使用 绝对路径 + 命令的方法操作

​ 源码包 只能通过 绝对路径 + 命令的方法操作

​ service 操作软件

1
service tomcat start

​ 绝对路径+命令方式

1
/usr/bin/tomcat start

源码包安装过程

1554360911277

1554361918473

源码包安装流程

  1. 下载源码包文件
  2. 解压源码包文件到 /usr/local/ 源码文件名 下
  3. 进入解压目录阅读 INSTALL 文档,查看如何安装。
  4. 使用make 命令编译源码
  5. 使用make install 命令安装

INSTALL安装说明文档

README使用说明

make 编译

make install 编译安装

make clean 清空编译

1554362742757

###脚本安装包

1554368570910

1554368673263