我正试图在我的CentOS VPS上安装下面的说明:
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新手,所以我不知道自己做错了什么。
发布于 2012-10-12 21:07:58
我对Linux很陌生,所以我不知道自己在做什么。
帮你修好了。在tar.gz及其衍生产品上安装传统的Unix RedHat软件包是不可取的(就这一点而言,大多数基于包的发行版),因为无法赎回的文件被破坏的可能性很高。
考虑到这一点,我建议做几件事情来减轻你的负担。
首先,作为根yum install rpm-build rpmrebuild rpmlint ruby ruby-devel。这将为实时节省时间的实用工具fpm设置环境。接下来,安装fpm (作为root用户):gem install fpm
现在您有了真正的享受:几乎自动的RPM构建环境。从rpmfind站点(在您链接到的教程中提到)下载Mandriva的RPM,并提取(使用cpio --这是您抓取的地方--请阅读man cpio页面或文件滚筒)安装后要运行的脚本,并将它们与教程中的说明进行比较,并为以后提供方便。
现在,下载并重新构建完整的服务器源.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页面,带着一点盐在网络上写的任何东西,试着准确地理解你在做什么和为什么。
发布于 2012-10-12 21:11:22
为了解决提取RPM归档的直接问题,我建议使用cpio,如下所示
# rpm2cpio mumble-1.2.4-0.20120422.1-mdv2012.0.x86_64.rpm | cpio -idmv这将将所有文件提取到当前目录中。注意,它们将位于各自的子目录中,也就是说,如果您提取到/var/tmp,二进制文件将位于/var/tmp/usr/bin中。但是,不能保证程序将在不受支持的发行版上运行。
https://serverfault.com/questions/437844
复制相似问题