请教了一个 Linux 安装 rpm 的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zjyd
V2EX    Linux

请教了一个 Linux 安装 rpm 的问题

  •  
  •   zjyd 2020-12-22 09:36:38 +08:00 3084 次点击
    这是一个创建于 1842 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在国产某麒麟系统下通过 rpm 方式安装 postgresql11,postgresql11-server-11.10-2PGDG.el7.x86_64.rpm 依赖 libicu-50, 但是系统本身安装了 libicu-52, 但是 libicu-52 也不能卸载,依赖了一堆其他东西,一强制安装桌面就挂了,桌面上有给 rpm 签名加白名单的图形化软件。现在有什么方法解决不

    24 条回复    2020-12-23 07:01:26 +08:00
    CallMeReznov
        1
    CallMeReznov  
       2020-12-22 09:39:16 +08:00
    docker ?
    msg7086
        2
    msg7086  
       2020-12-22 09:41:24 +08:00
    一般 rpm 是绑定操作系统的。如果你那个系统不是基于 RHEL7 的话,直接装是会有问题的。
    如果他是魔改现有系统的话,还是找原始的系统上的包吧……
    zjyd
        3
    zjyd  
    OP
       2020-12-22 09:43:26 +08:00 via Android
    @CallMeReznov docker 和虚拟化都不行,数据库太大担心性能等风险,而且方案上没有也不好这么弄
    yulgang
        4
    yulgang  
       2020-12-22 09:44:04 +08:00
    升级到 12 、装个 52 不冲突的包,里面包含 50 的、把 52 连接成 50 、虚拟化?
    yulgang
        5
    yulgang  
       2020-12-22 09:44:46 +08:00
    系统降级?
    zjyd
        6
    zjyd  
    OP
       2020-12-22 09:58:49 +08:00 via Android
    @yulgang 做了软连接不行,下载了 pg13 还是依赖 52,虚拟化大家怕有风险,系统降级也弄不了,这个系统是 xx 指定 xx 版本
    lvzhiqiang
        7
    lvzhiqiang  
       2020-12-22 10:29:36 +08:00
    @zjyd 容器化是最方便的,数据独立挂载出来那有什么风险,最多就是性能会有点损耗,但是比你去折腾依赖方便稳定多了。 数据库数据定时做好备份,就不担心了。
    lvzhiqiang
        8
    lvzhiqiang  
       2020-12-22 10:32:14 +08:00
    @lvzhiqiang 容器化本质就是被隔离的一个进程组。
    m4d3bug
        9
    m4d3bug  
       2020-12-22 10:32:35 +08:00 via Android
    @zjyd 你都已经在未经认证测试的系统上安装无法满足依赖的软件,还谈什么风险?
    m4d3bug
        10
    m4d3bug  
       2020-12-22 10:33:14 +08:00 via Android
    要么容器要么把麒麟的人找来给你适配
    littlewing
        11
    littlewing  
       2020-12-22 10:53:24 +08:00 via iPhone
    自己编译 pg
    AmrtaShiva
        12
    AmrtaShiva  
       2020-12-22 12:41:02 +08:00 via iPhone
    所谓的国产系统 魔改了很多东西 和通用发行版本不能 平行讨论 包也一样
    no1xsyzy
        13
    no1xsyzy  
       2020-12-22 12:52:01 +08:00
    @zjyd 你担心性能先把桌面卸载了。
    docker 再怎么占性能甚至不如 i3wm 占性能多。
    tomychen
        14
    tomychen  
       2020-12-22 14:17:47 +08:00
    源码编译安装?
    omph
        15
    omph  
       2020-12-22 15:40:56 +08:00
    [NixOS/patchelf: A small utility to modify the dynamic linker and RPATH of ELF executables]( https://github.com/NixOS/patchelf)
    可能有用
    dorothyREN
        16
    dorothyREN  
       2020-12-22 15:44:59 +08:00
    麒麟不是 debian 系的嘛,
    freenull
        17
    freenull  
       2020-12-22 15:49:09 +08:00
    拿到 postgresql11,postgresql11-server 的源码包,在 spec 文件修改 libicu-50 依赖或者将其删掉即可,然后重新编包,但这样可能会影响 postgresql11 的使用
    defunct9
        18
    defunct9  
       2020-12-22 15:54:19 +08:00   2
    开 ssh,让我上去看看
    freenull
        19
    freenull  
       2020-12-22 15:54:51 +08:00
    特意看了下 postgresql11-server 的 spec 文件:
    %if %icu
    Requires: libicu-devel
    %endif

    %if %icu
    BuildRequires: libicu-devel
    Requires: libicu
    %endif

    spec 文件并没有要求 libicu 的版本,这应该是编译环境决定的,建议楼主在麒麟上重编下 postgresq11-server,应该能够正常安装
    12101111
        20
    12101111  
       2020-12-22 16:27:58 +08:00
    icu 每次升级都要重新 rebuild 的,C++写的, ABI 不稳定, 但是 API 一般不会变的, 只能 rebuild 了.
    另外 icu 这个依赖都是大户,编译都要好几个小时的那种
    (dev-libs/icu-68.1:0/68.1::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (dev-qt/qtwebengine-5.15.2:5/5.15::12101111-overlay, ebuild scheduled for merge)
    (dev-util/electron-11.1.1:11/11::12101111-overlay, ebuild scheduled for merge)
    (dev-util/electron-9.4.0:9/9::12101111-overlay, ebuild scheduled for merge)
    (net-libs/webkit-gtk-2.30.4:4/37::12101111-overlay, ebuild scheduled for merge)
    (dev-libs/libxml2-2.9.10-r4:2/2::gentoo, ebuild scheduled for merge)
    (media-gfx/imv-4.1.0-r1:0/0::gentoo, ebuild scheduled for merge)
    (www-client/chromium-89.0.4350.3:0/0::12101111-overlay, ebuild scheduled for merge)
    (www-client/firefox-84.0:0/84::12101111-overlay, ebuild scheduled for merge)
    (x11-misc/slop-7.5:0/7.5::gentoo, ebuild scheduled for merge)
    (dev-qt/qtcore-5.15.2:5/5.15.2::gentoo, ebuild scheduled for merge)
    (media-libs/harfbuzz-2.7.2:0/0.9.18::gentoo, ebuild scheduled for merge)
    (x11-libs/vte-0.60.3:2.91/2.91::gentoo, ebuild scheduled for merge)
    icu 是 Unicode 国际化库, 还经常有更新, 更新一下新 emoji 表什么的
    yanqiyu
        21
    yanqiyu  
       2020-12-22 16:47:15 +08:00
    去找 postgresql 的 srpm (可以去 https://src.fedoraproject.org/rpms/postgresql 或者 https://koji.mbox.centos.org/koji/packageinfo?packageID=1932 )寻找对应的 srpm, 然后在你的系统下 yum/dnf builddep 然后 rpmbuild 一波
    julyclyde
        22
    julyclyde  
       2020-12-22 19:49:08 +08:00
    看包名,libicu-50 和 libicu-52 是相同的,应该不存在兼容问题(和 libicu50 、libicu52 是不同的概念)
    可以强制安装上

    至于为什么 pgsql 依赖 52,那估计是你用错了发行版的包
    typetraits
        23
    typetraits  
       2020-12-22 20:32:29 +08:00
    @defunct9 #18 老哥,看你开了至少三年的 ssh 了,真的有人找你看过吗?
    defunct9
        24
    defunct9  
       2020-12-23 07:01:26 +08:00 via iPhone   2
    @typetraits 貌似有。还不少
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5785 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 06:13 PVG 14:13 LAX 22:13 JFK 01:13
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86