linux

ファイルの拡張子を一括置換する

例えば application.css.scss -> application.scss という一括置換をしたい場合には find . -type f -print0 | perl -pe 's/\.css\.scss//g' | xargs -0 -I% git mv %.css.scss %.scss とすれば ok。 参照: find/xargsを使ったファイル・ディレクトリ名の一…

/etc/shadow の password field

/etc/shadow の password field に出現する "!" や "*" についてのメモ。 MAN USERMOD(8) OPTIONS The options which apply to the usermod command are: -L, --lock Lock a user's password. This puts a '!' in front of the encrypted password, effectiv…

Ubuntuにおけるinitと起動方法

sysvinit, upstart, systemd, update-rc.d, insserv の関係性・歴史的背景がよくわからなくていろいろ調べたので、メモしておく。 基礎知識 sysvinit とは? sysvinitはSystemV initの略で,UNIX SystemV(システムファイブ)と呼ばれるAT&T社謹製の古典的な…

IBM X40にUbuntuをインストールした

Windows XPのサポートが終了した。 が、OSサポートが終わったくらいでX40を捨てるのももったいないので、Ubuntuをインストールすることに。その時の記録を残しておく。 事例を探す X40にUbuntuをインストールしたというドンピシャな事例を発見! http://bell…

umask

引き続きAPUE Chapter4を読んでおります。今回はSection4.8 umaskについて。 The umask() routine sets the process's file mode creation mask to cmask and returns the previous value of the mask. The 9 low-order access permission bits of cmask are…

sticky bit

本日はAPUE Chapter5のsection4.10 Sticky Bitを読んでおります。 On contemporary systems, the use of the sticky bit has been extended. The Single UNIX Specification allows the sticky bit to be set for a directory. If the bit is set for a dire…

chmod

set-user-IDとset-group-IDのことが恥ずかしながらよくわかってなかったので調べてますよ、と。まずはMAN。 chmod(1) このマニュアルはGNU版 chmod コマンドについて記述したものである。 chmod コマンドは指定したそれぞれのファイルのアクセス権を mode に…

Perl Hackers Hub UNIXプログラミングの勘所(3)

シグナルに関するkazuhoさんの講義(http://gihyo.jp/dev/serial/01/perl-hackers-hub/000603)を読みつつ、分からない基本コンセプトをOperating System Concepts作者: Abraham Silberschatz出版社/メーカー: John Wiley & Sons Ltd発売日: 2009/02/13メデ…

selectシステムコール

たまに聞くけどよくわからんので調べてみた。 perldoc select RBITS,WBITS,EBITS,TIMEOUT This calls the select(2) syscall with the bit masks specified, which can be constructed using "fileno" and "vec", along these lines: select(2) select() や …

ファイルディスクリプタ(file descriptor)について調べてみた

Perl Hackers Hub 第6回 UNIXプログラミングの勘所(2)を読んでいたがよくわからなかったので、Operating System ConceptsやMANなどを読んで一から理解してみる。Operating System Concepts作者: Abraham Silberschatz出版社/メーカー: John Wiley & Sons L…

sudo: sudores/visudo

sudoという実に基本的なところだけど、すぐに忘れてしまうのでメモる。 /etc/sudoresが設定ファイルで、visudoが編集コマンド。直接/etc/sudoresを編集するのは望ましくない。 /etc/sudoresの書き方 ユーザ ホスト = (権限) コマンド という書式になっている…

Postfix Alias

Postfixのaliasを設定するには通常/etc/aliasesに書けばいいんですが、宛先に設定するアドレスはサーバ上の別ファイルで管理されており、どうしたもんかと悩んでました。 宛先ファイルが更新されたら、/etc/aliasesを手動で編集 → 忘れそう&面倒 宛先ファイ…

dig,smtp,postfix

はじめてpostfix設定したのだけど、調べたことメモ。 MXレコード DNSレコードのうち、メールサーバのIPアドレスが記載されたレコード。 dig example.com mx postfix /etc/postfix/main.cfが設定ファイル /etc/aliasesがデフォルトのaliasファイル Postfix設…

cutコマンド

スペースで区切る方法でよく嵌るので、メモ。 cut -f 4- /home/kotaro/foo.txt -d ' '

RPM,SRPM,SPECについて

RPM,SRPM,SPECについてなんとなくは分かっているが、自信もって人に説明できるレベルではないので、きちんと調べてみた。 http://www.itmedia.co.jp/enterprise/0309/26/epn02.html http://www.stackasterisk.jp/tech/systemManagement/rpm01_01.jsp RPM コ…

sambaのゴミ箱パージ

samba上で削除しても実際にはゴミ箱にいくだけなので、定期的掃除しないとdiskを圧迫してしまう。例えば7日間アクセスがないファイルをパージするには find ~/.recycle/ -atime +7 -type f -print0 | xargs -0 rm -f でOK。追記: あとからここの記事が詳しい…

last committerを取得する

ある条件を満たすスクリプト(大量)のラストコミッタが知りたいと思ったが、Linuxコマンドだけでは難しそう。 ということで、スクリプト書いてみた。 last_committer.pl #!/usr/bin/perl use strict; use warnings; use XML::Simple; while (<>) { chomp; n…

覚えておきたいscreenコマンド

リージョン C-a S リージョン分割 C-a Tab リージョン移動 C-a X リージョン消去 アタッチ/デタッチ C-a d デタッチ エンコーディング C-a :encoding (utf8|euc|sjis)

サーバリソースを調べる

知ってる人から言わせれば基本中の基本なんだけど、整理のために書き出してみる。 OSはCentOS。 リソース状況を調べる 全体 top ps -ef vmstat cpu mpstat -P ALL memory free I/O iostat -x スペックを調べる CPU cat /proc/cpuinfo メモリ cat /proc/memin…

Memory管理

32bit環境で扱えるMemは最大4GBだよん、という話はおぼろげながら知っていたが、原理をよく知らなかったので色々調べてみた。 アドレスとメモリの関係? 1つのアドレスに1byteのデータを格納する 32bitで表現できる範囲は0x00000000〜0xFFFFFFFF(16進数で)…

モジュールをyumからインストール

開発環境だとcpanコマンドを使うのが便利ですが、yumリポジトリから入れてみます。準備はCentOSリポジトリで終わっているので、あとは簡単。 例1: JSONをdagリポジトリから yum search perl-JSON --enablerepo=dag yum install perl-JSON --enablerepo=dag …

antとsubversion

Hiveを使うのに必要なので、インストールする。 環境はCentOS4.7 まずはantから インストール cd /usr/local/src wget http://www.meisei-u.ac.jp/mirror/apache/dist/ant/binaries/apache-ant-1.8.1-bin.tar.gz tar xzvf apache-ant-1.8.1-bin.tar.gz mv ap…

CentOSリポジトリ

デフォルトの状態だったので、yumの勉強兼ねてリポジトリをごにょごにょしてみる。 環境はCentOS4.7。 基礎知識 /etc/yum.repos.d/に.repoファイルを置く enabled=1にするとデフォルトで有効 enabled=0にしたものはyum enablerepo=***でインストール fastest…

はじめてのネットワーク設定

DNSクライアントとして使う場合のネットワーク設定。忘れっぽいのでちゃんと書いて覚える(>_ ホスト名の設定 /etc/sysconfig/network NETWORKING=yes HOSTNAME=mdev1 HOSTNAMEにはホスト名 or FQDN指定 DNSサーバを指定 /etc/resolv.conf domain localdomai…

はじめてのRPM

使ったことがないわけではないが、いまいち覚えてないのできちんとメモして覚える。 ファイル命名規則 (パッケージ名)-(バージョン)-(リリース番号).(アーキテクチャ).rpm 例えば、perl-5.8.8-27.el5.rpm 探す インストールされているか調べる rpm -…

はじめての起動

どういう流れでLinuxが起動されるのか勉強したので、まとめてみる。 起動の流れ 1. 電源をONすると、BIOSが起動される 2. BIOSはブートローダをメモリに読み込む MBR(mastert boot record)と呼ばれるHDDの先頭ブロックの領域に書かれている 3. ブートローダ…

パスワードなしでsshログイン

Hadoopの設定するために必要っぽいのでやってみたところ、ちょっとハマったのでメモ。 同じマシンへのsshなのでセキュリティは問題ない。(本番系でも踏み台サーバが堅ければ、やっても大丈夫そうだがこのあたりはいまいち自信なし) 1.秘密鍵と公開鍵作成 s…

Hadoop install

Hadoopを試してみたいので、手元にインストールしてみる。 環境はCentOS release 4.7。 jdk6のインストール http://java.sun.com/javase/downloads/widget/jdk6.jspからjdk-6u20-linux-i586.rpm.binをダウンロードしておく sudo su cd /usr/local/src chmod …

Install VIM7.2 with checkinstall

checkinstallの使い方を勉強になんか良い題材ないかなー、と探していたところvimのversionが古かったので、トライ。 概要 checkinstallについてさくっと書いてある http://itpro.nikkeibp.co.jp/article/COLUMN/20070821/280029/サイト http://www.asic-linu…

重いプロセスを調べる

CPU使用率降順 ps auxw | sort -k3 -nr メモリ使用率降順 ps auxw | sort -k4 -nr

screen/bash/vim設定

いろんなもの参考にしてつくったscreen, bash, vim等の設定をまとめてみる。 共有アカウントを使う環境でも使えるように、デフォルトではなく個別ファイルにしている。 こいつを常に最新状態にupdateしてコピーすれば楽だなぁ。 ■ssh接続 ssh -t user@host s…

svn tips

コミットファイルを実行可能にする svn propset svn:executable ON [path]

screen

一度体験してしまうと、前に戻れない。 とりあえずの.screenrc escape ^Tt autodetach on caption always "%{= wb} %-w%{=bu dr}%n %t%{-}%+w %= %{=b wk} [%l] %{=b wb}%y/%m/%d(%D) %{=b wm}%c" defkanji euc encoding euc defencoding euc C-t S # リージ…

シグナル

プロセス同士が互いに通信する手段の1つ。kill -lでリストできる。 kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM 1…

覚えたコマンド

カーソル移動 1文字進む 1文字戻る 行頭 行末 1文字削除 killコマンド kill [pid] # TERM(停止) kill -9 [pid] # KILL(強制終了) kill -l # SIGのリスト sortコマンド Kotaro Ito kotaro@mail.jp Aotaro Zto zotaro@mail.jp Botaro Yto yotaro@mail.jp Co…

memcachedをcentos4にインストール

http://blog.veryposi.info/server/server-setup/centos-yum-rpmforge/ http://blog.veryposi.info/server/server-setup/centos-memcache-yum/ http://centossrv.com/rpmforge.shtml を参考にしてやってみる。記事がなくなってしまうかもしれないので、コマ…

調べたことメモ

nice スケジュール優先度を変更して与えられたcommandを実行する。 デフォルトの優先度は10。 nice [-n adjustment] [-adjustment] [--adjustment=adjustment] [command [arg...]]

便利コマンド

ack ちらっと使っているのを見て便利そうだったので、VMwareにも入れてみる。 インストール sudo perl -MCPAN -e shell install App::ack 使い方 ack [pattern] [dir/file] ll ls -l のエイリアスとは知らなかったorz

便利コマンド

忘れないように記しておくことにする。 http://www.k-tanaka.net/unix/find.html カレントのファイルをリスト find . -type f リストしたファイルをgrep find . -type f | xargs grep hoge リストしたファイルをperlで find . -type f | xargs perl do_somet…

CentOS4にapache1.3+FastCGIをインストール

必要なもの apache本体 mod_fastcgi FCGIのperlモジュール それぞれ wget http://www.meisei-u.ac.jp/mirror/apache/dist/httpd/apache_1.3.41.tar.gz wget http://www.fastcgi.com/dist/mod_fastcgi-2.4.6.tar.gz yum install perl-FCGI にて取得 インスト…

lv

lessだと文字化けするので、lvを導入。 http://www.ff.iij4u.or.jp/~nrt/lv/index.html#download $wget http://www.ff.iij4u.or.jp/~nrt/lv/index.html#download $tar -xzvf lv451.tar.gz $cd lv451/build $sudo ../src/configure $sudo make $sudo make ins…

CentOS on VMWare

coLinuxを使っていたけど、ローカルで動かすと重たく、新しい領域の確保が難しかった(技量不足w)のでVMWareに移行してみる。Xen/coLinux/VMWareの比較記事(http://blog.jetspeed.jp/2006/07/xenopenvzvmware.html)をみっけ。 インストール とりあえず最…

ユーザー設定/環境変数コマンド

いつも忘れるので、覚書。 ユーザーhogeの設定 adduser hoge usermod -g group_name -d /home/dir/ hoge ディレクトリ設定 chown -R hoge:group_name dir_name