Archive for the ‘linux’ Category

Linux:rsyncでファイル同期

まずrsyncコマンドの基本 rsync [option] [同期元ファイルパス] [同期先ファイルパス] リモートサーバと同期するときはファイルパスの前に:で区切ってサーバ名またはIPアドレスを指定する rsync [option] user@192.168.0.2:/tmp /tmp ※この例ではuserアカウントで192.168.0.2にアクセスしようとしているので、目的のサーバに接続した後、パスワードを聞かれる。 パスワードを答えると同期が行われる。 cron等で定期的に同期したい場合、このパスワード入力が面倒。 リモートのrsyncサーバにユーザを登録していれば–password-fileというオプションをつけてコマンドラインにパスワードを含めることができる。 rsyncサーバの設定 rsyncの設定ファイルを作成しする。 設定ファイルにはリモートでアクセスできる接続元や、ディレクトリ、ユーザの設定を書く。 /etc/rsync.conf # # Global options # uid = root gid = root use chroot = yes log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid hosts allow = 192.168.0.1/24 hosts deny = * dont compress = *.gz *.tgz *.zip [...]

linux:GUIのvimをソースからインストール

vim7.2が使いたいのでソースからインストールした。 cd ~/local/src wget ftp://ftp.vim.org/pub/vim/unix/vim-7.2.tar.bz2 wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-http://blog.mktime.com/wp-admin/post-new.phpextra.tar.gz wget ftp://ftp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz tar jxfv vim-7.2.tar.bz2 tar jxzv vim-7.2-extra.tar.gz tar jxzv vim-7.2-lang.tar.gz cd vim72/ mkdir patch cd patch wget ftp://ftp.vim.org/pub/vim/patches/7.2/7.2.* cd .. cat patch/7.2.* | patch -p0 GUIで使いたいので、GUIを有効にするconfigureオプションを指定する。 ./configure –enable-multibyte –enable-xim –with-x –with-features=big –enable-perlinterp –enable-pythoninterp –enable-rubyinterp –enable-gui=gnome2 make makeでエラーが出る。 os_unix.c:2641: error: ‘security_context_t’ undeclared (first use in this function) selinux要るの? [...]

linux:cronでcommand not found

cronで「/bin/sh: 行数: ユーザ名 command not found」というエラーが出たら、*が多いか、ユーザ別cronでユーザ名を書いてしまっている。 1つコマンドがずれているために起こるエラーである。 あとcronでありがちな失敗としてはcrondを再起動していない # crondを再起動 /etc/init.d/crond restart エラーメールが飛んできているのに気が付かない、などがある。 su [cronを実行するユーザ] #メール確認 mailx

linux:crontabのヘッダー

いつもcronの時間設定の書き方を忘れるので、コメントヘッダーを付けることにした。 これで5分おき、1時間おきの設定も迷わないはず。 #minute hour  mday month wday who  command # */5     *   *    *    *    user /home/user/script.sh

CentOS:日本語platexをインストール

CentOSに日本語latexをインストールするのにかなり苦しんだのでメモ こちらを参考にさせていただいた。 http://a1667203.blog.shinobi.jp/Entry/89/ /usr/local/srcにplatex3のソースを置き、ソースを展開する。 展開するのはptetex3-20080616.tar.gzだけでよい。他のものはmakeで自動的に解凍される。 mkdir /usr/local/src/platex3 cd /usr/loca/src/platex3 wget http://tutimura.ath.cx/~nob/tex/ptetex/ptetex3/ptetex3-20080616.tar.gz wget http://www.ring.gr.jp/pub/text/CTAN/systems/unix/teTeX/3.0/distrib/tetex-src-3.0.tar.gz wget http://www.ring.gr.jp/pub/text/CTAN/systems/unix/teTeX/3.0/distrib/tetex-texmf-3.0po.tar.gz tar zxf ptetex3-20080616.tar.gz cd ptetex3-20080616 my_optionをサンプルからコピー。 cp my_option.sample ../my_option このあとは make su make install で完了のはずだが、私の環境ではいろいろ足りなかったのでyumでインストール yum install gcc yum install gcc-c++ yum install bison でもまだ完全にはmakeできない。こんなメッセージが出る We are NOT going to compile xdvi. We have two choices. 1. (with xdvi) Check [...]

CentOS:日本語入力できるようにする

yumのリポジトリを作成し、キーを登録する。 cd /etc/yum.repos.d wget http://centos.karan.org/kbsingh-CentOS-Extras.repo wget http://centos.karan.org/kbsingh-CentOS-Misc.repo rpm –import http://centos.karan.org/RPM-GPG-KEY-karan.org.txt yumでSCIM と Anthyをインストール yum install anthy scim scim-anthy システム設定入力メソッドを Anthy + SCIM へ切替える。 /usr/sbin/alternatives –config xinput-ja_JP ここでサーバを再起動。 reboot ※今使っているVMwareイメージではブート状況の表示で日本語が四角くつぶれる。 ブートが進むと日本語表示されるようになるので気にしないことにする。 再起動してログインするとCtrl-Space(または半角/全角キー)でローマ字入力できるようになる。 ※できない場合は入力メソッドでシステム設定に従う[SCIM]が選択されているか確認する。 システム>設定>他の個人設定>入力メソッド

Linux:ssh公開鍵認証

ローカルサーバ(接続元)からリモートサーバ(接続先)にパスワード無しでログインする設定。 以下ローカルサーバのfooユーザがリモートサーバにbarユーザでログインする場合。 ローカルサーバ(接続元)で認証キーを作る # ssh-keygen -t rsa -N “” -f /home/foo/.ssh/authkey_bar rsync.pub (公開鍵)をリモートサーバ(接続先)の/bar/.sshにコピーするローカルサーバからSCPで転送 # scp authkey_bar.pub bar@リモートサーバ:/tmp この時点ではまだパスワードを聞かれるので入力する。 リモートサーバにbarでログインして/home/bar/.sshに移動し、パーミッション変更&authorized_keysに追記 authorized_keysのパーミッションは必ず600でなくてはいけない。644ではパスワードを聞かれます。 # chmod 700 /home/bar/.ssh # mv /tmp/rsync.pub /home/bar/.ssh # cat /home/bar/.ssh/authkey_bar.pub >> /root/.ssh/authorized_keys # chmod 600 /home/bar/.ssh/authorized_keys # rm /home/bar/.ssh/authkey_bar.pub

Linux:ソースからインストール&パッケージ作成

checkinstallなるものでソースからインストールしつつパッケージを作成できるらしいので試してみた。 まずはcheckinstallをインストールする。 wget http://asic-linux.com.mx/~izto/checkinstall/files/rpm/checkinstall-1.6.1-1.i386.rpm rpm -ihv checkinstall-1.6.1 どこに入ったかわからなくなったので・・・^^; rpm -ql checkinstall どうやら/usr/local/sbin/checkinstall -h でヘルプ表示 /usr/local/sbin/checkinstall -h checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. Usage: checkinstall [options] [command [command arguments]] Options: *Package type selection* -t,–type= Choose packaging system -S Build a Slackware package -R Build a [...]

linux:サーバのアーキテクチャを調べるには

パッケージをインストールするとき、どのアーキテクチャを選択すればよいかわからない時はuname -a # uname -a Linux localhost.localdomain 2.6.9-023stab046.2-smp #1 SMP Mon Dec 10 15:04:55 MSK 2007 x86_64 x86_64 x86_64 GNU/Linux 後ろのほうのx86_64がそのサーバのアーキテクチャ。 他にi386やi686などがある。 noarchは全アーキテクチャ共通のパッケージ

VirtualHost環境にMTOSをインストール

cgi-script のハンドラを有効にします。ついでに.plでもCGIが動くようにします。 /etc/httpd/conf/httpd.conf #AddHandler cgi-script .cgi AddHandler cgi-script .cgi .pl VirtualHostを定義。 スクリプトは非公開領域で動くようにScriptAliasを設定する。 /etc/httpd/conf.d/vhosts.conf <VirtualHost *:80>> DocumentRoot “/path/to/public_html” ScriptAlias /cgi-bin/ “/path/to/cgi/” ServerName example.com ErrorLog “logs/example.com-access.log” CustomLog “logs/example.com-error.log” common </VirtualHost> “/path/to/cgi”にソースを解答し、/cgi-bin/mt-check.cgiにアクセスして必要なライブラリを確認する。 yumまたはcpanで必要なライブラリを入れる。 yum install perl-GD cpan> install DBI cpan> install DBD::mysql #…以下必要なだけインストール cgiファイルの権限を変更し実行可能にする。 chmod 755 *.cgi /cgi-bin/mt.cgiにアクセス。あとはウィザードに従ってインストール。