cygwin関連


Linux関連(Vine4.0使用)
Linuxで気になった操作を書き留めています。
  1. samba関連
    1. sambaをインストールする。
      • $ sudo apt-get install samba
    1. サーバー側でユーザを追加する。
      $ /usr/bin/smbpasswd -a [追加するユーザー名]
      $ New SMB password: [パスワードを入力]
      $ Retype new SMB password:[パスワードを再入力]
    2. /etc/samba/smb.confを修正
      * workgroup = hogehoge
    3. sambaを再起動する。
      $ sudo /etc/init.d/smb restart


  1. DVD−RAMのマウント(FAT32で使用する)
    1. 参考URL
      • http://vinelinux.org/manuals/server-1-2.html
    2. PCでDVD-RAMをFAT32でフォーマットしておく
      $ mount -t vfat /dev/hdd /mnt/RAM

    3. マウントを解除(アンマウント)
      $ umount /dev/hdd



  1. シリアルコンソール端末を使用
    1. grubの設定変更
      /boot/grub/grub.conf
      default=0
      timeout=10
      serial --unit=0 --speed=115200 -word=8 --parity=no --stop=1
      terminal --timeout=10 serial console
      splashimage=(hd0,0)/grub/splash.xpm.gz
      title linux-2.4.20
      root (hd0,0)
      kernel /vmlinuz-2.4.20 ro root=/dev/hda3
      console=tty0 console=ttyS0,115200n8r
      initrd /initrd-2.4.20.img
    2. 次に、 起動後の Linux がシリアルコンソールからログイン可能になるように
      /etc/inittab を設定する。
      /etc/inittab
      s0:12345:respawn:/sbin/agetty -L 115200 ttyS0
    3. 最初のカラムの s0 はシンボル名なので、 重複しなければ inittab ファイル内で自由に名前をつけてもよい。 次のカラムの 12345 はこの設定を有効にしたい Run Level を列挙する。
      それと シリアルコンソールからログインを行うためには、
      /etc/securetty 内に ttyS0 と記述した行があることを確認し、 なければ追加する。


  2. フォルダ内のデータ容量の確認
    $> du -bs フォルダ名



  3. バックアップを行う(perlで作成)
    • #!/usr/bin/perl
      # 1日に1回、指定時間(BACKUP_TIME)の時にhome以下をDVD-RAMにバックアップをとる

      $BACKUP_TIME = 7;

      while(1){
      • sleep(3600); # 1時間のスリープ
      • ($ss, $mn, $hh, $dd, $mm, $yy, $week) = localtime(time);
      • $yy += 1900;
      • $mm ++;
      • print "$ss $mn $hh $dd $mm $yy $week\n";
      • $MOUNT = `df | grep /dev/hdd | cut -c 57-`;
      • $MOUNT =~ s/\n//g;
      • print "$MOUNT\n";
      • $STS = index($MOUNT, 'RAM');
      • print "$STS\n";
      • if($STS < 1){
        • print "Backup Drive is not mount.\n";
        • exit;
      • }
      • if($hh == $BACKUP_TIME){
        • $FILE = sprintf("%s/%04d%02d%02d_%02d%02d%02d", $MOUNT, $yy, $mm, $dd, $hh, $mn, $ss);
        • #print "$FILE\n";
        • `mkdir $FILE`;
        • `tar -cf $FILE/work.tar /home/user/work`;
        • `tar -cf $FILE/svnroot.tar /home/svnroot`;
        • `tar -cf $FILE/kagemai.tar /var/lib/kagemai/project`;
        • if($week == 1){ #月曜にshareをバックアップ
          • `tar -cf $MOUNT/share.tar /home/user/share`;
          • `svnadmin dump /home/svnroot/repos/prj1 > ./svn_prj1_backup`;
          • `cp svn_prj1_backup $FILE/`;
        • }
        • print "正常にバックアップしました\n";
      • }

      }



  4. 特定のファイルをアーカイブする方法
    1. ファイルリストを作成する
      $> find ./ -name "*.h" > sample1.txt

    2. sample1.txtを編集する(必要なファイルだけをのこす)

    3. アーカイブする。
      $> tar -T sample1.txt -cf sample1.tar