web-dev-qa-db-ja.com

Debian:MONITを正しくアップグレードする方法は?

Sudo apt-get install monitを実行しましたが、インストールされるのはバージョン5.9のみで、現在のバージョンは5.17.1です。そこで、プリコンパイルされたバイナリをダウンロードするためにwget https://mmonit.com/monit/dist/binary/5.17.1/monit-5.17.1-linux-x64.tar.gzを実行しました。これで、次のファイルができました。

monit-5.17.1/bin/monit
monit-5.17.1/conf/monitrc
monit-5.17.1/man/man1/monit.1

MONITがインストールされている場所をdpkg -S monit | sortで確認しました。

monit: /etc/default/monit
monit: /etc/init.d/monit
monit: /etc/logrotate.d/monit
monit: /etc/monit
monit: /etc/monit/conf.d
monit: /etc/monit/monitrc
monit: /etc/monit/monitrc.d
monit: /etc/monit/monitrc.d/acpid
monit: /etc/monit/monitrc.d/Apache2
monit: /etc/monit/monitrc.d/at
monit: /etc/monit/monitrc.d/cron
monit: /etc/monit/monitrc.d/mdadm
monit: /etc/monit/monitrc.d/memcached
monit: /etc/monit/monitrc.d/mysql
monit: /etc/monit/monitrc.d/nginx
monit: /etc/monit/monitrc.d/openntpd
monit: /etc/monit/monitrc.d/openssh-server
monit: /etc/monit/monitrc.d/pdns-recursor
monit: /etc/monit/monitrc.d/postfix
monit: /etc/monit/monitrc.d/rsyslog
monit: /etc/monit/monitrc.d/smartmontools
monit: /etc/monit/monitrc.d/snmpd
monit: /etc/monit/templates
monit: /etc/monit/templates/rootbin
monit: /etc/monit/templates/rootrc
monit: /etc/monit/templates/rootstrict
monit: /etc/pam.d/monit
monit: /usr/bin/monit
monit: /usr/share/bug/monit
monit: /usr/share/doc/monit
monit: /usr/share/doc/monit/changelog.Debian.gz
monit: /usr/share/doc/monit/CONTRIBUTORS
monit: /usr/share/doc/monit/copyright
monit: /usr/share/doc/monit/examples
monit: /usr/share/doc/monit/examples/monit.service
monit: /usr/share/doc/monit/examples/monit.upstart
monit: /usr/share/doc/monit/NEWS.Debian.gz
monit: /usr/share/doc/monit/README.Debian
monit: /usr/share/doc/monit/README.gz
monit: /usr/share/lintian/overrides/monit
monit: /usr/share/man/man1/monit.1.gz
monit: /var/lib/monit
monit: /var/lib/monit/events

Confファイルmonitrcの処理方法は知っていますが、ファイルmonitをどのパスで置き換える必要があるのか​​わかりません(/usr/bin/monitまたは他の場所でのみ?)。これがアップグレードする正しい方法である場合。

1
John Doof

Aptを介してインストールされたパッケージを、tar.gzまたはその他のサードパーティパッケージ形式から手動でインストールしたパッケージと混合して一致させようとしないでください。

Debianは基本的に、リリース時にパッケージのバージョンをフリーズし、新しいバージョンをリリースしません。セキュリティと重大なバグは必要に応じてバックポートされますが、リリース時に入手するパッケージのバージョンはほとんどstableであり、同じバージョンのそのリリースの存続期間中のパッケージ。

サードパーティのパッケージを使用する場合は、最初にパッケージのDebianバージョンをアンインストールする必要があります。次に、サードパーティのパッケージをインストールします。次に、起動スクリプト、ログローテーションなどまで統合する方法を理解する必要があります。サードパーティのものでは、これはほとんど自動的に行われません。また、セキュリティの問題についてパッケージを監視するためのアップグレード計画を立てる必要があります。

パッケージをバックポートする を試すこともできますが、これも大変な作業であり、セキュリティ更新を自分で維持する必要があります。

とにかく、99%の確率でDebianに関しては、最新/最高のものを使おうとするのを避け、リリースされたバージョンに固執したいと思うでしょう。

2
Zoredache

新しいバージョンが本当に必要だったので、ハイブリッドインストールを作成しました。それでも私は2つのインストールを分離しようとしました:

wget https://mmonit.com/monit/dist/binary/5.22.0/monit-5.22.0-linux-x64.tar.gz
tar zxvf monit-5.22.0-linux-x64.tar.gz
Sudo cp -a monit-5.22.0 /usr/local/

cd /usr/bin/
Sudo mv monit monit.bak
Sudo ln -s /usr/local/monit-5.22.0/bin/monit

cd /usr/share/man/man1/
Sudo mv monit.1 monit.1.bak
Sudo mv monit.1.gz monit.1.gz.bak
Sudo ln -s /usr/local/monit-5.22.0/man/man1/monit.1
1
Karl Forner

Ubuntuで私が通常行うことは、新しいリリースから.debファイルを取得し、それをインストールすることです。

dpkg -i updated-monit.deb

のように http://packages.ubuntu.com/trusty/admin/monit または http://packages.ubuntu.com/xenial/admin/monit

このメソッドは、apt/aptitudeのように依存関係を処理しないことに注意してください。また、monitの一部のバージョンでは、libsslへの依存関係が更新され、現在のバージョンでは機能しませんでした。

0
DevOps