Linuxストレージ周り
凄くわかりにくかったけどなんとなく理解した気がするのでまとめてみた。
合ってるかどうかは不明。
- ディレクトリツリー ... /を頂点としたディレクトリのツリー構成。物理的なデバイス構成とは関係ない。
- マウント ... ファイルシステムをディレクトリツリーの特定の位置に割り当てる事。
- ファイルシステム ... NTFSとかext3,4とかそういうの。
まとめると、ファイルシステムを作成出来るのは
の3つ。
ちなみに自分のお遊び仮想マシンは以下の様になっていた。
# fdisk -l
ディスク /dev/sda: 8589 MB, 8589934592 バイト
...
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 64 512000 83 Linux
/dev/sda2 64 523 3681280 8e Linux LVMディスク /dev/mapper/VolGroup-lv_root: 2692 MB, 2692743168 バイト
...
ディスク /dev/mapper/VolGroup-lv_swap: 1073 MB, 1073741824 バイト
...# pvscan
PV /dev/sda2 VG VolGroup lvm2 [3.51 GiB / 0 free]
Total: 1 [3.51 GiB] / in use: 1 [3.51 GiB] / in no VG: 0 [0 ]# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup" using metadata type lvm2# lvscan
ACTIVE '/dev/VolGroup/lv_root' [2.51 GiB] inherit
ACTIVE '/dev/VolGroup/lv_swap' [1.00 GiB] inherit#df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/VolGroup-lv_root
2.5G 928M 1.5G 39% /
tmpfs 250M 0 250M 0% /dev/shm
/dev/sda1 485M 30M 431M 7% /boot
Samba最小設定
ホスト名でのアクセスは不可。IPのみ。やり方は知らない!
SELinuxはOFFにする事。でないと色々めんどくさい。
インストール
# yum -y install samba
起動
# service smb start
# service nmb start
ファイアウォール
# iptables -I INPUT -p tcp -m tcp --dport 139 --syn -j ACCEPT
service iptables save
service iptables restart
ユーザ追加
# smbpasswd -a username
# service smb restart
アクセス
エクスプローラで「\\IP」と打ってアクセス。
成功すると「/home/username」配下のファイルが見られる。
PuTTY(plink)にパイプ
> echo hoge | plink user@host -pw xxxx cat
hogeecho hogeの出力をplinkにパイプしてリモートのcatコマンドで表示する。
パスワードをコマンドラインで指定しないとうまくいかない
(LinuxのSSHは大丈夫)。
Quest PuTTYなら-auto_store_key_in_cacheで初回接続時のプロンプトもスキップ出来る。
この辺と同じようにすればtarで固めたものを転送して展開、なんて事も出来る。
> tar cvf - hoge.txt | plink user@host -pw xxxx -auto_store_key_in_cache "cat > hoge.tar; tar xvf hoge.tar"
複数のバッファをひとつのzipファイルにしてダウンロード
PEAR::File_Archiveのインストール。
# pear install File_Archive
<?php require_once 'File/Archive.php'; $test1 = 'test1dayo'; $test2 = 'test2dayo'; $fa = new File_Archive(); $src = $fa->readMulti(); $src->addSource($fa->readMemory($test1, 'test1.txt')); $src->addSource($fa->readMemory($test2, 'test2.txt')); $fa->extract($src, $fa->toArchive('test.zip', $fa->toOutput())); ?>
x86ビルドでヒープにXMMATRIXを確保するとうまく動作しない。
てか落ちる。x64ビルドだと大丈夫。
Direct3D11+XNA Mathやってて超ハマってた。
Getting Started - Windows applications | Microsoft Docs
型の使用方法のガイドライン
ただし、ヒープからの割り当てはさらに複雑です。この場合、ヒープから割り当てられるクラスまたは構造体のメンバーとして XMVECTOR または XMMATRIX を使用する場合は注意が必要です。Xbox 360 および Windows x64 では、すべてのヒープ割り当ては 16 バイトにアライメントされますが、Windows x86 では 8 バイトにアライメントされます。16 バイトのアライメントでヒープから構造体を割り当てるためのオプションは、いくつかあります (「割り当ての適切なアライメント」を参照してください)。また、C++ の場合は、new 演算子や delete 演算子のオーバーロードを利用することもできます。
クラスメンバの変数にはおとなしくXMFLOAT4X4にしてStore系の関数使えって事かな。
x86(Win32)とx64両対応するならだけども。
アライメント揃えられるやり方自体はあるようだけど、めんどくさそう。