os:freebsd:freebsd-update
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
os:freebsd:freebsd-update [2017/08/08 05:28] – [リリースアップグレード] hayashi | os:freebsd:freebsd-update [2024/09/15 04:09] (現在) – hayashi | ||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== FreeBSDのアップグレード ====== | ||
+ | 同じリリース内でセキュリティパッチレベルを上げる。\\ | ||
+ | 6.3-RELEASEからは,「upgrade」オプションで異なるリリースに上がることが可能になった. | ||
+ | ===== セキュリティパッチ ===== | ||
+ | パッチをダウンロード。 | ||
+ | # freebsd-update fetch | ||
+ | |||
+ | アップデートが不要な場合、以下のような表示 | ||
+ | No updates needed to update system...... | ||
+ | | ||
+ | パッチをインストール。 | ||
+ | # freebsd-update install | ||
+ | |||
+ | 確認 | ||
+ | # freebsd-version -ku | ||
+ | 13.2-RELEASE-p2 | ||
+ | 13.2-RELEASE-p2 | ||
+ | # freebsd-version -r | ||
+ | 13.2-RELEASE | ||
+ | |||
+ | バージョンが変わっていたら再起動((カーネル、カーネルモジュールに変更がなければ不要)) | ||
+ | # shutdown -r now | ||
+ | 確認。 | ||
+ | # uname -a | ||
+ | こんな風に表示されます。((後ろにp1がついています)) | ||
+ | FreeBSD hostname 8.2-RELEASE FreeBSD 8.2-RELEASE-p1 #0: Fri Feb 18 02:24:46 UTC 2011… | ||
+ | |||
+ | 10.0からfreebsd-versionというFreeBSDのパッチレベルを教えてくれるコマンドが導入されました\\ | ||
+ | リブート前でも確認できます。 | ||
+ | # freebsd-version | ||
+ | 10.0-RELEASE-p1 | ||
+ | |||
+ | カーネルなら((unameとは違いインストールされているバージョン)) | ||
+ | # freebsd-version -k | ||
+ | 10.0-RELEASE-p2 | ||
+ | |||
+ | ユーザランドなら | ||
+ | # freebsd-version -u | ||
+ | 10.0-RELEASE-p3 | ||
+ | |||
+ | 起動中のカーネルなら | ||
+ | # freebsd-version -r | ||
+ | 10.0-RELEASE-p1 | ||
+ | |||
+ | jailのユーザランドなら | ||
+ | # freebsd-version -j jail((jailname or jid)) | ||
+ | 10.0-RELEASE-p3 | ||
+ | |||
+ | ==== update できない? ==== | ||
+ | |||
+ | unameすると以下のように | ||
+ | # uname -a | ||
+ | FreeBSD ...... 10.2-RELEASE-p9 FreeBSD 10.2-RELEASE-p9 ...... | ||
+ | |||
+ | と表示されるのに、以下のようにupdateは不要と出るケースがある | ||
+ | |||
+ | # freebsd-update fetch | ||
+ | ...... | ||
+ | Preparing to download files... done. | ||
+ | No updates needed to update system to 10.2-RELEASE-p12. | ||
+ | |||
+ | これは、unameで表示されるのがkernelバージョンのため\\ | ||
+ | freebsd-versionで表示するとわかりやすい | ||
+ | # freebsd-version -k | ||
+ | 10.2-RELEASE-p9 | ||
+ | # freebsd-version -u | ||
+ | 10.2-RELEASE-p12 | ||
+ | |||
+ | ==== 自動的に適用させる ==== | ||
+ | === cronで設定 === | ||
+ | |||
+ | 以下の1行を追加 | ||
+ | |||
+ | 0 5 * * * root / | ||
+ | |||
+ | 変更のダウンロードはされますが、適用は手動で行う必要があります | ||
+ | |||
+ | freebsd-update install | ||
+ | |||
+ | バージョン確認 | ||
+ | |||
+ | freebsd-version -kur | ||
+ | freebsd-version -k | ||
+ | uname -r | ||
+ | |||
+ | バージョンが変わっていたら再起動 | ||
+ | 通常、システムを再起動する必要があります | ||
+ | カーネルアップデートによりシステムの再起動が必要かどうかを調べるには、freebsd-version -k と uname -r を実行し、2 つのコマンドの結果が異なる場合には、システムを再起動します | ||
+ | |||
+ | |||
+ | shutdown -r now | ||
+ | |||
+ | ===== リリースアップグレード ===== | ||
+ | 必要なバイナリなどの取得 | ||
+ | # freebsd-update upgrade -r 8.2-RELEASE | ||
+ | ... | ||
+ | Does this look reasonable (y/n)? y | ||
+ | 設定がコンフリクトしたらエディタが起動するのでよさげに直す。\\ | ||
+ | その他は、 | ||
+ | Does this look reasonable (y/n)? y | ||
+ | ずっとy\\ | ||
+ | |||
+ | 終わったら、カーネルのアップデート | ||
+ | # freebsd-update install | ||
+ | 再起動((カスタムカーネルを使用している場合には、nextboot(8) を使って次回の再起動時のカーネルを、 / | ||
+ | # shutdown -r now | ||
+ | |||
+ | あれやこれやのアップデートをインストール((古い共有ライブラリとオブジェクトファイルを削除)) | ||
+ | # freebsd-update install | ||
+ | |||
+ | バージョン確認 | ||
+ | # freebsd-version | ||
+ | # uname -a | ||
+ | |||
+ | |||
+ | ==== メジャーバージョンアップグレード後の package のアップグレード ==== | ||
+ | メジャーバージョンアップグレード後には、packages, | ||
+ | |||
+ | パッケージのアップデート | ||
+ | # pkg-static upgrade -f | ||
+ | # pkg bootstrap -f | ||
+ | |||
+ | アプリケーションを再構築するには | ||
+ | |||
+ | # portmaster -af | ||
+ | |||
+ | ソフトウェアのアップグレードが終わったら、最後にもう一度 freebsd-update を実行 | ||
+ | |||
+ | # freebsd-update install | ||
+ | |||
+ | ---- | ||
+ | portsツリーの更新 | ||
+ | # portsnap fetch update && portsdb -u | ||
+ | portsからインストールしたものをアップデート | ||
+ | # portmaster pathto/port | ||
+ | |||
+ | サードパーティーアプリの更新\\ | ||
+ | ただしportsからインストールしたものはpkg lockしてから((lockしたportsをアップグレードする場合、まずunlockしてからなので注意)) | ||
+ | # pkg upgrade -f | ||
+ | |||
+ | |||
+ | 念の為再起動 | ||
+ | # shutdown -r now | ||
+ | |||
+ | ==== Bootloaderの更新 ==== | ||
+ | [[https:// | ||
+ | を更新するには]]を参照 | ||
+ | |||
+ | ===== JailのUpgrade ===== | ||
+ | |||
+ | # freebsd-update -b /jail/base -r 10.3-RELEASE upgrade | ||
+ | |||
+ | ただし、母艦側が10.3だとエラーなので、unameを環境変数でごまかす | ||
+ | |||
+ | # setenv UNAME_r 10.2-RELEASE | ||
+ | |||
+ | これで、Upgrade、install | ||
+ | # freebsd-update -b /jail/base -r 10.3-RELEASE upgrade | ||
+ | # freebsd-update -b /jail/base install | ||
+ | |||
+ | 環境変数を戻して | ||
+ | |||
+ | # unsetenv UNAME_r 10.3-RELEASE | ||
+ | |||
+ | 再度 | ||
+ | |||
+ | # freebsd-update -b /jail/base install | ||
+ | |||
+ | ===== 作業ファイルの削除 ===== | ||
+ | |||
+ | 作業ファイルが数百MBあるので消しておきます。((これを忘れると/ | ||
+ | |||
+ | # rm -fr / | ||
+ | ===== 7.3以前 ===== | ||
+ | FreeBSD 7.3-RELEASEかそれ以前のFreeBSDからアップグレードする場合には、サードパーティアプリケーションをリビルドする必要があります。 | ||
+ | アップデート後にサードパーティアプリケーションをインストールし、再びfreebsd-updateを実行して、古いライブラリを削除してください。 | ||
+ | |||
+ | ===== 参考 ===== | ||
+ | * [[https:// | ||
+ | * [[http:// | ||
+ | * http:// | ||
+ | * **[[https:// |