宜しければ寄付をお願いします(2020/2/11) [その他OS]
私自身、生活に余裕がある訳ではないですが、お世話になっているソフトウェアには恩返しをしたく、寄付をすることにしています。FreeBSDにはここ最近、寄付ができていませんでしたね。
寄付はPayPalのアカウントから安全・簡単にできますので、今後も継続して発展できるよう、余裕があれば寄付をお願いします。
ちなみに、OpenBSDにも寄付をしたかったのですが、PayPal経由で寄付をしようとしたところ、「PayPalでは、現在JPの買い手からの寄付支払いはサポートされません。ご迷惑をおかけしますことをお詫びいたします。」とのことでした。むぅー
寄付はPayPalのアカウントから安全・簡単にできますので、今後も継続して発展できるよう、余裕があれば寄付をお願いします。
ちなみに、OpenBSDにも寄付をしたかったのですが、PayPal経由で寄付をしようとしたところ、「PayPalでは、現在JPの買い手からの寄付支払いはサポートされません。ご迷惑をおかけしますことをお詫びいたします。」とのことでした。むぅー
Unixを勉強するならBSD? Linux? その2(2018/04/12) [その他OS]
少し前に、Unixを勉強するならBSD? Linux?というタイトルで記事を投稿しましたが、個人的に気付くところがあったので、少し加筆します。
まず、エンジニアの生き方についてです。
個人的に、物を壊すぐらいまで徹底的にいじることが、その物に対して詳しくなる近道だと思っています。本当に壊してしまって真っ青になり、どうにか直そうと四苦八苦することも良い勉強だと思います。
そう考えると、私はFreeBSDを星の数ほどクラッシュさせ、星の数ほど再インストールしたなぁと思い出します。(さすがに星の数とは言い過ぎですが)
そもそも、システムをクラッシュさせるには、強力なroot権限が必要ですから、ユーザ権限でちまちまと使っている限りは、いつまで経っても成長できません。大学の研究室ではroot権限なんて付与されないでしょうし、仮に付与されても研究室の端末を壊すわけにはいきませんから、それとは別に壊しても良い“おもちゃ”を作る必要があります。
今は仮想環境という便利なものが広く普及していますが、当時は先進技術ですごく高価なものでしたから、私は自分のパソコンをパーティション分割し、WindowsとFreeBSDを共存させたりしていました。
大事なデータを含めたWindowsパーティーションを吹き飛ばして、半泣きになったのも良い思い出です。
そんなことをやっていると、基本パーティション、拡張パーティション、マスターブートレコードの概念などすぐに身につきます。
少し脱線しましたが、FreeBSDを含めたBSD系の良さはシンプルなところだと思っています。ここをいじると壊れるし、ここをいじると直る。因果関係が1対1で比較的はっきりしているので、目に見える反応がとても分かりやすいのですよね。良い意味でも悪い意味でも“シンプル”で原始的なんです。
Linuxは、使う立場からすればこれほど便利なシステムはありません。ただ、複雑・肥大化しすぎていて、設定変更に伴う因果関係が多対多で仕組みを理解しにくかったり、システム全体がブラックボックス化されていて細かい部分が見えなかったりと、良い意味でも悪い意味でも先進的で賢すぎるシステムだと思います。
『ハチロクはドライバーを育てる』
などと、どこの豆腐屋のオヤジが言ったか知りませんが、感覚的にはすごく似ているような感じがします。
好調や不調をシステムと会話できるというのは、勉強する上ではとても大切なことだったのだと、今更ですが気付きました。
まず、エンジニアの生き方についてです。
個人的に、物を壊すぐらいまで徹底的にいじることが、その物に対して詳しくなる近道だと思っています。本当に壊してしまって真っ青になり、どうにか直そうと四苦八苦することも良い勉強だと思います。
そう考えると、私はFreeBSDを星の数ほどクラッシュさせ、星の数ほど再インストールしたなぁと思い出します。(さすがに星の数とは言い過ぎですが)
そもそも、システムをクラッシュさせるには、強力なroot権限が必要ですから、ユーザ権限でちまちまと使っている限りは、いつまで経っても成長できません。大学の研究室ではroot権限なんて付与されないでしょうし、仮に付与されても研究室の端末を壊すわけにはいきませんから、それとは別に壊しても良い“おもちゃ”を作る必要があります。
今は仮想環境という便利なものが広く普及していますが、当時は先進技術ですごく高価なものでしたから、私は自分のパソコンをパーティション分割し、WindowsとFreeBSDを共存させたりしていました。
大事なデータを含めたWindowsパーティーションを吹き飛ばして、半泣きになったのも良い思い出です。
そんなことをやっていると、基本パーティション、拡張パーティション、マスターブートレコードの概念などすぐに身につきます。
少し脱線しましたが、FreeBSDを含めたBSD系の良さはシンプルなところだと思っています。ここをいじると壊れるし、ここをいじると直る。因果関係が1対1で比較的はっきりしているので、目に見える反応がとても分かりやすいのですよね。良い意味でも悪い意味でも“シンプル”で原始的なんです。
Linuxは、使う立場からすればこれほど便利なシステムはありません。ただ、複雑・肥大化しすぎていて、設定変更に伴う因果関係が多対多で仕組みを理解しにくかったり、システム全体がブラックボックス化されていて細かい部分が見えなかったりと、良い意味でも悪い意味でも先進的で賢すぎるシステムだと思います。
『ハチロクはドライバーを育てる』
などと、どこの豆腐屋のオヤジが言ったか知りませんが、感覚的にはすごく似ているような感じがします。
好調や不調をシステムと会話できるというのは、勉強する上ではとても大切なことだったのだと、今更ですが気付きました。
Unixを勉強するならBSD? Linux? (2018/02/05) [その他OS]
私は大学でFreeBSDを覚えた人間ですが、最近は大学に納品されるUnixに関しては、Linuxほぼ一択のようですね。まぁ、時代の流れなのかもしれませんが、少し寂しいものがあります。
これからUnixを勉強する学生さんは、基本的にLinuxに触れることになるのだと思いますが、正直なところ、純粋に評価するのであれば、Unixを勉強するにはBSD系とLinux系、どちらがいいのでしょうね。
私なりの考え方をまとめてみましたので、よかったら参考にしてください。
---------------------
■BSD系のメリット
・良くも悪くもUnixのCUI文化(黒いコンソール画面)を体験できる
・rc.dシステムなど、OSがどのような機構・構造で立ち上がるのかよく分かる
・自分でハック(カスタマイズ)する楽しさがある
・インターネットに情報が少なく、あっても英語だったりするが、逆に素養が磨かれる
・BSDが分かると、基本、他のBSDだろうとLinuxだろうとなんとかなる
・コンパクトな運用が可能
■BSD系のデメリット
・GUI(マウス操作)はオマケであり、Windowsっ子にはハードルが高い
・Linuxで動作するデバイスが動作しないなど、ハードウェア環境を選ぶことがある
・基本的にアプリケーションはLinux向けに開発されるため、最新のアプリケーションのコンパイルが通らなかったり、そもそも動作しないアプリケーションがある
・インターネットに情報が少なく、あっても英語だったりして、途方に暮れる
・「Linuxが使える人」の中にはカウントしてもらえない
・以前のような活気が失われつつある
---------------------
■Linux系のメリット
・デファクトスタンダード
・新しい技術や概念が次々と投入される
・マニアックなデバイスを含め、様々なデバイスを認識し、ちゃんと動く
・GUI(マウス操作)も十分であり、Windowsっ子にもハードルが高くない
・アプリケーションはLinux向けに開発されるため、常に最新のアプリケーションを使うことができる
・インターネットに情報が豊富、周りにも知っている人が多い
・仮想環境への対応が十分
・Windowsに代わるデスクトップ環境としても十分に使用可能
■Linux系のデメリット
・OSの基本部分が見えにくく、どういう機構で動いているのか分かりにくい
・新しい考え方が次々と導入され、思想や操作性に統一感がない
・ついついマウスに手が伸びてしまう。シェルスクリプト等を覚える必要性が薄い
・あまり不自由がないため、本当に問題に直面した時、何もできずに途方に暮れる
・「Linuxが使える人」という括られ方をすると、ライバルが多く埋もれてしまう
・Windowsの操作感に近いため、無理にLinuxを使わなくてもWindowsで十分という考えに至り、だんだん使わなくなる
---------------------
こうやって並べてみるとLinuxの方が良いような気がしてきました。
ちなみに私がいまだにFreeBSDを使うのは、盆栽的な感じでコンパクトに使えるからです。
最小スペックのサーバで運用しようとしているのに、Linuxで勝手にインストールされるXウィンドウシステムは邪魔者以外の何者でもないです。
これからUnixを勉強する学生さんは、基本的にLinuxに触れることになるのだと思いますが、正直なところ、純粋に評価するのであれば、Unixを勉強するにはBSD系とLinux系、どちらがいいのでしょうね。
私なりの考え方をまとめてみましたので、よかったら参考にしてください。
---------------------
■BSD系のメリット
・良くも悪くもUnixのCUI文化(黒いコンソール画面)を体験できる
・rc.dシステムなど、OSがどのような機構・構造で立ち上がるのかよく分かる
・自分でハック(カスタマイズ)する楽しさがある
・インターネットに情報が少なく、あっても英語だったりするが、逆に素養が磨かれる
・BSDが分かると、基本、他のBSDだろうとLinuxだろうとなんとかなる
・コンパクトな運用が可能
■BSD系のデメリット
・GUI(マウス操作)はオマケであり、Windowsっ子にはハードルが高い
・Linuxで動作するデバイスが動作しないなど、ハードウェア環境を選ぶことがある
・基本的にアプリケーションはLinux向けに開発されるため、最新のアプリケーションのコンパイルが通らなかったり、そもそも動作しないアプリケーションがある
・インターネットに情報が少なく、あっても英語だったりして、途方に暮れる
・「Linuxが使える人」の中にはカウントしてもらえない
・以前のような活気が失われつつある
---------------------
■Linux系のメリット
・デファクトスタンダード
・新しい技術や概念が次々と投入される
・マニアックなデバイスを含め、様々なデバイスを認識し、ちゃんと動く
・GUI(マウス操作)も十分であり、Windowsっ子にもハードルが高くない
・アプリケーションはLinux向けに開発されるため、常に最新のアプリケーションを使うことができる
・インターネットに情報が豊富、周りにも知っている人が多い
・仮想環境への対応が十分
・Windowsに代わるデスクトップ環境としても十分に使用可能
■Linux系のデメリット
・OSの基本部分が見えにくく、どういう機構で動いているのか分かりにくい
・新しい考え方が次々と導入され、思想や操作性に統一感がない
・ついついマウスに手が伸びてしまう。シェルスクリプト等を覚える必要性が薄い
・あまり不自由がないため、本当に問題に直面した時、何もできずに途方に暮れる
・「Linuxが使える人」という括られ方をすると、ライバルが多く埋もれてしまう
・Windowsの操作感に近いため、無理にLinuxを使わなくてもWindowsで十分という考えに至り、だんだん使わなくなる
---------------------
こうやって並べてみるとLinuxの方が良いような気がしてきました。
ちなみに私がいまだにFreeBSDを使うのは、盆栽的な感じでコンパクトに使えるからです。
最小スペックのサーバで運用しようとしているのに、Linuxで勝手にインストールされるXウィンドウシステムは邪魔者以外の何者でもないです。
macOS Homebrew(2017/05/01) [その他OS]
macOSを日々いろいろメンテナンスしている上で、一つの疑問に行き当たりました。私の使っているモデルは2013年モデルで主ストレージがSSDとなっていますが、SSDの寿命は大丈夫なのかと。Windowsだとこの辺のS.M.A.R.T情報は手軽に確認できるのですが、macOSだとそうもいかないようです。
ちょっと調べてみたところ、確認できる方法が軒並み有料ソフトウェアとなっていました。そこまでする必要ないんだけどなーといった感じです。立派なGUIやおまけ機能なんていらないので、本当にただ単にS.M.A.R.T情報が確認できれば良いのです。
あ、そうそう。
いつの間にか公式のMac OS X表記が、macOS表記に変わってますね。ここもその表記に合わせて変更しています。
話題を戻しますが、macOSだとOnyX(https://www.titanium-software.fr/en/)というソフトウェアで確認できるようです。実際にインストールしてみましたが、ダメでした。OnyXはmacOSのバージョンに合わせてインストールバイナリが用意されているので、10.12 Sierra用を導入してみたのですが、Webで解説されている画面と表示が違うのです。あるはずのS.M.A.R.Tボタンがどこにもないのです。バージョンの遷移によってなくなってしまった機能なのでしょうか。
困っていたところ、brewからsmartmontoolsをインストールするというWebページを見付けました(https://www.bulblub.com/2014/05/09/mac_smartmontools/)。smartmontoolsはFreeBSDでもお世話になっているほど、Unix系ではメジャーなツールです。それが本当に使えれば大変ありがたいです。
シェルでコマンドbrew install smartmontoolsを入力することでインストールできるとありますが、そもそもbrewと呼ばれるソフトウェア自体が入っていません。brewと言うとauのガラケー時代のミドルウェアを思い出しますが、そうではなくてこっちのことのようです。Webにインストール手順(スクリプト?)が1行記載されているので、その通りにします。
https://brew.sh/index_ja.html
簡単に言うと、FreeBSD pkgっぽい動きをするようですね。smartmontools以外にも色々と役に立ちそうなソフトウェアがあるかもしれません。brewのベースさえインストールできれば、brew install smartmontoolsでインストールできました。
さっそく使ってみました。
とりあえず致命的な問題はなさそうですね。
ちょっと調べてみたところ、確認できる方法が軒並み有料ソフトウェアとなっていました。そこまでする必要ないんだけどなーといった感じです。立派なGUIやおまけ機能なんていらないので、本当にただ単にS.M.A.R.T情報が確認できれば良いのです。
あ、そうそう。
いつの間にか公式のMac OS X表記が、macOS表記に変わってますね。ここもその表記に合わせて変更しています。
話題を戻しますが、macOSだとOnyX(https://www.titanium-software.fr/en/)というソフトウェアで確認できるようです。実際にインストールしてみましたが、ダメでした。OnyXはmacOSのバージョンに合わせてインストールバイナリが用意されているので、10.12 Sierra用を導入してみたのですが、Webで解説されている画面と表示が違うのです。あるはずのS.M.A.R.Tボタンがどこにもないのです。バージョンの遷移によってなくなってしまった機能なのでしょうか。
困っていたところ、brewからsmartmontoolsをインストールするというWebページを見付けました(https://www.bulblub.com/2014/05/09/mac_smartmontools/)。smartmontoolsはFreeBSDでもお世話になっているほど、Unix系ではメジャーなツールです。それが本当に使えれば大変ありがたいです。
シェルでコマンドbrew install smartmontoolsを入力することでインストールできるとありますが、そもそもbrewと呼ばれるソフトウェア自体が入っていません。brewと言うとauのガラケー時代のミドルウェアを思い出しますが、そうではなくてこっちのことのようです。Webにインストール手順(スクリプト?)が1行記載されているので、その通りにします。
https://brew.sh/index_ja.html
MacBookAir:~ root$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ==> This script will install: /usr/local/bin/brew /usr/local/share/doc/homebrew /usr/local/share/man/man1/brew.1 /usr/local/share/zsh/site-functions/_brew /usr/local/etc/bash_completion.d/brew /usr/local/Homebrew ==> The following new directories will be created: /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var Press RETURN to continue or any other key to abort ==> /usr/bin/sudo /bin/mkdir -p /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var Password: Sorry, try again. Password: Sorry, try again. Password: ==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var ==> /usr/bin/sudo /bin/chmod 755 /usr/local/share/zsh /usr/local/share/zsh/site-functions ==> /usr/bin/sudo /usr/sbin/chown root /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var ==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/Cellar /usr/local/Homebrew /usr/local/Frameworks /usr/local/bin /usr/local/etc /usr/local/include /usr/local/lib /usr/local/opt /usr/local/sbin /usr/local/share /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var ==> /usr/bin/sudo /bin/mkdir -p /Users/root/Library/Caches/Homebrew ==> /usr/bin/sudo /bin/chmod g+rwx /Users/root/Library/Caches/Homebrew ==> /usr/bin/sudo /usr/sbin/chown root /Users/root/Library/Caches/Homebrew ==> /usr/bin/sudo /bin/mkdir -p /Library/Caches/Homebrew ==> /usr/bin/sudo /bin/chmod g+rwx /Library/Caches/Homebrew ==> /usr/bin/sudo /usr/sbin/chown root /Library/Caches/Homebrew ==> Searching online for the Command Line Tools ==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress ==> Installing Command Line Tools (macOS Sierra version 10.12) for Xcode-8.3 ==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ (macOS\ Sierra\ version\ 10.12)\ for\ Xcode-8.3 Software Update Tool Downloading Command Line Tools (macOS Sierra version 10.12) for Xcode Downloaded Command Line Tools (macOS Sierra version 10.12) for Xcode Installing Command Line Tools (macOS Sierra version 10.12) for Xcode Done with Command Line Tools (macOS Sierra version 10.12) for Xcode Done. ==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress ==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools ==> Downloading and installing Homebrew... remote: Counting objects: 5918, done. remote: Compressing objects: 100% (3654/3654), done. remote: Total 5918 (delta 3323), reused 3923 (delta 2078), pack-reused 0 Receiving objects: 100% (5918/5918), 3.43 MiB | 373.00 KiB/s, done. Resolving deltas: 100% (3323/3323), done. From https://github.com/Homebrew/brew * [new branch] master -> origin/master * [new tag] 0.1 -> 0.1 * [new tag] 0.2 -> 0.2 * [new tag] 0.3 -> 0.3 * [new tag] 0.4 -> 0.4 * [new tag] 0.5 -> 0.5 * [new tag] 0.6 -> 0.6 * [new tag] 0.7 -> 0.7 * [new tag] 0.7.1 -> 0.7.1 * [new tag] 0.8 -> 0.8 * [new tag] 0.8.1 -> 0.8.1 * [new tag] 0.9 -> 0.9 * [new tag] 0.9.1 -> 0.9.1 * [new tag] 0.9.2 -> 0.9.2 * [new tag] 0.9.3 -> 0.9.3 * [new tag] 0.9.4 -> 0.9.4 * [new tag] 0.9.5 -> 0.9.5 * [new tag] 0.9.8 -> 0.9.8 * [new tag] 0.9.9 -> 0.9.9 * [new tag] 1.0.0 -> 1.0.0 * [new tag] 1.0.1 -> 1.0.1 * [new tag] 1.0.2 -> 1.0.2 * [new tag] 1.0.3 -> 1.0.3 * [new tag] 1.0.4 -> 1.0.4 * [new tag] 1.0.5 -> 1.0.5 * [new tag] 1.0.6 -> 1.0.6 * [new tag] 1.0.7 -> 1.0.7 * [new tag] 1.0.8 -> 1.0.8 * [new tag] 1.0.9 -> 1.0.9 * [new tag] 1.1.0 -> 1.1.0 * [new tag] 1.1.1 -> 1.1.1 * [new tag] 1.1.10 -> 1.1.10 * [new tag] 1.1.11 -> 1.1.11 * [new tag] 1.1.12 -> 1.1.12 * [new tag] 1.1.13 -> 1.1.13 * [new tag] 1.1.2 -> 1.1.2 * [new tag] 1.1.3 -> 1.1.3 * [new tag] 1.1.4 -> 1.1.4 * [new tag] 1.1.5 -> 1.1.5 * [new tag] 1.1.6 -> 1.1.6 * [new tag] 1.1.7 -> 1.1.7 * [new tag] 1.1.8 -> 1.1.8 * [new tag] 1.1.9 -> 1.1.9 HEAD is now at 0c9047a Merge pull request #2562 from DomT4/you_shall_not_pass_go_get ==> Tapping homebrew/core Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'... remote: Counting objects: 4393, done. remote: Compressing objects: 100% (4198/4198), done. remote: Total 4393 (delta 37), reused 459 (delta 15), pack-reused 0 Receiving objects: 100% (4393/4393), 3.51 MiB | 1.29 MiB/s, done. Resolving deltas: 100% (37/37), done. Tapped 4198 formulae (4,434 files, 11MB) ==> Cleaning up /Library/Caches/Homebrew... ==> Migrating /Library/Caches/Homebrew to /Users/root/Library/Caches/Homebrew... ==> Deleting /Library/Caches/Homebrew... Already up-to-date. ==> Installation successful! ==> Homebrew has enabled anonymous aggregate user behaviour analytics. Read the analytics documentation (and how to opt-out) here: http://docs.brew.sh/Analytics.html ==> Next steps: - Run `brew help` to get started - Further documentation: http://docs.brew.sh
簡単に言うと、FreeBSD pkgっぽい動きをするようですね。smartmontools以外にも色々と役に立ちそうなソフトウェアがあるかもしれません。brewのベースさえインストールできれば、brew install smartmontoolsでインストールできました。
MacBookAir:~ root$ brew install smartmontools ==> Downloading https://homebrew.bintray.com/bottles/smartmontools-6.5.sierra.bottle.tar.gz ######################################################################## 100.0% ==> Pouring smartmontools-6.5.sierra.bottle.tar.gz /usr/local/Cellar/smartmontools/6.5: 31 files, 1.7MB
さっそく使ってみました。
MacBookAir:~ root$ smartctl -a /dev/disk0 .... SMART Attributes Data Structure revision number: 40 Vendor Specific SMART Attributes with Thresholds: ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x001a 200 200 000 Old_age Always - 0 5 Reallocated_Sector_Ct 0x0033 100 100 000 Pre-fail Always - 0 9 Power_On_Hours 0x0032 099 099 000 Old_age Always - 1218 12 Power_Cycle_Count 0x0032 076 076 000 Old_age Always - 23852 169 Unknown_Attribute 0x0013 253 253 010 Pre-fail Always - 1172698040192 173 Wear_Leveling_Count 0x0032 193 193 100 Old_age Always - 146044289166 174 Host_Reads_MiB 0x0022 099 099 000 Old_age Always - 3562337 175 Host_Writes_MiB 0x0022 099 099 000 Old_age Always - 2240010 192 Power-Off_Retract_Count 0x0012 099 099 000 Old_age Always - 57 194 Temperature_Celsius 0x0022 051 051 000 Old_age Always - 49 (Min/Max 8/64) 197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0 199 UDMA_CRC_Error_Count 0x001a 200 200 000 Old_age Always - 0 240 Unknown_SSD_Attribute 0x0022 100 100 000 Old_age Always - 0
とりあえず致命的な問題はなさそうですね。
OpenBGPDでいこう? (2015/02/06) [その他OS]
OpenBSDプロジェクトして、OpenBGPDというのもあります。文字通り、オープンなBGPデーモンです。BGPとはダイナミックルーティングプロトコルの一つで、下記のような特徴を持っています。(若干のバイアスが掛かっています)
・何よりも安定性重視であり、ルーティングプロトコルにしてはめずらしく、TCPを使って情報のやりとりをする
・扱える経路情報数が、他のルーティングプロトコルと比較して桁違い(20万経路とか30万経路とか)
・大局的な大ざっぱな経路情報の管理に向いている。逆に緻密な制御には向いていない
・ルーティングプロトコルの中に、組織・集団といった概念がある
・相手に対して自己主張ができる
・未知の相手とは経路情報の交換ができない
・高速な経路切り替えには向いていない。切り替え時間はゆったりとした感じ
一般に、BGPは会社組織のような小規模ネットワークで使われることはまずありません。じゃあ、BGPはどこで使われるルーティングプロトコルなのか? 勘のいい人はお気付きかと思いますが、インターネットサービスプロバイダ(NTTとか、KDDIとか、ソネットとか、OCNとかとか)のようなネットワークの上位に位置する通信事業者や研究機関などです。無論、これは海外の通信事業者も含みます。
そうやって考えると、上記の特性は実はかなり理にかなっていることに気付きます。…というより、BGPはそのために作られたプロトコルなのです。
>・何よりも安定性重視であり、ルーティングプロトコルにしてはめずらしく、TCPを使って情報のやりとりをする
必ずしも通信経路が安定しているとは限りません。そのため、TCPを使ってさらなる安定性を確保しています。一般的にLANで使われるOSPFやRIPといったプロトコルだと、パケットは投げっぱなしのベストエフォートです。
>・扱える経路情報数が、他のルーティングプロトコルと比較して桁違い(20万経路とか30万経路とか)
世界中を含めるとそのぐらいの経路情報数があります。LANで使われるダイナミックルーティングだと、間違いなくパンクします。
>・大局的な大ざっぱな経路情報の管理に向いている。逆に緻密な制御には向いていない
30万経路を扱うためのトレードオフですね。と言っても、そもそも緻密な制御を行うこと自体に需要がありません。
>・ルーティングプロトコルの中に、組織・集団といった概念がある
これが以外と重要で、LANにはない概念です。
経路情報について、どこの組織から配信された情報なのかということをしっかり区別します。
>・相手に対して自己主張ができる
これも組織・集団といった概念があるからこそです。
「経路情報は教えてやるけど、なるべく使わないで」といった伝え方をすることもできます。
>・未知の相手とは経路情報の交換ができない
これも組織・集団といった概念があるからこそです。必ず既知の相手としてか情報交換ができません。
一方、LANで使用されるOSPFやRIPは、未知の相手とも情報交換ができてしいまいます。
>・高速な経路切り替えには向いていない。切り替え時間はゆったりとした感じ
メリットでもデメリットでもありますが、基本的にゆったりする必要があるのです。
なぜなら、BGPの用途からして切り替え情報が世界中に伝わるからです。特定の通信経路が不安定だからといって、経路情報の増減がパタパタと頻繁に世界中に伝わっては、連動する方も大変だからです。
とまあこんな感じです。一昔前だと、BGPを扱えるというだけで英雄扱いだったのですが、今では割とポピュラーなプロトコルになってしまっています。
そんなBGPでありOpenBGPDですが、どこかで使ってみたいと思ってはいるものの、まったく用途がないですねぇ。
・何よりも安定性重視であり、ルーティングプロトコルにしてはめずらしく、TCPを使って情報のやりとりをする
・扱える経路情報数が、他のルーティングプロトコルと比較して桁違い(20万経路とか30万経路とか)
・大局的な大ざっぱな経路情報の管理に向いている。逆に緻密な制御には向いていない
・ルーティングプロトコルの中に、組織・集団といった概念がある
・相手に対して自己主張ができる
・未知の相手とは経路情報の交換ができない
・高速な経路切り替えには向いていない。切り替え時間はゆったりとした感じ
一般に、BGPは会社組織のような小規模ネットワークで使われることはまずありません。じゃあ、BGPはどこで使われるルーティングプロトコルなのか? 勘のいい人はお気付きかと思いますが、インターネットサービスプロバイダ(NTTとか、KDDIとか、ソネットとか、OCNとかとか)のようなネットワークの上位に位置する通信事業者や研究機関などです。無論、これは海外の通信事業者も含みます。
そうやって考えると、上記の特性は実はかなり理にかなっていることに気付きます。…というより、BGPはそのために作られたプロトコルなのです。
>・何よりも安定性重視であり、ルーティングプロトコルにしてはめずらしく、TCPを使って情報のやりとりをする
必ずしも通信経路が安定しているとは限りません。そのため、TCPを使ってさらなる安定性を確保しています。一般的にLANで使われるOSPFやRIPといったプロトコルだと、パケットは投げっぱなしのベストエフォートです。
>・扱える経路情報数が、他のルーティングプロトコルと比較して桁違い(20万経路とか30万経路とか)
世界中を含めるとそのぐらいの経路情報数があります。LANで使われるダイナミックルーティングだと、間違いなくパンクします。
>・大局的な大ざっぱな経路情報の管理に向いている。逆に緻密な制御には向いていない
30万経路を扱うためのトレードオフですね。と言っても、そもそも緻密な制御を行うこと自体に需要がありません。
>・ルーティングプロトコルの中に、組織・集団といった概念がある
これが以外と重要で、LANにはない概念です。
経路情報について、どこの組織から配信された情報なのかということをしっかり区別します。
>・相手に対して自己主張ができる
これも組織・集団といった概念があるからこそです。
「経路情報は教えてやるけど、なるべく使わないで」といった伝え方をすることもできます。
>・未知の相手とは経路情報の交換ができない
これも組織・集団といった概念があるからこそです。必ず既知の相手としてか情報交換ができません。
一方、LANで使用されるOSPFやRIPは、未知の相手とも情報交換ができてしいまいます。
>・高速な経路切り替えには向いていない。切り替え時間はゆったりとした感じ
メリットでもデメリットでもありますが、基本的にゆったりする必要があるのです。
なぜなら、BGPの用途からして切り替え情報が世界中に伝わるからです。特定の通信経路が不安定だからといって、経路情報の増減がパタパタと頻繁に世界中に伝わっては、連動する方も大変だからです。
とまあこんな感じです。一昔前だと、BGPを扱えるというだけで英雄扱いだったのですが、今では割とポピュラーなプロトコルになってしまっています。
そんなBGPでありOpenBGPDですが、どこかで使ってみたいと思ってはいるものの、まったく用途がないですねぇ。
MacBook Air(homeディレクトリNFS化)その4 (2013/10/30) [その他OS]
結論として、homeディレクトリNFS化(SMB化も含む)はやはり失敗ですねぇ。以下の症状が治まりません。(バージョン10.9バージョンアップ前での結論です)
・アプリのアップデートがうまくいかずプロセスがフリーズする → Skype
・アプリが起動しない、あるいは終了しない(プロセスがフリーズする) → Firefox、Skype
・アプリの動作が遅い、もっさりする → 全般的になんとなく
・zipファイルの展開が異様に遅い、また出力に失敗する
・ログインした状態でサスペンドすると、復帰時に制御不能になる
というわけで、結論はダメということで。せっかくのUnix系OSなのだから、この辺はぜひとも実現できるようにして頂きたいですね。
・アプリのアップデートがうまくいかずプロセスがフリーズする → Skype
・アプリが起動しない、あるいは終了しない(プロセスがフリーズする) → Firefox、Skype
・アプリの動作が遅い、もっさりする → 全般的になんとなく
・zipファイルの展開が異様に遅い、また出力に失敗する
・ログインした状態でサスペンドすると、復帰時に制御不能になる
というわけで、結論はダメということで。せっかくのUnix系OSなのだから、この辺はぜひとも実現できるようにして頂きたいですね。
MacBook Air(homeディレクトリNFS化)その3 (2013/8/11) [その他OS]
前回のhomeディレクトリNFS化も失敗でした。ATOK(ATOK Passport)のインストール後、ATOK Syncによる辞書の同期で必ず失敗します。まぁ、画面上は失敗したとしか表示されないので、解析するためにパケットキャプチャしてみました。
…と、それが原因で失敗しているのかは判断できませんが、とりあえずPermission関係で失敗しているログは確認できました。
・Error:NFS3ERR_NOENT
・Access Denied: LU DL XE, Allowed: RD MD XT
UIDをを揃えてみたりいろいろやってみましたが、全くのダメ。実行権限(0x20 EXECUTE)についてDeniedとなっているので、マウントオプションにexecを付けてみましたがダメ。ってか、manで確認するとnoexecオプションはあってもexecオプションがないような。ぇー本当なの??
一応、NFSv4も試してみました。オプションはちゃんと設定したつもりでしたが、なぜかめちゃめちゃスローリー。マウントしてlsを打つと5秒ぐらい待たされます。やはりこれもダメ。
というわけで、なんとなくhomeディレクトリNFS化は無理なようです。と! NFSがダメなら、SMBでマウントすることにしました。
あとは他ユーザでログインし、taro配下のディレクトリ構造を書き換えます。(ログインしている状態だと変更できないため)
…と、それが原因で失敗しているのかは判断できませんが、とりあえずPermission関係で失敗しているログは確認できました。
・Error:NFS3ERR_NOENT
・Access Denied: LU DL XE, Allowed: RD MD XT
UIDをを揃えてみたりいろいろやってみましたが、全くのダメ。実行権限(0x20 EXECUTE)についてDeniedとなっているので、マウントオプションにexecを付けてみましたがダメ。ってか、manで確認するとnoexecオプションはあってもexecオプションがないような。ぇー本当なの??
一応、NFSv4も試してみました。オプションはちゃんと設定したつもりでしたが、なぜかめちゃめちゃスローリー。マウントしてlsを打つと5秒ぐらい待たされます。やはりこれもダメ。
というわけで、なんとなくhomeディレクトリNFS化は無理なようです。と! NFSがダメなら、SMBでマウントすることにしました。
MacBookAir:~ tarou$ cat /etc/auto_master # add 2013/08/11 /Users/smb auto_smb MacBookAir:~ taro$ cat /etc/auto_smb taro -fstype=smbfs,soft ://taro:taro@192.168.1.100/taro
あとは他ユーザでログインし、taro配下のディレクトリ構造を書き換えます。(ログインしている状態だと変更できないため)
MacBookAir:~ hanako$ su - taro MacBookAir:~ taro$ MacBookAir:~ taro$ cd /Users/taro MacBookAir:~ taro$ rm -rf * MacBookAir:~ taro$ ln -sf Library /Users/smb/taro/Library MacBookAir:~ taro$ ln -sf Public /Users/smb/taro/Public MacBookAir:~ taro$ ln -sf Music /Users/smb/taro/Music …(繰り返す)これだとATOK Syncが動きました。またしばらく様子見です。
MacBook Air(homeディレクトリNFS化)その2 (2013/7/28) [その他OS]
前回のhomeディレクトリNFS化は失敗ですね。/User/tarou直下に書き込みできません。Dropboxインストール時に失敗して判明しました。でもauto_masterの今の構成だと、書き込みできないんですよねぇ。
NFSの構成を変えてみることにしました。マウント先を/Users/tarou/nfsにします。
これも失敗(2013/8/11)
もちろんこのままではちゃんとマウントされないので、ちょっとした小細工を加えます。
1. tarouアカウントを作成する(一度、tarouでログオンしてログアウトして下さい。念のため)
2. 管理者アカウントでログイン
3. ターミナルを立ち上げ、> sudo rm -rf /Users/tarou/Desktop (で、全部消す)
4. > su - tarou
5. > cd /Users/tarou
6. > ln -sf nfs/Desktop Desktop (で、全部作る)
ちゃんとログインできて、Dropboxもインストールできました。という訳でこれでしばらく様子見です。
NFSの構成を変えてみることにしました。マウント先を/Users/tarou/nfsにします。
これも失敗(2013/8/11)
MacBookAir:~ tarou$ cat /etc/auto_master # # Automounter master map # +auto_master # Use directory service /net -hosts -nobrowse,hidefromfinder,nosuid /home auto_home -nobrowse,hidefromfinder /Network/Servers -fstab /- -static # add 2013/07/28 /Users/tarou/nfs auto_nfs
MacBookAir:~ tarou$ cat /etc/auto_nfs Desktop -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Desktop Downloads -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Downloads Documents -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Documents Library -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Library Movies -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Movies Music -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Music Pictures -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Pictures Public -fstype=nfs,soft,intr,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Public
もちろんこのままではちゃんとマウントされないので、ちょっとした小細工を加えます。
1. tarouアカウントを作成する(一度、tarouでログオンしてログアウトして下さい。念のため)
2. 管理者アカウントでログイン
3. ターミナルを立ち上げ、> sudo rm -rf /Users/tarou/Desktop (で、全部消す)
4. > su - tarou
5. > cd /Users/tarou
6. > ln -sf nfs/Desktop Desktop (で、全部作る)
ちゃんとログインできて、Dropboxもインストールできました。という訳でこれでしばらく様子見です。
MacBook Air(homeディレクトリNFS化)その1 (2013/7/21) [その他OS]
MacBook Air買いました。人生で初めてのMacです。でも使いこなせてません(笑)
カーネルがBSD由来ってのはいいですね。しかもMac OS X自体が、非常にうまい具合にUnixと融和しています。今のところ一番よく使うアプリがターミナルです。
Unixなんだったら、ということでやってみました。ホームディレクトリのNFS化。とりあえずざっとこんな感じです。
※2013/7/28 これは駄目でした。
普通にできてしまいました。とりあえず気をつける点をいくつか。
・NFS化はそれ専用のアカウントを作る。私はrootアカウントをNFS化しようとし、失敗して痛い目を見ました。(失敗したときのため。失敗すると何もできなくなります!)
・マウントオプションにnfcを付ける。Unicodeには違いないですが、WindowsやBSDと互換性がないのでおかしなことになります(なるらしい)
・ネットワーク断に要注意。省エネのサスペンドもそうでが、ネットワークが切れると強制終了する羽目になります(Waitアイコンが回り続ける)
・ログイン/ログアウトに時間が掛かるようになる。(ネットワークに接続しにいこうとしているから?)
とりあえず問題なく使えています。(そもそもNFS化しようと思ったのが、ディスクがSSDになったからなんですけどね)
カーネルがBSD由来ってのはいいですね。しかもMac OS X自体が、非常にうまい具合にUnixと融和しています。今のところ一番よく使うアプリがターミナルです。
Unixなんだったら、ということでやってみました。ホームディレクトリのNFS化。とりあえずざっとこんな感じです。
※2013/7/28 これは駄目でした。
MacBookAir:~ tarou$ cat /etc/auto_master # # Automounter master map # +auto_master # Use directory service /net -hosts -nobrowse,hidefromfinder,nosuid /home auto_home -nobrowse,hidefromfinder /Network/Servers -fstab /- -static # add 2013/07/20 /Users/tarou auto_nfs
MacBookAir:~ tarou$ cat /etc/auto_nfs Desktop -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Desktop Downloads -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Downloads Documents -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Documents Library -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Library Movies -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Movies Music -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Music Pictures -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Pictures Public -fstype=nfs,soft,nfsv3,nfc 192.168.100.6:/home/nfs/tarou/Public
普通にできてしまいました。とりあえず気をつける点をいくつか。
・NFS化はそれ専用のアカウントを作る。私はrootアカウントをNFS化しようとし、失敗して痛い目を見ました。(失敗したときのため。失敗すると何もできなくなります!)
・マウントオプションにnfcを付ける。Unicodeには違いないですが、WindowsやBSDと互換性がないのでおかしなことになります(なるらしい)
・ネットワーク断に要注意。省エネのサスペンドもそうでが、ネットワークが切れると強制終了する羽目になります(Waitアイコンが回り続ける)
・ログイン/ログアウトに時間が掛かるようになる。(ネットワークに接続しにいこうとしているから?)
とりあえず問題なく使えています。(そもそもNFS化しようと思ったのが、ディスクがSSDになったからなんですけどね)
Aspire one(AO150) NetBSD インストール (NetBSD 5.1R、2011/01/03) [その他OS]
Aspire one(AO150)でのNetBSDインストールですが、softdepに関するカーネルパニックを起こすようでこちらも使い物にならないことが分かりました。ファイルシステムはFFv2のlogオプションのみなので、softdep機能は使ってないのだけど。
単にカーネルパニックを起こすだけならまだしも、viで編集したファイルの中身を丸ごと吹き飛ばしてくれるという素敵な仕様。やっぱLinuxですかね?
単にカーネルパニックを起こすだけならまだしも、viで編集したファイルの中身を丸ごと吹き飛ばしてくれるという素敵な仕様。やっぱLinuxですかね?
panic: softdep_deallocate_dependencies: dangling deps