rocketmq-client-cpp 报错centos RPM should not be used directly install RPM packages, use Alien instead



RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list \
    && apt-get clean \
    && apt-get update \
    && apt install -y sudo rpm alien \
    && wget https://github.com/apache/rocketmq-client-cpp/releases/download/2.0.0/rocketmq-client-cpp-2.0.0-centos7.x86_64.rpm \
    && alien rocketmq-client-cpp-2.0.0-centos7.x86_64.rpm \
    && sudo dpkg -i rocketmq-client-cpp_2.0.0-1_amd64.deb \
    && ln -s /usr/local/lib/librocketmq.so /usr/lib \
    && sudo ldconfig \

简单来说,Ubuntu的软件包格式是deb,如果要安装rpm的包,则要先用alien把rpm转换成deb。

sudo apt-get install alien #alien默认没有安装,所以首先要安装它

sudo alien xxxx.rpm #将rpm转换位deb,完成后会生成一个同名的xxxx.deb

sudo dpkg -i xxxx.deb #安装

注意,用alien转换的deb包并不能保证100%顺利安装,所以可以找到deb最好直接用deb

有时候,我们想要使用的软件并没有被包含到 Ubuntu 的仓库中,而程序本身也没有提供让 Ubuntu 可以使用的 deb 包,你又不愿从源代码编译。但假如软件提供有 rpm 包的话,我们也是可以在 Ubuntu 中安装的。

方法一:

  1. 先安装 alien 和 fakeroot 这两个工具,其中前者可以将 rpm 包转换为 deb 包。安装命令为:

sudo apt-get install alien fakeroot

  1. 将需要安装的 rpm 包下载备用,假设为 package.rpm。

  2. 使用 alien 将 rpm 包转换为 deb 包:

fakeroot alien package.rpm

  1. 一旦转换成功,我们可以即刻使用以下指令来安装:

sudo dpkg -i package.deb

方法二:

1.CODE:

sudo apt-get install rpm alien

2.CODE:

alien -d package.rpm

3.CODE:

sudo dpkg -i package.deb

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/suleil1/article/details/49471723

猜你喜欢

转载自blog.csdn.net/qq_15821487/article/details/121215526