包管理器是很方便啊,在node里有npm、cnpm、yarn等,要啥install啥子。
通过 Linux 的包管理器可以很方便的下载并安装 Linux 下的一些软件。比如 Centos 中的 yum,Ubuntu 中的 apt-get。
以前用都没怎么了解过,今天!我就要拿小本本记下来!
简单介绍
大多数包系统都是围绕包文件的集合构建的。包文件通常是一个存档文件,它包含已编译的二进制文件和软件的其他资源,以及安装脚本。包文件同时也包含有价值的元数据,包括它们的依赖项,以及安装和运行它们所需的其他包的列表。 ——前辈的文章
虽然包管理系统的功能和优点大致相同,但打包格式和工具却因平台而异:
图片来源:Linux.cn
yum
yum(Yellow dog Updater, Modified)主要用在Fedora,RedHat,Centos等发行版上。
列出安装包
1 | ➜ ~ yum list | grep lrzsz # rzsz工具用于windows机器和远端的Linux机器通过XShell传输文件.拖拽即可 |
软件包名称(lrzsz)
主版本号.次版本号.源程序发行号-软件包的发行号.主机平台(
1 | ➜ ~ yum list | grep lrzsz |
软件包名称.cpu架构(lrzsz.x86_64)
主版本号.次版本号.源程序发行号-软件包的发行号.主机平台(0.12.20-36.el7)
- “el7” 表示操作系统发行版的版本,”el7” 表示的是 centos7/redhat7,”el6” 表示 centos6/redhat6。
软件源(@anaconda)
搜索软件包
1 | yum search httpd |
安装
1 | sudo yum install lrzsz |
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成。
yum安装软件只能一个装完了再装另一个,正在yum安装一个软件的过程中,,如果再尝试用yum安装另外一个软件,yum会报错。
如果有一个本地的软件包
假如你有一个rpm软件包但是没有它所依赖的软件包,你不知道到哪去得到它所依赖的软件包。你仍然可以通过yum安装这个rpm软件包,并从软件仓库里得到它所依赖的软件包。
1 | yum localinstall /opt/httpd-devel-2.2.15-29.el6_4.x86_64.rpm |
卸载
1 | yum list installed # 列出所有已经安装了的软件 |
更新
1 | yum update httpd # 更新一个已存在的软件包 |
下载但不安装
下载一个插件让yum只下载rpm软件包而不安装。插件名字叫downloadonly,可以通过yum安装。
1 | yum install yum-downloadonly |
现在就可以从软件仓库里只下载软件包而不安装了:
1 | yum install httpd-devel -downloadonly |
默认情况下软件包会被下载到/var/cache/yum/目录,但是可以添加额外选项将其下载到指定位置:
1 | yum install httpd-devel -downloadonly -downloaddir=/home |