尝试在 CentOS 上安装 Mumble

尝试在 CentOS 上安装 Mumble

我正在尝试按照以下说明在我的 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 的巨大优势在于如果出现问题,可以卸载。

最后但可能也是最重要的一点:不要盲目相信陌生人的建议(包括我,尤其我!)。自己阅读maninfo翻阅,对网上写的任何内容持保留态度,并尝试准确理解自己在做什么以及为什么这样做。

答案2

为了解决您提取 RPM 存档的紧急问题,我建议您使用 cpio,如下所示

# rpm2cpio mumble-1.2.4-0.20120422.1-mdv2012.0.x86_64.rpm | cpio -idmv

这会将所有文件提取到当前目录中。请注意,它们将位于各自的子目录中,即如果您提取到/var/tmp二进制文件将位于/var/tmp/usr/bin。但是,不能保证该程序可以在不受支持的发行版上运行。

相关内容