程序包的封装类型:

  RPM软件包:扩展名为“.rpm”,使用rpm命令安装。

  DEB软件包:扩展名为“.deb”,使用DPKG包管理器。

  源代码软件安装:程序员开发完成的原始代码,一般制作成“.tar.gz”,“.tar.bz2”等格式的压缩包文件,需要使用相应的工具编译安装。

  附带安装程序的软件包:软件包中会提供用于安装的可执行程序或脚本,如install.sh、setup等。

获取程序包的途径:

  1)系统发行版的光盘或官方的服务器,

  CentOS镜像:

    https://www.centos.org/download/
    http://mirrors.aliyun.com
    http://mirrors.sohu.com
    http://mirrors.163.com

  2)项目官方站点

  3)第三方组织:fedora-EPEL

  4)自己制作:注意检查包的完整性

rpm包管理器:

  将编译好的应用程序的各组成文件打包一个或几个程序包文件,从而方便快捷地实现程序包的安装、卸载、查询、升级和校验等管理操作。

rpm命令格式:

  rpm -i ( or --install) options file1.rpm ... fileN.rpm

rpm命令基本选项:

  -h  以#显示程序包管理执行进度

  -v  显示安装过程中的详细信息

  -i  安装一个新的rpm包

  -e  卸载指定名称的软件包

  -U  升级系统中某个软件包

  -F  检查并更新系统中的某个软件包

--test    只进行升级测试 
--excludedocs 不安装软件包中的文档文件
--includedocs 安装文档
--replacepkgs 强制重新安装已经安装的软件包
--replacefiles 替换属于其它软件包的文件
--force 忽略软件包及文件的冲突
--noscripts 不运行预安装和后安装脚本
--prefix 将软件包安装到由 指定的路径下
--ignorearch 不校验软件包的结构
--ignoreos 不检查软件包运行的操作系统
--nodeps 不检查依赖性关系

rpm -ivh  --nodeps  software_name 强制安装,安装了之后不一定能用

rpm -ql software_name    查看软件安装目录

rpm -qi sotware_name    查看软件安装的版本信息

rpm -Uvh software_name    软件升级

rpm -e software_name      软件卸载

rpm -e --nodeps software_name  强制卸载

查询选项: 

  -qa  显示当前系统中所以以rpm方式安装的软件列表

  -qi  查看指定软件包的名称、版本、用途描述等详细信息

  -ql  显示指定软件包在系统中安装的所有目录、文件列表

  -qf  查看指定文件或目录是由哪个软件所安装的

已安装的包校验:

  rpm {-V|--verify} [select-options] [verify-options]

校验软件包中的文件:

  rpm -K|checksig rpmfile   检查包的完整性和签名

  rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7  导入所需的公钥

  --initdb  初始化rpm数据库

  --rebuilddb  重建rpm数据库

yum源:

  rpm的前端程序,用来解决软件包相关的依赖性,可在多个库中定位软件包

yum命令:

  yum [options] [command] [package ...]

  -e  静默执行

  -y  自动应答yes

  deplist  列出包依赖

  list  列出程序包

  info  查看包信息

  install  安装程序包

  reinstall  重新安装

  update  更新程序包

  downgrade  降级

  check-update  检查可更新的包

  remove  卸载程序包

  clean   清除缓存

  makecache  构建缓存

  search [关键字]  搜索包

  history    查看yum事物历史

  groupinstall  包组管理

yum客户端配置文件:

  /etc/yum.conf  为所有仓库提供公共配置

  /etc/yum.repos.d/*.repo  为仓库的指向提供配置

  /var/log/yum.log    yum日志文件

  仓库指向的定义:

    [repositoryID]

    name=Some name for this repository
    baseurl=url://path/to/repository/
    enabled={1|0}
    gpgcheck={1|0}
    gpgkey=URL
    enablegroups={1|0}
    failovermethod={roundrobin|priority}

repo配置文件中可用变量

  $releasever: 当前OS的发行版的主版本号
  $arch: 平台,i386,i486,i586,x86_64等
  $basearch:基础平台;i386
  $YUM0-$YUM9:自定义变量

创建yum仓库:

  createrepo [options] <directory> 

第三方源:

wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

rpm -ivh epel-release-latest-7.noarch.rpm

 

程序包编译安装:

  基本过程:

    1)下载源代码安装包,解压到指定目录

    2)./configure配置,设置安装的目标路径,选择安装的功能模块

    3)make编译,通过makefile文件将源代码变成可执行的二进制文件

    4)make install安装,将编译好的二进制文件复制到系统中,并设置应用环境

    编译过程:源代码->预处理->gcc编译->汇编->链接->执行

 

  

linux程序安装及包管理的更多相关文章

  1. Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件

    一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...

  2. Linux学习之RPM包管理-rpm命令管理(十六)

    Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...

  3. Linux新手的最佳包管理器

    一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Linux开发 中,包管理器非常重要,知道如何使用多种包 ...

  4. Linux学习之RPM包管理-yum管理(十七)

    Linux学习之RPM包管理-yum管理 目录 IP地址配置 网络yum源 yum命令 光盘yum源搭建 IP地址配置 IP+子网掩码就可以在局域网(内网)使用. IP+子网掩码+网关+DNS就可以访 ...

  5. 转: CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    from: http://www.linuxde.net/2014/05/15576.html CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法 2014/05/ ...

  6. CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法

    CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate h ...

  7. Linux 强制安装rpm 包

    Linux 强制安装rpm 包 2014年12月12日 10:21 [root@ilearndb1 Server]# rpm -ivh  unixODBC-devel-2.*  --nodeps -- ...

  8. Linux服务器中安装python包管理工具pip

    pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...

  9. Linux RPM、TAR包管理

    一.RPM软件包命令的使用 RPM主要有5种基本操作模式:安装.卸载.刷新.升级及查询.下面分别介绍. 1.安装软件包 命令语法: rpm -ivh [RPM包文件名称] 命令中各参数的含义如下: - ...

随机推荐

  1. MVC笔记-模板页布局

    MVC分区后  要加上Ares下的主目录   如:@Html.ActionLink("这个帖子真奇葩", "HotIndex", "Prosceniu ...

  2. 数据库路由中间件MyCat - 源代码篇(9)

    此文已由作者张镐薪授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 3. 连接模块 3.5 后端连接 3.5.1 后端连接获取与负载均衡 上一节我们讲了后端连接的基本建立和响应 ...

  3. centos7及以上安装git服务

    检查git是否安装或者是版本 whereis git等命令来检查是否已经安装了git版本的 git --version检测到我的环境自带的git版本 已安装但不是想要的版本需要卸载 yum remov ...

  4. 【转】insert忽略重复、mysql插入操作跳过、插入覆盖覆盖、mysql更新重复

    需求背景:一般情况,插入数据的时候,有脏数据的情况,主键重复的话,直接insert into 会报错的,然后下面的sql都不再执行了,如果可以确定后面的数据可以覆盖前面的数据,直接用replace i ...

  5. Linux运用一些常用命令

    今天搜集整理了一些Linux服务器运维常用命令,希望对大家有帮助:1.删除0字节文件 find -type f -size 0 -exec rm -rf {} 2.查看进程按内存从大到小排列 ps - ...

  6. poj2449(k短路&A_star模板)

    题目链接:http://poj.org/problem?id=2449 题意:给出一个有向图,求s到t的第k短路: 思路:k短路模板题,可以用A_star模板过: 单源点最短路径+高级搜索A*;A*算 ...

  7. 洛谷P1368 均分纸牌(加强版)

    P1368 均分纸牌(加强版) 题目描述 有 N 堆纸牌,编号分别为 1,2,…, N.每堆上有若干张,纸牌总数必为 N 的倍数.可以在任一堆上取1张纸牌,然后移动. 移牌规则为:在编号为 1 堆上取 ...

  8. 洛谷P2522 [HAOI2011]Problem b(莫比乌斯反演)

    传送门 我们考虑容斥,设$ans(a,b)=\sum_{i=1}^a\sum_{j=1}^b[gcd(a,b)==k]$,这个东西可以和这一题一样去算洛谷P3455 [POI2007]ZAP-Quer ...

  9. 剑指Offer的学习笔记(C#篇)-- 数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  10. thinkphp5实现mysql数据库备份

    其实备份数据库说白了就是向一个.sql的文档中写入一条一条的sql命令 public function back() { $to_file_name="backsql.sql"; ...