rpm包就相当于windows下的exe,已经是编译后的二进制代码,可以使用rpm命令或dnf install ???.rpm来安装
lnux下软件的安装跟windows不同, 后者要到处去找, 要做一大堆操作. 而linux的软件安装是用yum来管理的: 是从repo源上安装的, 当dnf install a.package时, 会去搜索, 查找/etc/yum.repos.d/下的repo文件中的源仓库, 如果找到了就自动为你安装, 否则就报错说没有安装包.
dnf makecache : 是将创建 仓库的metadata数据文件.
dnf clean all: 是清除metadata缓存信息.
注意, 这两个所谓的缓存信息, 并不是将仓库中的packages(包实体)全部下载到本地来(真要那么做, 就叫做制作一个本地 镜像了), **不能够做到, 也没有必要. **它只是创建的仓库源的 元数据(关于仓库源的一些 "登记" 信息等),便于查找/索引.
实际上, 仓库源中的所有安装包, 在 repo文件的 baseurl或 mirrorlist所描述的地址里 就有, 就保存在那里.如: .../version(23)/Everything/i386/Os
可以给baseurl或mirrorlist写多个地址.
实际上win下也可以做成软件仓库, 只是没有社区去做去维护(因为有太多的comp靠win软件挣钱的了)
epel仓库是由fedora社区维护的; forge和fusion源都是由centos社区维护的.
dnf --help列出的是Main commands, 只是主要命令, 像localinstall都没有列出来.
在linux下可以使用 .d
作为目录的后缀, 表示这是一个目录.
在 http://download1.rpmfusion.org/free/fedora/releases/23/Everything/i386/os/Packages/m/
中就有mplayer这个rpm安装包:
先把 rpmfusion-free-release-23.noarch.rpm从网站上下载下来, 或用curl, 或用wget获得:
然后安装这个rpm, 就会在/etc/yum.repos.d目录下增加 rpmfusion-free.repo等仓库文件.
然后 用 dnf makecache
创建/生成 本地的 metadata缓存 文件信息, 共dnf /yum查询, 安装使用.
不要随便使用 dnf clean all, 这个命令会把以前创建生成的 所有的 cache都删除掉, 再次生成所有的 metadata 缓存时, 如果网络不好, 会耽搁很长时间.
安装了rpmfusion后, 不管是free.repo, 还是nonfree.repo,这两个 "software repositories" "软件仓库" 里面都有 mplayer和ffmpeg.
注意, 这些列出来的包名称 , 其实都是 *.rpm的, 只是.rpm的后缀是省略了的.
softname.rpm和softname.lib 的关系, 前者就像是一个门店, 后者就像是这个店铺的 仓库一样. 通常门店和仓库是分离的, 分开的, 不会放在一起, 所以 softname.rpm 和softname.lib 要分开存放. 不放在一起, 以免softname.rpm 太庞杂, 而且将rpm和lib绑在一起, 不符合linux的哲学, 不符合最小组件软件的法则, 但是rpm又离不开lib, 对lib有dependency的依赖关系, 如同门店门市离不开仓库一样. 实际上, 很多软件都是rpm, 都要依赖于其 "后台的" lib库. 而rpm前端 调用的函数, 基本上都是由后台的lib库来提供的.
有那么多的mplayer(multi-player) 多媒体播放器, 它们的关系是怎样的?
所有的音频/视频播放器, 都是ffmpeg项目的子孙. mplayer成员也是ffmpeg的成员. 所以 mplayer可以认为约等于 ffmpeg, mplayer也是所有播放器的祖先.
mplayer主要是一个命令行的播放器, (通常没有gui界面), 因此, 用qt开发的smplayer和用gtk开发的 gnome-mplayer等就成了 mplayer的gui界面, 那么 实际上 smplayer和gnome-mplayer就只是mplayer的 "外包装" "一件衣服"而已. 它们在播放的时候, 其实还是在 调用 mplayer. 就像外面那些 "串串"一样, 它们一天在外面拉客, 跑项目, 而实际回来完成生产的, 还是厂里的工人. 这里 厂里生产的工人, 就是mplayer, 而在外面跑业务跑销售的就是smplayer.
mplayer自己带的前端界面是 mplayer-gui, 其他界面有qt的smplayer, 和gnome-mplayer.
====================
安装mplayer到底需要安装哪些东西?
- 可以显示的指明, 到底要安装哪些软件, 如
使用 dnf install mplayer smplayer
, 就只是安装mplayer, 和它的前端界面smplayer, 而不会安装其他播放界面, 如gnome-mplyaer, mplayer-gui等. 当然(会自动包含所有依赖的音频/视频 编码/解码库, 如ffmpeg-libs, x264-libs, x265-libs, xvidcore, 还有其他音频解码器, 以及一些qt库等. - 也可以 使用 通配符, 安装根mplayer有关的一切软件, 使用
dnf install *mplayer*
实际上, 只要安装mplayer和smplayer后, 基本上就可以播放 任何 音频和视频了, 包括常见的 mp3音频, flv视频文件. 而且不必另外, 额外的去下载其他什么解码器了!
mplayer和smplayer的音频/视频解码器, 很多是从 rpmfusion-free-updates 仓库中获得的!
当然除了smplayer界面外, 还可以安装gnome-mplayer, 和mplayer-gui, 但是后面这两者都没有smplayer的界面 "好看".