![尝试在 CentOS 上安装 Mumble](https://linux22.com/image/598379/%E5%B0%9D%E8%AF%95%E5%9C%A8%20CentOS%20%E4%B8%8A%E5%AE%89%E8%A3%85%20Mumble.png)
我正在尝试按照以下说明在我的 CentOS VPS 上安装 mumble:
http://www.hosting.com/support/linux/install-the-mumble-voip-server-to-redhat-or-centos
当我读到这一行时:
rpm2cpio mumble-server-1.2.2-3mdv2011.0.x86_64.rpm > file.lzma
lzma -d file.lzma
我收到此错误:
root@vps-1112788-12524 [/home/~~~~/mumble]# rpm2cpio mumble-1.2.4-0.20120422.1-mdv2012.0.x86_64.rpm > file.lzma
root@vps-1112788-12524 [/home/~~~~/mumble]# lzma -d file.lzma
lzma: file.lzma: File format not recognized
我确实更新了文件的名称,因为他们给我的链接不可用。我从同一个地方获得了新的 rpm:
http://www.rpmfind.net/linux/rpm2html/search.php?query=mumble+server&submit=Search+...
我是 Linux 新手,所以我不知道我做错了什么。
答案1
我是 Linux 新手,所以我不知道自己在做什么。
已为您修复。不建议在 RedHat 及其衍生产品上安装老式 Unix tar.gz 的任何软件包(事实上,在大多数基于软件包的发行版上),因为文件混乱到无法挽回的可能性非常高。
考虑到这一点,我建议做几件事来减轻你的负担。
首先,以 root 身份运行yum install rpm-build rpmrebuild rpmlint ruby ruby-devel
。这将为真正节省时间的实用程序设置环境fpm
。接下来,安装 fpm(以 root 身份运行):gem install fpm
现在您有了一个真正的享受:一个几乎自动的 RPM 构建环境。从 rpmfind 站点(在您链接到的教程中提到)下载 Mandriva 的 RPM,然后提取(使用 cpio - 这是您遇到的问题 - 请阅读页面man cpio
,或使用 file-roller)安装后要运行的脚本,将它们与教程中发布的说明进行比较,以便以后方便使用。
现在,下载并重建整个 mumble-server 源 .tar.gz 档案,如果提供了校验和/摘要,则检查其完整性:
tar xzvf mumble-server*.tar.gz
cd ./mumble-server*
.configure --prefix=/usr
make
mkdir -p /tmp/mumble-server
make install DESTDIR=/tmp/mumble-server
fpm -s dir -t rpm -n mumble-server -C /tmp/mumble-server -p mumble-server-VERSION_ARCH.rpm usr
export EDITOR=emacs
rpmrebuild -e -n -d . -p mumble-server-VERSION_ARCH.rpm
这将构建软件包并调用 Emacs 来自定义 RPM .spec 文件并包含您从 Mandriva 的 RPM 和教程中收集到的片段。完成此操作后,保存更改并退出 Emacs,按y
使用新设置重建软件包。重建后,它将被放入 ARCH 子目录中,您可以从那里发出命令yum install mumble-server*.rpm
来纠正问题。RPM 的巨大优势在于如果出现问题,可以卸载。
最后但可能也是最重要的一点:不要盲目相信陌生人的建议(包括我,尤其我!)。自己阅读man
和info
翻阅,对网上写的任何内容持保留态度,并尝试准确理解自己在做什么以及为什么这样做。
答案2
为了解决您提取 RPM 存档的紧急问题,我建议您使用 cpio,如下所示
# rpm2cpio mumble-1.2.4-0.20120422.1-mdv2012.0.x86_64.rpm | cpio -idmv
这会将所有文件提取到当前目录中。请注意,它们将位于各自的子目录中,即如果您提取到/var/tmp二进制文件将位于/var/tmp/usr/bin。但是,不能保证该程序可以在不受支持的发行版上运行。