CentOS

CentOS 7の話。

CentOSのはなし

基本的にServersMan@VPSでの経験

yum系

病む止むヤムチャ

パッケージが古すぎる

CentOS 7が原因なのかほかが原因なのかわからんがyumからとれるパッケージのバージョンが古すぎワロタ状態のときの対処法.

IUSが新しいのを提供してるのでここから取るようにする.

Gitの場合

yum remove git
yum install https://centos7.iuscommunity.org/ius-release.rpm
yum install git2u

パッケージの命名はPhilosophy - IUS参照.

†:CentOS7 Git2系をyumからインストールする。

conflict発生する

実際に出たメッセージは以下

--> 衝突を処理しています: systemd-219-62.el7_6.6.x86_64 は initscripts < 9.49.28-1 と衝突しています
--> 依存性解決を終了しました。
エラー: systemd conflicts with initscripts-9.49.17-1.el7_0.1.x86_64
 問題を回避するために --skip-broken を用いることができます。
 これらを試行できます: rpm -Va --nofiles --nodigest

書いてるけどError: Multilib version problems found

yum update --skip-broken

で解決する。

ServersMan@VPS での話
本質的に解決できない話になってて
CentOS7 yum update 後、VPSサーバーにアクセスができなくなった-FAQ | 会員サポート:ユビキタスプロバイダ DTI
これがあるためにinitscriptsが関係するカーネルのアップデートがあるとなる。

Error: Multilib version problems found. が出る

実際に出た内容は以下.

エラー:  Multilib version problems found. This often means that the root
        cause is something else and multilib version checking is just
        pointing out that there is a problem. Eg.:

          1. You have an upgrade for openldap which is missing some
             dependency that another package requires. Yum is trying to
             solve this by installing an older version of openldap of the
             different architecture. If you exclude the bad architecture
             yum will tell you what the root cause is (which package
             requires what). You can try redoing the upgrade with
             --exclude openldap.otherarch ... this should give you an error
             message showing the root cause of the problem.

          2. You have multiple architectures of openldap installed, but
             yum can only see an upgrade for one of those architectures.
             If you don't want/need both architectures anymore then you
             can remove the one with the missing update and everything
             will work.

          3. You have duplicate versions of openldap installed already.
             You can use "yum check" to get yum show these errors.

        ...you can also use --setopt=protected_multilib=false to remove
        this checking, however this is almost never the correct thing to
        do as something else is very likely to go wrong (often causing
        much more problems).

        Protected multilib versions: openldap-2.4.44-20.el7.x86_64 != openldap-2.4.39-3.el7.x86_64
エラー: Protected multilib versions: nss-util-3.36.0-1.el7_5.x86_64 != nss-util-3.16.2-2.el7_0.x86_64

めんどくさかったのでopenldapとnss-utilをアップデートしないようにして回避

yum update --exclude openldap nss-util