チラ裏な思い出話「ぼくとLinux」 (90)

ぼくがLinuxに出会ったのは2005年の夏だった

2005年と言えばPCはPentium 4 Prescott–2M(シングルコア2.8GHz3.8GHz)、DDR2 SDRAM(2561024MB)、SATA HDD(40GB160GB) 、Windows XPというスペック

他にもMac miniが販売されたり、PowerPCアーキテクチャからx86アーキテクチャへの移行が発表された

Intelプラットフォーム採用は当時のマカーからするとゲイツが登場したとき並の衝撃だったと思う

携帯電話は3G端末が全盛期で今でもSymbian OSが採用された国産携帯電話端末として話題となるDOCOMO M1000が販売された年でもある

3G端末で言えばDOCOMO FOMA 901iSシリーズや902シリーズ、au W31xシリーズ、Vodafone V603シリーズが販売されてる年だ

アニメで言えば 灼眼のシャナ、To Heart2、アクエリオン、撲殺天使ドクロちゃん、かみちゅ!、AIR、蟲師、エウレカセブン、最終兵器彼女などこの歳は約150作品のアニメが作成された年だった

2005年のネット言えばニコニコ動画なんてまだ存在しない

当時は空前のブログブームが起きていて、更にはインターネットラジオが流行っていた

忘れちゃいけないのがドラマ電車男だろうか、このあたりから2ちゃんねるが広く認識されるようになった

インターネットで最も話題だった人と言えばホリエモンで連日ワイドショーがホリエモンがどーしたのこーしたのと取り上げていたように思える

2005年の当時、学生だったぼくは周囲と同じように青春パンクやミクスチャーロックを聞いた

この当時の音楽は「やればできる!」「突っ走れ!」「頑張れ負けるな!」「仲間を信じろ!」「アツい生き様がクール!」という具合

真の音楽好きから言わせれば何もロックじゃなかった時代(ポップスじゃねーか!)らしいのだけれど、ぼく達はそのメッセージを信じた

そんなぼく達の手にはいつもiPodが握られていたんだ

いやiPodがブームだというのは2005年ではちょっと遅れているかもしれない

2005年はおそらくはカセットテープウォークマン、MDプレイヤー以来のポータブルオーディオブームだったんだ

iPodが火を付けたポータブルオーディオブームはより高音質な音源を持ち出したいという需要が発生した

携帯電話でも着うたフルが注目され、持ち出した音源を良い音で聴くことが若い世代にとって1つのアイデンティティになっていた

なんでさっきから時代背景の話ししてんの?

その需要に呼応するようにオーディオメーカーのSHUREからはイヤホンのE4、SONYもMDR-EX90というEXシリーズの初代機をリリースと現在にも繋がるような製品がどんどん出た

ソフトウェア面だと着うたフルが携帯電話で注目される中、PCの方では可逆圧縮音源が注目を浴びていた時代だ

>>16
まあまあ、色々合ったんだよこの時代

前年の2004年にはApple Lossless(ALAC)が登場し、2000年のMP3特許問題によって音質にこだわる層がオープンソースで開発されていたOGG Vorbisへ移行していた

その経緯もありオープンソースで開発されていたFree Lossless Audio Codec(FLAC)の需要も高まっていたんだ

FLACが特に好まれていた理由は当時のPCスペックを見てわかる通り、ALACを生成管理するiTunesの巨大なメモリ消費にあった

曲目をリストアップするiTunesの重さに耐えかねて軽量なプレイヤーソフトの開発などが盛んに行われては居た

プラグイン方式によってユーザの求める機能を追加していく音楽プレイヤーのFittle(f4b24)やfooberなどはその典型例だろう

しかし現在とは違いALACおよびALACエンコーダのソースは公式には無償配布されておらず、MP3特許問題が記憶に新しいユーザはFLACを選んでいた

しかし問題は残っていた、ぼく達のiPodではOGG VorbisやFLACの再生は不可能だったのだ

ぼくもクローズドな技術とオープンな技術の間で揺れ動いていた1人で、ある時どうにかしてiPodでオープンなコーデックの再生ができないものか?と調べたんだ

その中で見つけたのがRockboxだった

RockboxはiPod上で動作するオープンなカスタムファームウェアで望むとおりにOGG VorbisやFLACが動作した

他に、もし公式ファームウェアが未対応であってもJPEGやPNGの表示などができた

更にRockboxはUIの変更がテーマによって可能だったことも特徴の1つだ

Rockboxという他人と違うものを使い、そのRockbox自体もテーマによって他人と違うものにできた

ぼくはRockboxの機能性に魅了され、苦手な英語であっても辞書を引きながらRockboxの情報を毎日調べた

調べているとその中の情報にRockboxはLinuxというシステムがベースになっているファームウェアだと書いてあった

その当時のぼくはLinuxという存在どころかOSという概念自体知らなかった

ぼくの中ではハードウェアとWindowsの揃っている状態がいわゆる"パソコン"という認識であって、すべてのパソコンにはWindowsが存在していると何となくそう思っていたのだ

Linuxの存在を知った時のそんなぼくの認識は「パソコンにもファームウェアがある」というものだった

当時のぼくにしてみればWindowsが公式ファームウェアで、Linuxはサードパーティ製のカスタムファームウェア的な感覚だったのだ

ぼくはRockboxで感じた自由の楽しさをパソコンでも可能になるならとLinuxのパソコンへの導入を試み始めた

まずはLinuxがどういうものなのかを調べる

調べているとLinux界隈ではLinuxカーネルがどうの、BitKeeperとgitがどうの、Hypervisorがどうのとよくわからない単語が飛び出し困惑した

Rockboxで様々なことを調べたが、より技術的に深い部分は基礎知識が足りずに調べられずに居た

というよりも理解できないからと避けていたのが正しく、よりもっとRockboxの技術面へ興味を持っていればと悔やんだ

より調べを進めているとLinux以外のとある単語が頻出していることに気付く

それがDebianとKNOPPIXとVine Linuxだった、当時のそれぞれのバージョンはDebian 3、KNOPPIX 4、Vine Linux 3だ

ここでぼくはLinuxディストリビューションというものの存在に気付く

ぼくが主に調べていた情報が難しすぎたのは当然でRockboxのベースとなっているLinuxカーネルのほうだったのだ

Linuxディストリビューションこそが"Windowsファームウェア"の役割として等記号で結ばれること理解した

この時にぼくはカーネルとOSの関係性を学び、WindowsというOSはファームウェアと言い難いことを何となく理解した

DebianとKNOPPIX、Vine Linuxを比較しつつ調べていると日本語環境が充実していると謳われていたVine Linuxに心が惹かれた

ぼくは英語が不得意だ

様々なフォーラムでもVine Linuxは初心者向きであると書いてあるのでより安心感が増した

2005年当時のマザーボードはUSBブート機能が標準的に搭載されるようになってきていた時代だった(ノートPCは少し遅れてた気がする)

Vine Linuxのインストールに関しての情報はフロッピーディスク、CD、USBの3種類の方法が混在しているような状況

Linux初心者というよりもファームウェアとOSの違いをふわっと理解した程度のライトユーザなぼくは混乱した

やはりというか何と言うかLinuxになれたパワーユーザな人々は最新のUSBブータブルによって高速なインストールを実験的に採用しておりCDの半分で済んだというような報告が度々あった

ぼくの目線から見たら"Linuxという新しい技術"へ非常に興味のあったぼくはUSBブータブルを検討したが、当時のUSBフラッシュメモリは非常に高価だった

当時は100MBあたり1,000円程度の値段であり主流の容量が128MBや256MB、市販されている最新の大容量のものは4GBまでだ

この価格では学生のぼくでは全く手が出せず諦めて普通に買えるCDによってインストールを試みた

まずは解説サイトなどで説明されているとおりにVine LinuxのisoイメージをダウンロードしブータブルCDを作成することからはじめる

ブータブルCDの作成は特に混乱することはなく感覚としては音楽CDを作成するのと特に違いはない

当時Windows XP環境で広く使われていたライティングソフトのDeepburnerによってVine Linuxのisoファイルを指定し焼きこむだけだ

ブータブルCDの作成を終え、指定されているとおりに光学ディスクドライブへ挿入しPCを再起動する

するとLinuxではお馴染の例の起動情報が表示され画面いっぱいに走る

経験した人ならわかるだろうけれどやはり初心者にとってこういう画面は興奮する

ブートが完了するとインストールに入るがVine Linuxのインストーラは当時から比較的親切でほぼ自動的にインストールを完了してくれる、しっかりと理解していればだが

一部のLinuxユーザの人ならば何となく予想つくだろうが、ぼくはあまりにもシステムに関して無知だった

システムに無知だったので当然ながらパーティションなどという概念を知らない

たとえVine Linuxが親切にも「Windowsと共存させてVine Linuxをインストールする」「ディスクをフォーマットしてクリーンインストールする」とガイドが出てても理解していない

HDDをフォーマットとか理解していないので綺麗にインストールしたほうが良いという判断で後者を選択してしまうのだ

当然ながらWindowsは削除され、Windowsパーティション上に保存されていた音楽データなど全て削除された

このことに気がつくのは自動インストールが完了し再起動してFLACを再生してみようと考えた時だがインストール中はワクワクドキドキな楽しい感情でいっぱいだった

一旦ちょっとメシ休憩

当時のネット環境はすでに光回線のBブレッツが始まっており、新サービスのフレッツ光が始まろうとしていた時分だ

ただやはり光回線を引いた時に工事業者へ接続設定などは任せっきりで全くの無知であったため携帯電話で頑張ってネット接続の方法を調べたという記憶がある

PPPOE接続という概念を知り早速接続を試みたがどうにもうまく行かない

まあ理由は単純でフレッツへの接続のためのアカウントとプロバイダのPOPメールのアカウントと勘違いしていたためだがこれへ気づくのに半日かかった

そして共存方法を調べてみた結果マルチブート(当時はデュアルブートという用語だったか?)という概念を知る

HDDというハードウェアはその保存領域をソフトウェアで仮想的に分断することによって1つのHDDの見かけ上を複数のHDDとして扱える、その分断された領域をパーティションと呼ぶことを知った

http://i.imgur.com/2GxlVil.png

パーティションにも種類がありプライマリパーティション(または基本パーティション、物理パーティション)と拡張パーティションという2種類がある

PCの電源をONにした時にまず最初に読み込まれるものをマスターブートレコード(MBR)という、なぜ最初に読み込まれるかと言えばHDDの保存領域の先頭に位置しているためだ

http://i.imgur.com/bIHBGLz.png

このMBRはブートストラップローダとパーティションテーブルで構成され、MBR自体のサイズはわずか64バイトしかない

パーティションテーブルの情報は1つのパーティションにつき16バイトを必要とし、結果として基本パーティションは最大でも4つ(16 * 4 = 64)までしか扱えない

http://i.imgur.com/rxSpiSY.png

正確にはBIOSが読み込まれてからMBRだけどね

ブートストラップローダはパーティションテーブルに記述されている情報を元に起動するパーティションを選択しパーティションブートレコード(PBR)へ処理を受け渡す

起動されるパーティションは「アクティブなパーティション」「ブートフラグのあるパーティション」などと呼ばれる

PBRもまたMBRと同種のシステムでありディスクパラメータとブートストラップローダで構成されている

ディスクパラメータはそのパーティションのセクタサイズやクラスタサイズ、総セクタ数などが記録されている

http://i.imgur.com/trcUSwO.png

典型的なHDDの1セクタは512バイトで、クラスタとはセクタの集合体

クラスタはHDDの読み込みを効率良くし高速化を担う機能であり、任意にクラスタサイズはHDDをフォーマットするときに変更できる

もしクラスタサイズを512バイトと設定したとき1クラスタは1セクタを含み1クラスタのサイズは512(512 * 1 = 512)バイトとなる

クラスタサイズを大きくし1024バイトとしたとき1クラスタは2セクタを含み1クラスタのサイズは1024(512 * 2 = 1024)バイトとなる

クラスタサイズが4096バイトのときは8セクタ(512 * 8 = 4096)を含む、8192バイトのときは16セクタ(512 * 16 = 8192)を含むということだ

http://i.imgur.com/4aTf9z6.png

クラスタサイズは大きければ大きいほどHDDは効率的に情報を読み取り高速化するが、ユーザがOS上から扱えるデータの最小単位が1クラスタのためクラスタサイズが大きいほど容量効率は悪くなる

どういうことかといえばクラスタサイズが4096バイトのときユーザが1024バイトのデータを保存しようとする

ユーザが扱える最小単位は1クラスタ(4096バイト)のため、1024バイトを保存してもHDD上で消費されるのは4096バイトとなってしまい4倍も損をしてしまう

当然ながら保存するデータが2048バイトであってもHDD上での消費は4096バイト、3072バイトであっても消費するのは4096バイトだ

http://i.imgur.com/roDmZ6U.png

もし保存するデータが5120バイトとなったとき使うクラスタは1クラスタだと不足するため2クラスタ消費することとなりHDD上の消費は8192バイトである

つまりクラスタサイズはHDDの高速性を取るか容量効率を取るかでバランスよく考えて決定しなければならないということだ

速度が必要なゲームや音楽変換を多用するのならはクラスタサイズを大きくすると速度面で効果があるかもしれないと何となく感じた

キリが良いところなので本日ここまで

当時の理解をそのまま書いてるため誤っている部分もある
おそらくは今でも中途半端にしか理解していない部分もあるだろうと思われる

例えば>>55の言うようにパーティションとは何か?を学んでいた時はBIOSという概念がぼくには無かった
BIOSこそマザーボードのファームウェアなわけだけどまだこの時点では気付いてない

当時のぼくの理解を可能な限り画像などを多用して今後も説明しようと思う
ぼくの当時の考えと試行錯誤をスレを読むことでトレースしてもらって何らかの役に立てば嬉しく感じます



この時点でかなり勉強になってるわ
クラスタで高速化とか知らなかった

ソフト使うだけしかできないからこのスレには本当に期待してる
物凄く興味津々で読んでる

>>66
読んでくれてありがとう

セクタとクラスタの概念を知れば、例えば64byteしかないMBRもHDDの実消費はセクタ1つ分、つまりはMBRは512byteを消費しているってのも理解できるよね

>>68
なるほど面白いな
MBRの本当のサイズは64Byteだけどディスク上では512Byte使っちゃうのか

クラスタって大きくするとそんなに高速化するのか?

>>69
理論上は512byteクラスタよりも1024byteクラスタの方が2倍速くなるよ
ただし理論上の話だから「巨大クラスタなHDD」が「極小クラスタなSSD」並に速くなることはないね
クラスタサイズの変更は「少しでも効率よくストレージ容量を使いたい」とか「少しでもストレージの速度を速くしたい」ときのおまじない程度に考えたほうが良いかも
ストレージの速度を速くしたいのなら素直にSSDを採用したほうが良いね

はいUnicodeですね
波ダッシュ~が弾かれたようです

MBRは基本パーティションを4つしか扱えないのは不便だ、そこで考えだされたのが拡張パーティション

拡張パーティションを用いることによって論理ドライブというものが作成できる、この論理ドライブはいくつも作成が可能だ

拡張パーティションは仮想PBR(EPBR)を持っていてMBRのパーティションテーブルのように論理ドライブのパーティション情報を保持している

拡張パーティションも基本パーティションと同様に基本パーティションと合わせて4つまでしか作成できないが、拡張パーティション内にいくつもの論理ドライブを作成することによってユーザの見かけ上はいくつものパーティションを扱えるようになる

http://i.imgur.com/AwmnQ5L.png

ここまで理解したのなら後は早い、つまりは現状のVine Linux用のパーティション領域を破壊せずにWindows用のパーティション領域を作成しWindowsを再インストールすると良いのだ

現状の環境はVine LinuxなのでLinux用のパーティションを操作できるツールを探すとGPartedというツールがベターであるとの情報を得た

GPartedは事前に様々なパーティション操作を指定した後に一気に実行できるので1つ1つ確認しながら作業を進められる素晴らしい仕組みだった

1つ操作をする度に即実行されるような仕組みだと間違ったと気づいた時に取り返しがつかない

Gpartedの画面を眺める・・・どれを削除して良いのか全くわからない・・・

パーティションと書いてある列は先ほど学んだパーティション領域を示しているのだろう

ファイルシステムと書いてある列はわからない、そしてマウントポイントの列もだ

削除しても良いパーティションを判別するにはLinuxの基本的なファイルシステムとマウントポイントについての理解が必要だとぼくは考え調べた

調べてみるとどうやらLinuxでは基本的に画像データや音楽データだけでなくHDDやCDドライブ、マウスにいたるまですべてファイルとして扱われるようだ

画像のようなソフト以外にもマウスのようなハードがファイルとして扱われるなんて不思議な感じだ

>>75
それmakeのエラーメッセージかww

>>75-77
このスレでいうとどこの話?
(どのレスがunicodeの影響受けてる?)

そのような不思議な状況を実現するのがバーチャルファイルシステム(VFS)であり、LinuxはVFSを用いることによってユーザはどのようなファイルであっても単一の方法でアプローチできるようになる

つまりはPCに関わる要素はソフトやハードなどが膨大な数あるからファイルとして単一に扱って管理や操作をしやすくしているということらしい

http://i.imgur.com/V22CtBL.png

>>84
>>1の「2005年と言えばPCはPentium 4 Prescott–2M(シングルコア2.8GHz3.8GHz)、DDR2 SDRAM(2561024MB)、SATA HDD(40GB160GB) 、Windows XPというスペック」という部分が

正確には「2005年と言えばPCはPentium 4 Prescott–2M(シングルコア2.8GHz~3.8GHz)、DDR2 SDRAM(256~1024MB)、SATA HDD(40GB~160GB) 、Windows XPというスペック」ですね

指摘されて僕も気づきました

ただしHDDをファイルとして扱うためにはHDDをファイルシステムとしてフォーマットしなければならないらしい

HDDのファイルシステムは複数存在し、WindowsではFATとNTFSが、Linuxではext2とext3が2005年現在では主に使われているようだ

GPartedに記述されていたファイルシステムがこれでわかった、Vine LinuxはLinuxだからこそファイルシステムがext3なんだ

そしてNTFSがGpartedに表示されてないことからもぼくのPCのHDDからはWindowsが完全に削除されてしまっているというのも残念ながら理解できてしまった、消えた音楽データは諦めるしかない

本日もメシ休憩

このSSまとめへのコメント

このSSまとめにはまだコメントがありません

名前:
コメント:


未完結のSSにコメントをする時は、まだSSの更新がある可能性を考慮してコメントしてください

ScrollBottom