0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

freebsd-update(8) でパッチが落ちてこない

Posted at

注意
この記事は三年ほど前に下書きで書き留めていた記事で、勿体ないので公開してみるが、公開時点での追試は行っておらず聊か本筋とは別の不具合が有ったのかもしれないが、何かの参考になればと思い公開してみるので、疑問点はコメントでおねしゃすm(__)m

FreeBSD RELEASE 13 系が出た影響で...

FreeBSD 12.x の i386 が Tier 1 から Tier 2 へ降格されたので、freebsd-update(8) が利用できなくなった(らしい)。

実際に実行しよると、以下の通りになる。

# freebsd-update fetch install
Looking up update.FreeBSD.org mirrors... none found.
Fetching metadata signature for 12.2-RELEASE from update.FreeBSD.org... failed.
No mirrors remaining, giving up.

This may be because upgrading from this platform (i386)
or release (12.2-RELEASE) is unsupported by freebsd-update. Only
platforms with Tier 1 support can be upgraded by freebsd-update.
See https://www.freebsd.org/platforms/index.html for more info.

web ページの更新は執筆時点ではマダみたいじゃが、アナウンスの予定通りに RELEASE 13 系がドロップした時点から、update 出来なくなったようじゃ。

セキュリティパッチは流れて来よるのか知らんけどw

ほじゃ、devel/git 入れんのぉ🤔

開発に参加しよらん 普通 の人はいくら作業PCがパワフルになっちょるとは言え、パッケージのダウンロードやらビルドもデカいし時間もかかりよるご本尊をインスコするのも些か大儀い。
そこで net/cvsup の用に気軽なソースコード同期しよるカラクリが、net/gitup が ports skeleton として用意されちょるので、使ってみる。

gitup(8)

KY活動

御呪い的に、freebsd-update を実行してもスルーさせるために freebsd-update.conf を書き換えておく。

sed -i.ORIG 's|ServerName|#ServerName|' /etc/freebsd-update.conf

ここから本番!

パッケージでバイナリインスコ
pkg install net/gitup
ports_skeletonでインスコ
cd /usr/ports/net/gitup && make install
12.2が対象じゃったら...
sed -iORIG 's|releng/11.4|releng/12.2|' /usr/local/etc/gitup.conf

freebsd-update で採取しよった作業ディレクトリとご本尊ディレクトリを削除じゃが、独自で kernel を作っちょったら、適宜 conf ディレクトリをバックアップする。

/rescue/tar cJf ORIGINKERNEL.tar.xz /usr/src/sys/i386/conf
一気に消し消し
rm -Rf /usr/src /var/db/freebsd-update

gitup でソースコードを手元にコピー

段取りは整いよったけん、gitup でソースコードをご本尊から持ってくる。

gitup release
作業中はこんな感じ
# Host: git.freebsd.org
# Port: 443
# Repository: /src.git
# Target: /usr/src
# Want: 81526c74d9cd16944ca240573680c358a031c989
# Branch: releng/12.2
# Action: clone
 + /usr/src/.arcconfig
 + /usr/src/.arclint
 + /usr/src/.cirrus.yml
 + /usr/src/.gitattributes
 + /usr/src/.gitignore
 + /usr/src/COPYRIGHT
 + /usr/src/LOCKS
 + /usr/src/MAINTAINERS
 + /usr/src/Makefile
 + /usr/src/Makefile.inc1
 + /usr/src/Makefile.libcompat
 + /usr/src/Makefile.sys.inc
 + /usr/src/ObsoleteFiles.inc
 + /usr/src/README
 + /usr/src/README.md
...snip

結局は...

ソースコードしか、当然じゃが取ってこれんけ、手元でバイナリを作る必要がある。

😢
cd /usr/src/ && make buildworld buildkernel installworld installkernel
reboot

はぁ...

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?