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操作系统时,对这种工具以及它背后的想法深深迷恋住了:这真是自由的软件世界. ...
随机推荐
- python net-snmp 的使用
这一年一直在做一个综合管控平台的项目,用python写的,项目春节前可能就要进行实际部署了和测试,趁着这个空闲期,回顾一下项目中用到的一些技术,第一个就是SNMP协议. 项目结构主要是实现对ipran ...
- 在QLabel上同时显示文字和图片的方法
有两种方法. 1.打开UI文件,在界面右键单击QLabel对象,选改变多信息文本 选择图片再确定,左侧问号就是图片. 2.直接在QLabel写富文本 <html><head/> ...
- SQL重复记录查询的几种方法
http://www.jb51.net/article/34820.htm \ 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 复制代码 代码如下: select * f ...
- Head First设计模式之组合模式
一.定义 将对象组合成树形结构来表现"整体-部分"层次结构. 组合能让客户以一致的方法处理个别对象以及组合对象. 主要部分可以被一致对待问题. 在使用组合模式中需要注意一点也是组合 ...
- Python新式类与经典类的区别
1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性:反之,即不由任意内置类型派生出的类 ...
- Micropython实例之TPYBoard来电显示功能演示
一.TPYBoardV702介绍 TPYBoardV702是目前市面上唯一支持通信通信功能的MicroPython开发板:支持Python3.0及以上版本直接运行.支持GPS+北斗双模通信.GPRS通 ...
- 我的Python学习笔记(四):动态添加属性和方法
一.动态语言与静态语言 1.1 动态语言 在运行时代码可以根据某些条件改变自身结构 可以在运行时引进新的函数.对象.甚至代码,可以删除已有的函数等其他结构上的变化 常见的动态语言:Object-C.C ...
- 【埃氏筛】洛谷P3383埃氏筛模板
思路: 如果我们要筛出 [1, n] 内的所有素数,使用 [1, √n] 内的素数去筛就可以了 设bool型数组 a,a[i] 表示 i 是否被某个素数筛过 从 2 开始枚举每个数 i: 若 a[i] ...
- 【KMP模板】简单写个KMP~
本来easy的KMP 却一直过不了洛谷的模板题... 仔细一看原来在输出next数组时打的回车而不是空格... 身败名裂... 话说有个sunday貌似一般状况下比KMP快呢...去看看2333 #i ...
- Java关于BufferedWriter.newline()换行的注意事项
最近项目中需要导出文件,其实导出文件是一个挺简单的事情.但是却遇到了很奇怪的问题. 首先导出到文件需要用到 BufferedWriter.而换行则是通过 bw.newline() 方法,问题将出在 n ...