apt-get アップグレードはシンボリックリンクを変更しますか? たとえば、/etc/alternatives の下にある libphp5 の代わりに libphp7 がシンボリックリンクされます

apt-get アップグレードはシンボリックリンクを変更しますか? たとえば、/etc/alternatives の下にある libphp5 の代わりに libphp7 がシンボリックリンクされます

sudo apt-get upgrade を実行しました。$ sudo apt-get upgrade

アップグレード後、etcディレクトリにphp 5.7のファイルとフォルダがいくつかあることに気付きました。たとえば、/usr/bin/php7.1と/etc/php/7.0、7.1、7.2、7.3がありました。

7.1 ファイルがインストールされている理由はわかりません。そうするつもりはなかったのですが、PHP アプリは PHP7 では動作しません。

アップグレード後に /etc/alternatives/php が /usr/bin/php7.1 にシンボリックリンクされたかどうかわかりません。アップグレードによってシンボリックリンクが変更されたかどうかを確認するにはどうすればよいですか?

そこで、5.6のモジュール/拡張機能がロードされ、5.7がロードされていないことを確認するために実行しました。
$ sudo update-alternatives --set php /usr/bin/php5.6

次にシンボリックリンクをチェックしました: シンボリックリンクをチェックしました

ubuntu@ip:/etc/alternatives$ ls -alth | grep php
lrwxrwxrwx   1 root root  15 Aug 27 14:05 php -> /usr/bin/php5.6
lrwxrwxrwx   1 root root  31 Aug 27 14:05 php.1.gz -> /usr/share/man/man1/php5.6.1.gz
lrwxrwxrwx   1 root root  16 Aug 25 02:21 phpize -> /usr/bin/phpize5
lrwxrwxrwx   1 root root  32 Aug 25 02:21 phpize.1.gz -> /usr/share/man/man1/phpize5.1.gz
lrwxrwxrwx   1 root root  20 Aug 25 02:21 php-config -> /usr/bin/php-config5
lrwxrwxrwx   1 root root  36 Aug 25 02:21 php-config.1.gz -> /usr/share/man/man1/php-config5.1.gz
lrwxrwxrwx   1 root root  21 Mar 16  2017 libphp7 -> /usr/lib/libphp7.1.so

libphp7 が 7.1 にシンボリックリンクされていることがわかりました。これは問題でしょうか? 現在 php5.6 を使用しているため、7.1 モジュールや拡張機能をロードしたくないのですが、libphp7.1 のシンボリックリンクによって将来的に問題が発生するでしょうか? もしそうなら、これを修正して 5.6.37 に戻すにはどうすればよいですか?

ありがとう!

答え1

パッケージインデックスから判断する限り、Ubuntu 14.04で公式にサポートされている最新のパッケージはphp 5.5.9(https://packages.ubuntu.com/trusty-updates/php5)。

php5.6 と php7.1 の両方に言及していることを考えると、非公式リポジトリからのパッケージを実行していることはほぼ間違いありません。

とにかく、あなたの質問に答えると、はい、パッケージをインストールまたはアップグレードすると、シンボリックリンクが更新され、「代替」が変更される可能性があります。公式パッケージでは、更新しないとシステムが壊れた状態になる場合を除き、これが行われることはほとんどありません。

非公式パッケージは開発標準に完全に従っていない可能性があり、予期せずデフォルトが切り替わる可能性があります。非公式パッケージを使用する場合は、その非公式ソースの変更ログまたはメーリング リストを監視することをお勧めします。また、開発環境でアップグレードをテストして、変更があった場合に本番環境に影響を与えずに修復できるようにする必要があります。

関連情報