Linux包管理器
按Linux系统分类
- Redhat系列:Redhat(本身就是Centos)、Centos、Fedora等,采用Dpkg包管理器
- Debian系列:Debian、Ubuntu等,使用RPM包管理器
RedHat系列
- 常见的安装包:.rpm安装包,安装rpm包的命令是“rpm -ivh(--install--verbose--hash) ”
- 包管理工具 yum,e.g. yum install unzip
- 支持tar包
1.rpm常用命令:
# rpm -qa 显示所有已安装的套件名称
# rpm -ql softwarename 显示软件包含的所有档案
# rpm -qf /path/to/file 显示特定档案所属套件名称
# rpm -qip pkgfile.rpm (显示软件资讯) 查询套件档案资讯
# rpm -qlp pkgfile.rpm 查询软件档案资讯
# rpm -q softwarename (只显示软件名称) 显示指定套件是否安装
# rpm -qi softwarename (显示软件资讯) 显示指定套件是否安装
# rpm -e softwarename 移除软件
- yum常用命令:
# yum install <package> 安装套件
# yum update 全部更新
# yum update <package> 更新指定程序包package e.g. yum update dhcp
# yum check-update 检查可更新的程序
# yum info <package> 显示安装包信息 e.g. yum info dhcp
# yum list 显示所有已经安装和可以安装的程序包
# yum list <package> 显示指定程序包安装情况
# yum search <keyword>查找软件包
# yum remove or erase package 删除程序包
# yum clean headers 清除header
# yum clean packages 清除下载的rpm包
# yum clean all 清除header与rpm包
3.tips:
- 加快你的yum的速度.使用yum的扩展插件yum-fastestmirror,个人认为这个插件非常有效,速度真的是明显提高
- 软件组安装有时我们安装完系统,管理有一类软件没有安装,比如用于开发的开发包,我们可以用软件包来安装
列出所有的软件包
# yum grouplist
比如我们要安装开发有关的包
# yum groupinstall "Development Libraries"
# yum groupinstall "Development Tools"
比如我们要安装中方支持
# yum groupinstall "Chinese Support"
查看程序package1依赖情况
# yum deplist package1
Debian系列
- 常见的安装包:.deb安装包,安装deb包的命令是“dpkg -i ”
- 包管理工具 apt-get e.g. apt-get install unzip
- 支持 tar 包
- dpkg常用命令:
# dpkg -l 显示所有已安装的套件名称
# dpkg -L softwarename 显示套件包含的所有档案
# dpkg -S /path/to/file 显示特定档案所属套件名称
# dpkg -I pkgfile.deb 查询套件档案资讯
# dpkg -c pkgfile.deb 查询套件档案资讯
# dpkg -l softwarename (小写L,只列出简洁资讯) 显示指定套件是否安装
# dpkg -s softwarename (显示详细资讯) 显示指定套件是否安装
# dpkg -p softwarename (显示详细资讯) 显示指定套件是否安装
# dpkg -r softwarename (会留下套件设定档) 移除指定套件
# dpkg -P softwarename (完全移除) 移除指定套件
- apt-get常用命令:
# apt-cache search <package> 搜索软件包
# apt-cache show <package> 获取包的相关信息,如说明、大小、版本等
# apt-get install <package> 安装包
# apt-get install <package> --reinstall 重新安装包
# apt-get -f install 修复安装
# apt-get remove <package> 删除包
# apt-get remove <package> --purge 删除包,包括配置文件等
# apt-get update 更新源
# apt-get upgrade 更新已安装的包
# apt-get dist-upgrade 升级系统
# apt-cache depends <package> 了解使用该包依赖那些包
# apt-cache rdepends <package> 查看该包被哪些包依赖
# apt-get build-dep <package> 安装相关的编译环境
# apt-get source <package> 下载该包的源代码
# apt-get check 检查是否有损坏的依赖
# apt-get clean(autoclean) 删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除)
- tips
Debian下可以使用alien处理RPM包,alien 可处理.deb、.rpm、.slp、.tgz 等档案格式, 进行转档或安装。在Debian下安装非Debian包时,可使用alien进行安装
# apt-get install alien 安装alien套件
# alien -i quota-3.12-7.i386.rpm 在Debian下安装RPM套件
# alien -d quota-3.12-7.i386.rpm 制作成deb包
# alien -r quota_3.12-6_i386.deb 制作成rpm包:
补充
mac下的包管理工具homebrew,安装命令:
$ sudo ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
常用命令:
$ brew install <package> 安装软件包
Linux包管理器的更多相关文章
- Linux 包管理器
RPM: rpm(Red-Hat Package Manager) 为 Redhat 提出的包管理器, 用于在 Redhat 及其衍生版本中安装 rpm 格式的软件包 rpm 的优点: 1.简化了源码 ...
- linux 各种发行版及包管理器的关系
linux 各种发行版及包管理器的关系 Linux发行版列表 基于Kpkg(Debian 系) Debian GNU / Linux 及其派生发行版使用deb软件包格式,并使用dpkg及其前端作为包管 ...
- Linux新手的最佳包管理器
一个 Linux 新用户应该知道他或她的进步源自于对 Linux 发行版的使用,而 Linux 发行版有好几种,并以不同的方式管理软件包. 在 Linux开发 中,包管理器非常重要,知道如何使用多种包 ...
- 把玩Alpine linux(二):APK包管理器
导读 Alpine Linux非常精简,开机内存占用也在二三十兆大,没有拆箱即用,就需要我们自己去做一些了解和配置 Alpine Linux的优劣 优势 Alpine Linux的Docker镜像特点 ...
- Arch Linux 独特的包管理器相关名词解释及用法对照
https://wiki.archlinux.org/index.php/PacmanPacman包管理器是Arch Linux的主要特色之一.它结合了简单的二进制包格式和易于使用的构建系统.pacm ...
- 在linux中使用包管理器安装node.js
网上文章中,在linux下安装node.js都是使用源码编译,其实node的github上已经提供了各个系统下使用各自的包管理器(package manager)安装node.js的方法. 1. 在U ...
- Linux系统-----包管理器的演变
每个电脑设备都使用某种形式的软件来执行其预定任务.在软件开发的早期,对产品进行了严格的bug和其他缺陷测试.在过去的十多年里,软件通过互联网发布,目的是通过应用新版本的软件来修复任何错误.在某些情况下 ...
- Node.js包管理器Yarn的入门介绍与安装
FAST, RELIABLE, AND SECURE DEPENDENCY MANAGEMENT. 就在昨天, Facebook 发布了新的 node.js 包管理器 Yarn 用以替代 npm .咱 ...
- 你需要知道的包管理器(Package Manager)
最近我花了一点时间关注了在不同系统之中所用到的包管理器(Package Manager) .最开始的时候,我是在使用Linux操作系统时,对这种工具以及它背后的想法深深迷恋住了:这真是自由的软件世界. ...
随机推荐
- Hello TensorFlow 三 (Golang)
在一台ubuntu 16.04.2虚拟机上为golang安装TensorFlow. 官方参考:https://www.tensorflow.org/install/install_go 首先安装go ...
- java 信号量Semaphore
Semaphore 信号量主要用于约束多个线程可同时获取的物理上的或者逻辑上的资源数.比如用在各种池的设计中. 信号量用于管理这些资源的一个虚拟的管理凭据.线程在获取一个资源时,首先要获取一个资源的许 ...
- Python的变量和常量
解释器执行Python的过程: (python3,c:/test.py) 1:启动python解释器(内存中). 2:将c:/test.py内容从硬盘读到内存中(这一步和文本编辑器是一样的). 3 ...
- 自己动手写把”锁”---LockSupport介绍
本篇是<自己动手写把"锁">系列技术铺垫的最后一个知识点.本篇主要讲解LockSupport工具类,它用来实现线程的挂起和唤醒. LockSupport是Java6引入 ...
- SVG 入门——理解viewport,viewbox,preserveAspectRatio
工欲善其事必先利其器,没有真正搞懂SVG里的viewport,viewbox, preserveAspectRatio这三个属性,就很容易遇到坑,最近写项目用到svg这三个属性被我一眼就略过 ,后来发 ...
- Python 学习教程汇总
Python快速教程http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html简明Python教程https://bop.molun.ne ...
- Android studio签名与代码混淆
签名: 应用程序升级:应用程序模块化:代码或者数据共享 混淆:混淆器将代码中的所有变量.函数.类的名称变为简短的英文字母代号,而混淆后的代码很难被反编译,即使反编译成功也很难得出程序的真正语义.
- 配置不同环境下启用swagger,在生产环境关闭swagger
前言 Swagger使用起来简单方便,几乎所有的API接口文档都采用swagger了.使用示例:http://www.cnblogs.com/woshimrf/p/swagger.html, 现在开发 ...
- 【后缀数组】洛谷P3809模板题
题目背景 这是一道模板题. 题目描述 读入一个长度为 n n n 的由大小写英文字母或数字组成的字符串,请把这个字符串的所有非空后缀按字典序从小到大排序,然后按顺序输出后缀的第一个字符在原串中的位置. ...
- 【读书笔记】【深入理解ES6】#2-字符串和正则表达式
更好的Unicode支持 在ES6出现以前,JS字符串一直基于16位字符编码(UTF-16)进行构建. 每16位的序列是一个编码单元(code unit),代表一个字符. length.charAt( ...