(2005-08の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2005-08-10 Wed (他の年の同じ日: 2007)
多バイトファイル名の文字コード変更スクリプト
2005-08-10-3 / カテゴリ: [programming][perl] / [permlink]
というわけで試作。Perl 5.8+ 用。shift_jis -> eucjp 固定
ascii のみのファイル/ディレクトリの場合は、同じファイル名への rename のため失敗するが、仕様です :p
#!/usr/bin/perl use Encode qw(from_to); use File::Find; my $basedir = shift; -d $basedir or die "Usage $0 dir\n"; find( sub { my $target = $_; sj2e($target) if -f $target; }, $basedir); find( sub { my $target = $_; sj2e($target) if -d $target; }, $basedir); sub sj2e { my $from = shift; my $to = $from; from_to($to, "shiftjis", "euc-jp"); rename($from, $to) ? print "renamed: ", $File::Find::name, "\n" : print "renamed failed: ", $File::Find::name, "\n"; }なんか、ムダに長いなぁ。ってか、1パスで動作させた方がスマートかも。
ascii のみのファイル/ディレクトリの場合は、同じファイル名への rename のため失敗するが、仕様です :p
smb.conf の文字コード設定が有効なのは global のみ??
2005-08-10-2 / カテゴリ: [linux][debian][samba] / [permlink]
/dev/hdd1 に SJIS でネーミングされたファイルが大量にある。
/dev/hdb1 に EUC-JP として、全部コピーしたい。
文字コードを設定した mount は、ext2/ext3 では使えず、smbfs や NTFS 等だけみたいなので、
hdd1 を dos charset = CP932 / unix charset = CP932
hdb1 を dos charset = CP932 / unix charset = eucJP-ms
として samba 共有し、win から cp すればクリアできると思ったが…
[global]セクションに設定したコード設定は有効だけど、それ以外のセクション([share-1]とか)は、コードの設定が効かない…
こーゆーことをしたかったんだけどなぁ。
rename スクリプト作るのが手っ取り早いのかな。
/dev/hdb1 に EUC-JP として、全部コピーしたい。
文字コードを設定した mount は、ext2/ext3 では使えず、smbfs や NTFS 等だけみたいなので、
hdd1 を dos charset = CP932 / unix charset = CP932
hdb1 を dos charset = CP932 / unix charset = eucJP-ms
として samba 共有し、win から cp すればクリアできると思ったが…
[global]セクションに設定したコード設定は有効だけど、それ以外のセクション([share-1]とか)は、コードの設定が効かない…
こーゆーことをしたかったんだけどなぁ。
[share-b] path = /mnt/hdb1 comment = hdb1 browseable = yes writable = yes create mask = 0644 directory mask = 0755 dos charset = CP932 unix charset = eucJP-ms [share-d] path = /mnt/hdd1 comment = hdd1 browseable = yes writable = yes create mask = 0644 directory mask = 0755 dos charset = CP932 unix charset = CP932
rename スクリプト作るのが手っ取り早いのかな。
HDD増設
2005-08-10-1 / カテゴリ: [linux][debian] / [permlink]
先月末に / が吹っ飛び、バックアップ用に /dev/hdb として使ってたやつを / (/dev/hda) に持ってきたので、新しく /dev/hdb としてセット。つか、買ったのはやっぱ先月末だったんだけど、フォーマットしてなかった。
パーティションの作成
フォーマット
マウント
買ったのは Seagate の ST3160021A で、160GB/7200rpm
某での書込みを見る限りでは、音量は結構静かな感じだったけど、サーバ用ってことでずっと 5400rpm のディスクばっかり使ってた自分には、ちょっとうるさく感じた…
パーティションの作成
# fdisk /dev/hdb : Command (m for help): p Disk /dev/hdb: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-19457, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-19457, default 19457): Using default value 19457 Command (m for help): p Disk /dev/hdb: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdb1 1 19457 156288321 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.めんどっちぃので、1パーティションブッタ切りで :D
フォーマット
# mkfs -t ext3 /dev/hdb1 mke2fs 1.37 (21-Mar-2005) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 19546112 inodes, 39072080 blocks 1953604 blocks (5.00%) reserved for the super user First data block=0 1193 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Writing inode tables: : :
マウント
# mkdir /mnt/hdb1 # mount /dev/hdb1 /mnt/hdb1/ # ls /mnt/hdb1/ lost+found/
買ったのは Seagate の ST3160021A で、160GB/7200rpm
某での書込みを見る限りでは、音量は結構静かな感じだったけど、サーバ用ってことでずっと 5400rpm のディスクばっかり使ってた自分には、ちょっとうるさく感じた…
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12