CONTENTS #contents ---- Lastmodified &lastmod; ---- *db48-4.8.30.0_2 [#x399ac10] Checking for packages with security vulnerabilities: db48-4.8.30.0_2: Tag: expiration_date Value: 2018-04-30 p5-Net-SMTP-SSL-1.04: Tag: expiration_date Value: 2017-03-31 db48-4.8.30.0_2: Tag: deprecated Value: Please migrate to db5 or db6, make sure that bitcoin and siblings moved to another database or version by then p5-Net-SMTP-SSL-1.04: Tag: deprecated Value: Deprecated by upstream, use Net::SMTP instead https://forums.freebsd.org/threads/59309/ # pkg version -v |grep db db5-5.3.28_6 = up-to-date with index dbus-1.10.14_2 = up-to-date with index dbus-glib-0.104 = up-to-date with index gdbm-1.12 = up-to-date with index php56-dba-5.6.30 = up-to-date with index php56-odbc-5.6.30 = up-to-date with index php56-pdo_dblib-5.6.30 = up-to-date with index php56-pdo_odbc-5.6.30 = up-to-date with index ruby22-bdb-0.6.6_5 = up-to-date with index # pkg info -r db5 db5-5.3.28_6: ruby22-bdb-0.6.6_5 p5-BerkeleyDB-0.55_1 apr-1.5.2.1.5.4_2 ---- https://wiki.freebsd.org/Ports/BerkeleyDBCleanup **概要 [#te01addf] 再び:アプリケーションがトランザクション・データベースのためのBerkeley DBを使用している場合、トランザクション・ログ・ファイルを使用した場合、すなわち、あなたがしなければならない使用する古いそれが破損している場合には、そのログからデータベースを回復するためにBerkeley DBのツールやアプリケーションを。ログは通常、あるBerkeley DBバージョンと次のBerkeley DBバージョンとの間で互換性がなく、新しいツールは古いBerkeley DBバージョンによって書き込まれたログを読み取ることができません。 アップグレードプロセスは次のとおりです。 +ALL:すべてのアプリケーションインスタンス(プロセス)を正常にシャットダウンする +トランザクション・データベース(書き込むものに対してのみ。*ログファイル):すべてのデータベースに整合性があることをそれに確認し、必要に応じて回復を実行します。アプリケーションがオプションを提供しない場合は、dbXX_recover(XXはBerkeley DBバージョンのヒントです)とそれを実現するdb_recover-XXユーティリティのバージョンがあります。アプリケーションがされていることを確認していないあなたはdbXX_recoverまたは同様のツールを実行しながら実行しています。 +ALL:バックアップデータベース(* .DBファイル)、および存在する場合:環境(__db *。ファイル)、ログ*。ファイル +ALL:アプリケーションが「テキストへのデータベースダンプ」のようなユーティリティを提供する場合、それを使用して結果をバックアップします。そうでなければ、db * _dump *ユーティリティを使用することができます(名前にアスタリスク(星)を書いています)。 +Berkeley DB環境(__db。*ファイル)を使用するデータベースの場合のみ:データベース環境(__db。*ファイル、およびそれらのみ!)を削除すると、アプリケーションは通常、起動時に再作成します +ALL:古いBerkeley DBバージョンをインストールしたままにし、新しいBerkeley DBバージョンをインストールします(ライセンス条件に応じて、db5またはdb6にアップグレードするかどうかを選択します)。 +ALL:新しいBerkeley DBバージョンを使用するようにアプリケーションを再構築するには、/etc/make.confにWITH_BDB_VER = 5またはWITH_BDB_VER = 6を設定するか、uniquename_WITH_BDB_VER = 5(uniquenameはポートのUNIQUENAMEを指定します。たとえばbogofilter_WITH_BDB_VER = 6)。/usr/ports/Tools/scripts/BDB-upgrade-helper.shスクリプトを使用すると、削除予定の古いBerkeley DBのバージョンに依存するアプリケーションを新しいバージョンに自動的にアップグレードしてから、提供することができます古いBerkeley DBパッケージを削除してください。注:db4.8の使用を主張するいくつかのポートがあります。そのため、db5(またはdb6)を使用するほとんどのポート、およびdb48を使用するポートがほとんどです。これは現在検討中であり、作業中です。 +チェック:データベースをダンプする必要があった場合(上記の警告やパフォーマンスについての互換性については)、元のデータベースファイルを安全な場所に移動し(まだ削除しないでください)、データベースをリロードしてくださいダンプから。アプリケーションの機能を使用するか、それがない場合は、新しいバージョンのdb_load *ユーティリティを使用してください。 +ALL:アプリケーションの再起動 +ALL:最後に、古いBerkeley DBバージョンを必要とするアプリケーションがすべてアップグレードされ、古いBerkeley DBバージョンのツールがデータベースを回復する必要がないと確信できる場合は、古いBerkeley DBバージョンを削除できます。 # locate .DB # locate db5 /usr/ports/databases/db5 portinstall databases/db5 /etc/make.conf に WITH_BDB_VER=5 /usr/ports/Tools/scripts/BDB-upgrade-helper.sh # pkg info -r db5 db5-5.3.28_6: py27-bsddb-2.7.13_5 apr-1.5.2.1.5.4_2 rpm4-4.12.0.1_4 ruby22-bdb-0.6.6_5 ruby23-bdb-0.6.6_5 # # # cat /usr/ports/Tools/scripts/BDB-upgrade-helper.sh #!/bin/sh # $Id$ # ports/Tools/scripts/BDB-upgrade-helper.sh # # A helper script to upgrade applications that used to depend on # BerkeleyDB ports 4.0...4.7 to use a newer version of BerkeleyDB. # # Written by Matthias Andree in 2014, and placed under the same # license as FreeBSD itself, see /COPYRIGHT or /usr/src/COPYRIGHT. set -eu : ${PREFIX:=/usr/local} : ${LOCALBASE:=${PREFIX}} # check requisites tool= if [ -x ${LOCALBASE}/sbin/portmaster ] ; then tool=portmaster ; elif [ -x ${LOCALBASE}/sbin/portupgrade ]; then tool=portupgrade; else echo >&2 "Neither portmaster nor portupgrade installed. Cannot continue." echo >&2 "Please install ports-mgmt/portmaster before proceeding." exit 1 fi # check BerkeleyDB 4.0...4.7 versions rx='db4[1-7]?(-nocrypto)?-4' if pkg -N 2>/dev/null ; then pkg=yes ; else pkg= ; fi if [ -n "$pkg" ] ; then # pkg dbnames=$(pkg info -x "$rx") else # old pkg_* dbnames=$(pkg_info -E -X "$rx") fi # due to set -e, the script will not reach this point # unless there have been matched packages - without packages, # pkg_info or pkg will exit with failure. # check if we need to pass in origins or package names if [ "$tool" = portupgrade ] ; then if [ -n "$pkg" ] ; then dbnames=$(printf '%s\n' "$dbnames" | xargs -n1 pkg info -q -o) else dbnames=$(printf '%s\n' "$dbnames" | xargs -n1 pkg_info -q -o) fi fi # generate the upgrade command case "$tool" in portmaster) cmd="portmaster -R" for i in $dbnames ; do cmd="$cmd -r $i" ; done ;; portupgrade) cmd="portupgrade -f -r" for i in $dbnames ; do cmd="$cmd -x $i" ; done for i in $dbnames ; do cmd="$cmd $i" ; done ;; *) echo >&2 "Internal error in $0." ; exit 1 ;; esac echo "+ $cmd" $cmd # due to set -e, the script will not reach this point # if there was an error or failure with the upgrade tool if [ -n "$pkg" ] ; then pkg delete $dbnames else pkg_delete $dbnames fi echo "Success." root@ns: 2017 02 09 9:55 /root # portinstall databases/db5 [Reading data from pkg(8) ... - 379 packages found - done] ** Found already installed package(s) of 'databases/db5': db5-5.3.28_6 root@ns: 2017 02 09 9:55 /root # /usr/ports/Tools/scripts/BDB-upgrade-helper.sh pkg: No package(s) matching db4[1-7]?(-nocrypto)?-4 root@ns: 2017 02 09 9:56 /root # root@ns: 2017 02 09 9:57 /root # root@ns: 2017 02 09 9:57 /root # /usr/ports/Tools/scripts/BDB-upgrade-helper.sh pkg: No package(s) matching db4[1-7]?(-nocrypto)?-4 root@ns: 2017 02 09 9:57 /root # # pkg delete db48-4.8.30.0_2 ---- Total access &counter(total);:本日 &counter(today);:昨日 &counter(yesterday); #counter([total|today|yesterday]);