スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

FreeBSDのメンテナンス(2017年05月)

FreeBSD 11.0に移行したパソコンに、Samba46(新規)、Apache24(再インストール)、Perl5.20(再インストール)でハマったのでメモ書きです。

1) bsdconfig (sysinstall)
bsdconfigでパッケージ等をインストールする際、 X Options を選択後、
Release Nameを 11.0-RELEASE-p1から (例) 11.0-RELEASEなど -p1のパッチを外す。

# bsdconfig

2) /usr/portsの依存性が複雑になった場合、pkgを使ってバイナリをインストールする。
pkgコマンドを使う前に最新に portsツリーを更新する。

# portsnap fetch update
# pkg install apache24 (apache24を新規にインストールする場合)
スポンサーサイト

ThingSpeakにCPU温度を送信する

目的: FreeBSDで数分おきに、IoTサーバーのThingSpeakにCPU温度を送信して蓄積する。

手順1  FreeBSDでCPUの温度を取得できるようにする。

取得できる場合
$ /sbin/sysctl dev.cpu | grep temperature
dev.cpu.0.temperature: 48.0C

取得できない場合は、下記サイトを参照して boot.confを書き換える。
http://wiki.bsdforen.de/howto:cpu_stepping

Intel CPUの場合
$ vi /boot/loader.conf
coretemp_load="YES"
$ reboot

2) ThingSpeakの設定
 ThingSpeakのアカウントを取得後、チャネルの設定をして、API Keysを入手する。

3) FreeBSDでIoTサーバーのThingSpeakにCPU温度を送信するスクリプトを作成する。

CPU温度の送信は、スクリプトのボーンシェル(sh)とwgetを組み合わせる。
下記のスクリプト内の***Insert API Keys***に入手したAPI Keysを置換する。
CPU温度は、field1の変数値($TEMP)としている。

1CPUバージョン
$ vi ./temperature.sh
#!/bin/sh
TEMP=`/sbin/sysctl dev.cpu | grep temperature | awk '{print $2}' | sed 's/C//'`
#echo $TEMP
#/usr/local/bin/wget -qO - 'http://api.thingspeak.com/update?key=***Insert API Keys***&field1=100'
WEB='http://api.thingspeak.com/update?key=***Insert API Keys***&field1='
echo $WEB$TEMP
/usr/local/bin/wget -qO - $WEB$TEMP


4) crontabで、数分毎にIoTサーバーにCPU温度を送信して、蓄積する。

$ crontab -e
*/5 * * * * /home/user/temperature.sh 1> /dev/null

 頻度は例として5分毎とした。
標準出力のメッセージが数分毎にmailで届かないように 1> /dev/nullを加える。

FreeBSDのメンテナンス(2016年03月)

自宅や職場にFreeBSD 10.2を入れたパソコンが3台あります。
まず1台分のメンテナンスの備忘録です。

- FreeBSD 10.2から10.3への移行

手順1 (バージョンの確認、freebsd-updateコマンドの確認)
バージョンが10.2 Releaseであることを確認する。
freebsd-updateコマンドが適用するために、中途半端に10.2のStableでないことを確認する。
もし10.2 ReleaseでなければReleaseのソースをCSUP等で入手してmake world...結構面倒)
$ uname -a

freebsd-update コマンド自身を更新する。
# freebsd-update fetch && freebsd-update install

手順2 (作業領域 /var の空き容量の確認)
/var/dbに数百MB程度(500MB?)、余裕があるか確認。なければ不要なファイルを削除
$ df

不幸にも?/varがあふれそうなら、/var/db/freebsd-updateの領域を確保する。

手順3 (カーネルの更新とユーザーランドの入れ替え)
# freebsd-update upgrade -r 10.3-RELEASE
数十分待って、各種質問に答える。

# /usr/sbin/freebsd-update install && reboot (1回目はカーネルの更新)

再起動後にもう一度
# /usr/sbin/freebsd-update install (2回目はユーザーランドの入れ替え)

(その後、古いライブラリに依存したアプリを再コンパイル)

さらに再起動後にもう一度
# /usr/sbin/freebsd-update install (3回目はライブラリの入れ替え)

以上の作業で、FreeBSD 10.3に更新が完了。

freebsd-updateは実施環境により2回または3回実施しますが、
10.2から10.3への更新では2回で完了です。

もし3回目(4回目以上)を実行しても、下記メッセージが出るだけで問題ありません。

# freebsd-update install
No updates are available to install.
Run '/usr/sbin/freebsd-update fetch' first.




付録 portsnap を使ったportsツリーの更新

手順4-1 portsツリーの新規作成 (初回のみ実行。)
#portsnap fetch && portsnap extract && portsnap update

手順4-2 portsツリーの更新 (2回目以降 or 更新する場合)
# portsnap fetch update

手順4-3 全パッケージの更新
# pkg upgrade

FreeBSDのメンテナンス(2014年01月)

自宅や職場にFreeBSD 9.2を入れたパソコンが3台あります。
まず1台分のメンテナンスの備忘録です。

- FreeBSD 9.2から10.0への移行

手順1 (バージョンの確認、freebsd-updateコマンドの確認)
バージョンが9.2 Releaseであることを確認する。
freebsd-updateコマンドが適用するために、中途半端に9.2のStableでないことを確認する。
もし9.2 ReleaseでなければReleaseのソースをCSUP等で入手してmake world...結構面倒)
$ uname -a

freebsd-update コマンド自身を更新する。
# freebsd-update fetch && freebsd-update install

手順2 (作業領域 /var の空き容量の確認)
/var/dbに数百MB程度(500MB?)、余裕があるか確認。なければ不要なファイルを削除
$ df

不幸にも?/varがあふれそうなら、/var/db/freebsd-updateの領域を確保する。

手順3 (カーネルの更新とユーザーランドの入れ替え)
# freebsd-update upgrade -r 10.0-RELEASE
数十分待って、各種質問に答える。

# /usr/sbin/freebsd-update install && reboot (1回目はカーネルの更新)

再起動後にもう一度
# /usr/sbin/freebsd-update install (2回目はユーザーランドの入れ替え)

(その後、古いライブラリに依存したアプリを再コンパイル)

さらに再起動後にもう一度
# /usr/sbin/freebsd-update install (3回目はライブラリの入れ替え)

以上の作業で、FreeBSD 10.0に更新が完了。

freebsd-updateは実施環境により2回または3回実施しますが、
9.2から10.0への更新では3回で完了です。

もし3回目(4回目以上)を実行しても、下記メッセージが出るだけで問題ありません。

# freebsd-update install
No updates are available to install.
Run '/usr/sbin/freebsd-update fetch' first.




付録 portsnap を使ったportsツリーの更新例

手順4-1 portsツリーの新規作成 (初回のみ実行。)
#portsnap fetch && portsnap extract && portsnap update

手順4-2 portsツリーの更新 (2回目以降、今回に限らず、不定期に更新する場合)
# portsnap fetch && portsnap update

手順4-3 パッケージのの更新を確認 (ここから先は、9.2では実行できず? 要調査)
# portversion -vL=

手順4-4 パッケージの更新

全部更新する場合。(今回はこちら)
# portupgrade -ar
# portupgrade -ary (-yは全てyesと回答)

一部のみ更新する場合。 (rsyncとapacheとその依存のみ更新)
# portupgrade -r rsync apache

FreeBSDのメンテナンス(2013年10月)

自宅や職場にFreeBSD 9.1を入れたパソコンが3台あります。
まず1台分のメンテナンスの備忘録です。

- FreeBSD 9.1から9.2への移行

手順1 (バージョンの確認、freebsd-updateコマンドの確認)
バージョンが9.0 Releaseであることを確認する。
freebsd-updateコマンドが適用するために、中途半端に9.1のStableでないことを確認する。
もし9.1 ReleaseでなければReleaseのソースをCSUP等で入手してmake world...結構面倒)
$ uname -a

freebsd-update コマンド自身を更新する。
# freebsd-update fetch && freebsd-update install

手順2 (作業領域 /var の空き容量の確認)
/var/dbに数百MB程度(500MB?)、余裕があるか確認。なければ不要なファイルを削除
$ df

不幸にも?/varがあふれそうなら、/var/db/freebsd-updateの領域を確保する。

手順3 (カーネルの更新とユーザーランドの入れ替え)
# freebsd-update upgrade -r 9.2-RELEASE
数十分待って、各種質問に答える。

# freebsd-update install && reboot (1回目はカーネルの更新)

再起動後にもう一度
# /usr/sbin/freebsd-update install (2回目はユーザーランドの入れ替え)

# /usr/sbin/freebsd-update install
Installing updates... done.



以上の作業で、FreeBSD 9.2に更新が完了。

freebsd-updateは実施環境により2回または3回実施しますが、
9.1から9.2への更新では2回で完了です。

もし3回目(4回目以上)を実行しても、下記メッセージが出るだけで問題ありません。

# freebsd-update install
No updates are available to install.
Run '/usr/sbin/freebsd-update fetch' first.




付録 portsnap を使ったportsツリーの更新例

手順4-1 portsツリーの新規作成 (初回のみ実行。9.2ではなぜかこちら)
#portsnap fetch && portsnap extract && portsnap update

手順4-2 portsツリーの更新 (2回目以降、今回に限らず、不定期に更新する場合)
# portsnap fetch && portsnap update

手順4-3 パッケージのの更新を確認 (ここから先は、9.2では実行できず? 要調査)
# portversion -vL=

手順4-4 パッケージの更新

全部更新する場合。(今回はこちら)
# portupgrade -ar
# portupgrade -ary (-yは全てyesと回答)

一部のみ更新する場合。 (rsyncとapacheとその依存のみ更新)
# portupgrade -r rsync apache
プロフィール

まつばば

Author:まつばば
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。