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
下一篇 2017-03-07

相关推荐

  • RHCS问题汇总-深圳Eric

    拓补图: 服务器用了4个网卡 两个万兆网卡做了bond连到netgear交换机,交换机端口access 30 对应IP段10.199.16.0/22,网关10.199.16.1做在netgear上 两个千兆网卡做了bond连到cisco 3750交换机,交换机端口truck 30 40 1001-1300 对应IP段10.199.16.0/22、10.176…

    Linux干货 2016-06-22
  • 你会用Python写洗脑神曲吗?

    Python实战班-学员学习成果展示 同样是周末,有些人是闲聊着度过,有些人是学习充电度过。 人与人最大的区别,是下班后的时间。看你怎么去利用。 周末时,马哥Python实战班的学员正在认真上课,他们中的不少人,月薪在10k以上,甚至月薪20k以上。 但他们没有虚度周末时光。 #最浪费时间的就是:思而不学+犹豫不决。# 马哥Python实战班二期的小伙伴们才…

    Linux干货 2016-07-05
  • 2016-10-17作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 date命令查看系统时间,clock或者hwclock命令查看硬件时间, 将系统时间同步到硬件时间的方法hwclock -s   2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。在生产环境的中创建SCREEN会话,会话的…

    Linux干货 2016-10-18
  • Linux用户和组管理

    进程以其发起者的身份运行; 进程对文件的访问权限,取决于发起此进程的用户的权限;   系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户;这类用户从不用登录系统;     groupadd命令:添加组   groupadd [选项] group_name   -g G…

    Linux干货 2016-11-21
  • Linux(Debian系)常用运维命令节选之一

    用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) 查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查看PCI信息:lspci (相比cat /proc/pci更直观) 查看内存信息:cat /proc/meminfo 查看USB设备:cat /proc/bus…

    Linux干货 2016-10-30
  • 今天正式加入马帮开启我的学习Linux之路

    3月26日马哥教育30期开学仪式,终于见到了我们的马哥马永亮先生,同时马哥还有前大众点评架构师张Sir以及国内首批通过红帽授权认证讲师(RHCI)的老王给我们新生做了开学演讲。接着我们的宗华老师以及云珍老师对我们平时的学习以及生活做出了各种介绍与规定,还有我们同学之间也进行了相互自我介绍彼此熟悉….

    2018-03-26