linux程序安装及包管理
程序包的封装类型:
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程序安装及包管理的更多相关文章
- Linux centosVMware 自动化运维Ansible介绍、Ansible安装、远程执行命令、拷贝文件或者目录、远程执行脚本、管理任务计划、安装rpm包/管理服务、 playbook的使用、 playbook中的循环、 playbook中的条件判断、 playbook中的handlers、playbook实战-nginx安装、管理配置文件
一.Ansible介绍 不需要安装客户端,通过sshd去通信 基于模块工作,模块可以由任何语言开发 不仅支持命令行使用模块,也支持编写yaml格式的playbook,易于编写和阅读 安装十分简单,ce ...
- Linux学习之RPM包管理-rpm命令管理(十六)
Linux学习之RPM包管理-rpm命令管理 目录 简介 RPM包依赖性 包全名与包名 rpm软件包安装 rpm软件包卸载 升级降级rpm软件包 rpm软件包的查询 rpm软件包校验 简介 RPM是R ...
- Linux新手的最佳包管理器
一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Linux开发 中,包管理器非常重要,知道如何使用多种包 ...
- Linux学习之RPM包管理-yum管理(十七)
Linux学习之RPM包管理-yum管理 目录 IP地址配置 网络yum源 yum命令 光盘yum源搭建 IP地址配置 IP+子网掩码就可以在局域网(内网)使用. IP+子网掩码+网关+DNS就可以访 ...
- 转: 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/ ...
- CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法
CentOS 6.4安装pip,CentOS安装python包管理安装工具pip的方法如下: 截至包子写本文的时候,pip最新为 1.5.5 wget --no-check-certificate h ...
- Linux 强制安装rpm 包
Linux 强制安装rpm 包 2014年12月12日 10:21 [root@ilearndb1 Server]# rpm -ivh unixODBC-devel-2.* --nodeps -- ...
- Linux服务器中安装python包管理工具pip
pip是python的包管理工具,python的强大之处除了在于语法的简练,还有就是对众多的库支持了. 1.下载pip包管理工具 链接地址:https://pypi.python.org/pypi/p ...
- Linux RPM、TAR包管理
一.RPM软件包命令的使用 RPM主要有5种基本操作模式:安装.卸载.刷新.升级及查询.下面分别介绍. 1.安装软件包 命令语法: rpm -ivh [RPM包文件名称] 命令中各参数的含义如下: - ...
随机推荐
- MD5 不可逆加密,Des对称可逆加密 ,RSA非对称可逆加密 ,数字证书 SSL
:MD5 不可逆加密2:Des对称可逆加密3:RSA非对称可逆加密4:数字证书 SSL Anker_张(博客园)http://www.cnblogs.com/AnkerZhang/ 1:MD5 不可逆 ...
- C++的dllexport和dllimport
__declspec(dllexport) 声明一个导出函数,是说这个函数要从本DLL导出.我要给别人用.一般用于dll中省掉在DEF文件中手工定义导出哪些函数的一个方法.当然,如果你的DLL里全是C ...
- 在Visual Studio中编译Linux的一些问题
相对路径: 在windows下,和当前文件同一个目录下的引用会这么写: #include "SubDirectory\header.h" 或者 #include "Sub ...
- CodeForces - 820
Mister B and Book ReadingCodeForces - 820A 题意:C,V0,V1,A,L..总共有C页书,第一天以V0速度读,每天加A,但是不能超过V1,并且要从前一天的看到 ...
- jsf+ejb
jsf+ejb 示例 http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide/5/html/Sample_J ...
- VMware workstation 14 安装 iOS虚拟机
https://03k.org/vmware-macos.html https://jingyan.baidu.com/article/363872ec206a356e4ba16f30.html 1. ...
- PAT甲级——1102 Invert a Binary Tree (层序遍历+中序遍历)
本文同步发布在CSDN:https://blog.csdn.net/weixin_44385565/article/details/90577042 1102 Invert a Binary Tree ...
- Python面向对象之单例模式
单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某 一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就 能派上用场. 单例 ...
- 使用cp命令拷贝目录下指定文件外的其他文件
shopt -s extglob cp test/!(abc*) test2/ cp test目录下除了以abc开头的其他文件 如果是除去多个文件的话使用 !(a|b) ; 注意不要多加空 ...
- [FACT_采购信息]增加了延期天数
[延期天数]是指的采购单上的货品交货日期 减 [厂家来货]单据货品第一次到货日期. [FACT_采购信息] SELECT p.[Purchase_ID] [采购单号ID], p.[Supply_No] ...