トップ «前の日記(2015-01-06(Tue)) 最新 次の日記(2015-01-10(Sat))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2015-01-09(Fri) 曇ったり晴れたり。暖かくない

RaspberryPIでLFS?

久々にしてARMプロセッサでは初めて。
ベースにはRaspbianによるwheezyを。
カーネルは3.16.2だったが、これは 別にどこかからとなりそう。grubは 多分使えない。

LFS7.6は、やはり色々面倒になっていた。
Host System Requirementsの項目は、 各種ソフトのチェックだけでなく、ライブラリ のチェックも行うようになっていた。
lib{gmp,mpfr,mpc}.la は、Debianのパッケージ には無いらしい。amd64ならPlamoなど で片付きそうだけど。
適当に検索したあげく、3つとも /usr/localの下に make install し、/usr/lib に シンボリックリンクを貼って凌いだ。

SBUは43分34秒と出た。
より少し(約81%)速いのは、Class10の恩恵か、 それともバージョンの功徳か。

最初のGCCは何度も躓く。5時間くらいビルドして 同じ箇所でコケる。
PiLFSを見てパッチ(GCC-4.9.0向け だったが、4.9.1にも当たった)を当て、スクリプトを書き換えて試す。

Chapter 5.5 の GCCでは、make に5時間半あまりかかってようやくできた。
./configure と make install は、それぞれ一分前後か。

さて、どこまで到達できるか。

同一視

Windowsパス名の落とし穴 を読んで、色々。

Windows上で、NTFSに作成された長い(英数字9文字以上に拡張子)ファイルは、 短いファイル名(ショートネーム、英数字6文字+"~"+3文字の拡張子)を も持っている。
そのために、

C:\path> echo hoge > AAAAAAAAA.TXT
 
C:\path> echo fuga > AAAAAA~1.TXT
 
C:\path> type AAAAAAAAA.TXT
fuga
 

なことになってしまう(Win7 64で確認)。
ファイルの数が多いと、ショートネームの名前は 色々と変な名前になる模様。

<追記>
Word2013の例。
<追記/>

C:\path> dir /X
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 54DE-D3AB です
 
 C:\path のディレクトリ
 
2015/01/09  16:49    <DIR>                                    .
2015/01/09  16:49    <DIR>                                    ..
2015/01/09  16:46               384 AAAAAA~1.TXT AAAAAAAAA.TXT
2015/01/09  16:46               384 AAAAAA~2.TXT AAAAAAA~1.TXT
2015/01/09  16:46               384 AAAAAA~3.TXT AAAAAAA~2.TXT
2015/01/09  16:46               384 AAAAAA~4.TXT AAAAAAA~3.TXT
2015/01/09  16:46               384 AA1147~1.TXT AAAAAAA~4.TXT
2015/01/09  16:46               384 AA44FC~1.TXT AAAAAAA~5.TXT
2015/01/09  16:46               384 AA76DE~1.TXT AAAAAAA~6.TXT
2015/01/09  16:46               384 AAEE55~1.TXT AAAAAAA~7.TXT
2015/01/09  16:46               384 AA3499~1.TXT AAAAAAA~8.TXT
2015/01/09  16:46               384 AA1921~1.TXT AAAAAAA~9.TXT
2015/01/09  16:50                 0              bar.txt
2015/01/09  16:46                83              foo.bat
              12 個のファイル               3,923 バイト
               2 個のディレクトリ  24,267,370,496 バイトの空き領域

ちなみに、Linux(Debian wheezy amd64)に NTFSをマウントしてほげほげしてみたが、 ショートネームは作成されず、 両者の同一視もされなかった。
Windowsを起動してみても、"AAAAAAAAA.TXT" と "AAAAAA~1.TXT"は別物のままである。

使ってはいけない名前

Windows+NTFSでは、"AUX.TXT"などといった 名前のファイルは作れないようだ。 例えばnotepadでそのような名前で保存しようとすると、 エラーメッセージが出て保存できない。

でもNTFS自体にはそれを弾く仕掛けはないらしく、 Wheeezyにマウントすると、{AUX,NUL,PRN,CON}.TXT は 普通に作れてしまった。
エクスプローラで表示できることは勿論である。

しかしながらnotepadでそれらを開こうとすると、 色々なエラーメッセージ を仰ぐことが出来た。

AUX.TXT: (応答なし)
CON.TXT: 「ハンドルが無効です。」
NUL.TXT: 「ファンクションが間違っています。」
PRN.TXT: 「指定されたファイルが見つかりません。」

もちろん消せない。管理者として実行した コマンドプロンプトでも同様。

末尾文字の怪もしくはディレクトリ遡行

もう一発。

C:\path> echo hoge > FOO.TXT
 
C:\path> type FOO.TXT......
hoge
 
C:\> type C:\\\\\\\\path\FOO.TXT
hoge
 
C:\> type C:\FAKE\..\path\FOO.TXT
hoge

notepad などでファイル名を指定して開いても、同様。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。