您的位置:首页 > 运维架构 > Linux

linux程序安装及包管理

2017-08-08 15:56 363 查看
程序包的封装类型:

  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)optionsfile1.rpm...fileN.rpm

rpm命令基本选项:

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

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

  -i  安装一个新的rpm包

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

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

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

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

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

rpm-qlsoftware_name    查看软件安装目录

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

rpm-Uvhsoftware_name    软件升级

rpm-esoftware_name      软件卸载

rpm-e--nodepssoftware_name  强制卸载

查询选项: 

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

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

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

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

已安装的包校验:

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

校验软件包中的文件:

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

  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=Somenameforthisrepository
    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> 

第三方源:

wgethttp://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm-ivhepel-release-latest-7.noarch.rpm

 

程序包编译安装:

  基本过程:

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

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

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

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

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


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: