linux软件包管理(开始上正菜了)

linux程序包管理:
     API:数据接口
     ABI:应用程序二进制接口
        库级别的虚拟化:
             linux:wine
             windows:cywin
     系统级开发: c/c++ :httpd,nginx,vsftpd,go
     应用级开发:java python perl php 


c/c++程序格式:

          源代码:文本格式的程序代码;
             编译开发环境:编译器,头文件,开发库
          二进制格式:文本格式的程序代码–>编译器–>二进制格式
             开发环境:编译器,开发库

程序包管理器:
     源代码–>目标二进制格式–>组织成为一个或有限几个“包”文件;
          协助安装,升级,卸载,查询,校验
程序包管理器
                 debian: dpt,dpkg “.deb”
                 rehat : rpm “.rpm”
                 suse  : rpm,

前段工具:自动解决依赖关系:
          yum:rpm包管理的前段工具
          apt-get:deb包管理器的前段工具
          zypper:suse的rpm管理器前端工具
          dnf:也是一种rpm包管理器的前端工具

查看二进制程序所依赖的库文件               ldd /PATH/TO/BINARY_FILE

获取程序包的途径:
         系统发行版的光盘或官方的文件服务器(或镜像站点)
         http://mirrors.aliyun.com
         http://mirror.sohu.com
         http://mirror.163.com
         项目的官方站点
         第三方组织:EPEL
               搜索引擎:http://pkgs.org
                         http://rpmfind.net
                         http://rpm.phone.net
         自己动手,丰衣足食
         建议:检查其合法性
               来源合法性
               程序包的完整性
centos系统上rpm命令管理程序包:
          安装,升级,卸载,查询和校验,数据库维护
          rpm命令:
                 -i :安装
                 -u :升级
                 -e :卸载
                 -q :查询
                 -v :校验
                 –builddb:数据库维护
               –test:测试安装,检查并报告依赖关系及冲突消息等
               –nodeps:忽略依赖关系,不建议
               –replacepkgs:重新安装
升级:
        rpm -u :升级或安装
               -f :只升级
        rpm -uvh
             –oldpackage: 降级
             –force     : 强制升级
     注意:(1)不要对内核做升级操作,linux支持多内核版本并存,因此,直接安装新版本
              (2)如果某原程序包的配置文件安装后曾被修改过,升级时,新版本的程序提供的同一个配置文件不会覆盖原版本的配                       置文件,而是把新版本的配置文件重命名后提供;
     卸载: 直接给包名即可
         rpm -e :卸载
               –allmatches:卸载所有匹配指定名称的程序包的各版本
               –nodeps    :忽略依赖关系
               –test      : 测试卸载

     查询:   rpm -qa  -qc  -ql  等
          rpm -q :查询  
              -a :查询所有已经安装过的包
              -f file :查询指定的文件由哪个程序包安装生成
              -l :程序包安装生成的所有文件列表
              -i : 程序包相关信息,版本号,大小,所属的包组等
              -c : 查询指定的程序包提供的配置文件
              -d : 查询指定的程序包提供的文档
              -p : 指定未安装的包文件做查询操作
     校验: rpm -v  filenam      

包来源合法性验证和完整性验证:
             获取并导入信任的包制作者的秘钥
             验证:
                        安装此组织签名的程序时,会自动执行验证;
                        手动验证:rpm -k packagefile
数据库重建:
            rpm管理器数据库路径:/var/lib/rpm        rpm –initdb     初始化  如果 事先不存在数据库,则新建之否则
            查询操作:通过此处的数据库进行;           rpm –rebuliddb    重建已安装的包的数据库索索引

            获取帮助:
                          man rpm    centos6
                          man rpmdb  centos7  


YUM: Yellowdog Update Modifier ,rpm 的前端程序,可解决软件包相关依赖性,可在多个库之间定位软件包,up2date
的替代工具
yum repository: yum repo ,存储了众多rpm 包,以及包的相关的元数据文件(放置于特定目录repodata 下)
                       文件服务器:
                                        ftp://
                                        http://
                                        file://

yum 客户端配置文件:
               /etc/yum.conf :为所有仓库提供公共配置
               /etc/yum.repos.d/*.repo :为仓库的指向提供配置
                             配置格式:   [repositoryID]

                                                baseurl=ftp://        或者http://      file://

                                                gpgcheck=0           不检查签名

             yum repolist     检查是否成功 ,会显示具体信息

ftp服务器创建yum源:

     rpm -ivh /mnt/P…    vsftp           安装FPT服务
     service vdftpd  start                  开启FTP服务
     systemctl start vsftpd.service         centos7 开启FPT
     iptables  -F                          清除防火墙
                -vnL                        查看防火墙
     setenforce 0                        禁用selinux
     mkdir /var/ftp/pub/6            光碟挂载路径
     mount -o loop centos.iso  /var/ftp/pub/   生产
     mount –bind /misc/cd/ /var/ftp/pub/      实验

     http://server/centos/$releasever/$basearch/      通用格式

经过查找帮助: 以上设置最好设置开机自动启动:

                     开机自动挂载光碟:/etc/fstab        

                           格式       /dev/cdrom        /var/ftp/pub/     iso9660   auto     0      0

                    自动开启FPT服务:chkconfig  vsftpd    on      

                    自动关闭防火墙:  chkconfig iptables   off 

                    开机关闭selinux:vim /etc/sysconfig/selinux    把第七行改成permissive     (打开文件里面有说明的)  

 yum history       查看以前yum安装信息

yum   history info  #      具体查看某信息

yum   history   undo #     撤销#此次操作, 可以把曾经安装过的依赖包都卸载

原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/70663

(0)
sheweishewei
上一篇 2017-03-07 10:11
下一篇 2017-03-07 15:01

相关推荐

  • 马哥教育网络班20期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 last | head …

    Linux干货 2016-06-26
  • N22-浙江-情歌第一周博客作业

    一、计算机的组成及其功能    计算机有五大组成部分:CPU(控制器和运算器)、内存、输入、输出           CPU:运算、控制、寄存、缓存功能           内存:RAM       &nbsp…

    Linux干货 2016-08-15
  • 第一天,学习

    好好学习,天天向上

    Linux干货 2016-08-08
  • grep与正则表达式

    grep与正则表达式 grep与正则表达式 grep 正则表达式 grep 使用语法:grep [-abcEFGhHilLnqrsvVwxy][-C<显示列数>][-e<范本样式>][-f<范本文件>][范本样式][文件或目录…]  功能说明:查找指定文件或标准输入里符合条件的字符串 常用选项 -a…

    Linux干货 2016-11-05
  • iptables介绍和使用

    iptables/netfilter:    Packets Filter Firewall:          包过滤型防火墙:  Firewall:隔离工具,工作于主机或网络的边缘处,对经由的报文根据预先定义的规则(识别标准)进行检测,对于能够被规则匹配到的报文实行…

    Linux干货 2017-04-29
  • wk_03作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 who |cut -d' ' -f1|uniq 2、取出最后登录到当前系统的用户的相关信息。 # who |tail -1 |cut -d &#03…

    Linux干货 2016-12-15