2009-09-28

Linuxコマンド備忘録(tar)

tar.gzの場合
・作成
[foo@bar ~]$ tar zcvf 作成ファイル名.tar.gz パッケージ対象DIR
・展開
[foo@bar ~]$ tar zxvf 展開ファイル名.tar.gz

tar.bz2の場合
・作成
[foo@bar ~]$ tar jcvf 作成ファイル名.tar.bz2 パッケージ対象DIR
・展開
[foo@bar ~]$ tar jxvf 展開ファイル名.tar.bz2

2009-06-17

MySQLでテーブル単位のバックアップ

データベースのバックアップをする場合、手軽な方法としてmysqldumpを使用するというものがあります。
普通に行うとmysqldumpはデータベース毎のダンプデータを作成するのですが、テーブル単位でのバックアップをする方法もあるので書いておきます。

テーブル単位でのバックアップ
# mysqldump -h HOSTNAME -u USERNAME -pUSERPASSWORD --database DBNAME --tables TABLENAME > ./TABLENAME.sql


一応データベース単位でのバックアップコマンドも書いておきます。

データベース単位でのバックアップ
# mysqldump --single-transaction -h HOSTNAME -u USERNAME -pUSERPASSWORD --database DBNAME > DBNAME.sql

2009-06-10

cvsの情報をgrepする方法

cvs(Conncurrent Versions System)のコマンドは標準エラーに出力される。そのため通常のターミナル上では表示されているものを、そのままgrepをかけても、すべてに該当してしまい正規表現では絞り込めないです。

そこで、すべての出力を標準エラーも含めた状態でパイプを使いgrepに流し込む(2>&1のところ)ようにします。このようにすれば標準エラーに出力されているものもgrepすることが可能です。

updateした段階でのコンフリクトを割り出すには…
$ cvs update -d -P 2>&1 | grep "^[C]"
また
$ cvs update -d -P | less
のようにパイプでlessに流し込めば、リドローを書けた段階(Shift+gとか)で、余計な情報を削除できるので、こちらの方が便利です。

2009-06-03

MySQLの最大接続数の確認と動的変更

MySQLの接続コネクション数の確認方法と変更方法です。

mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+
1 row in set (0.00 sec)

また起動中に動的に変更することも可能です。
mysql> set global max_connections = 150;
起動していないなら/etc/my.cnfで設定するのがいいでしょう。

2009-03-23

Ubuntu 8.04の設定

DELL Inspiron Mini 9 (Ubuntu 8.04)を買ったので、必然的にUbuntuを勉強することになっています。
まずは違うマシンからログインしたいので、SSHの設定をしてみます。
$ sudo aptitude install ssh
インストールに関しては、これだけ。

Debian系のUbuntuを使うのは初めてですが、昔Debianを使ったこともあるので、いつも通りにSSHをパッケージマネージャーからインストールしました。

ただ今回は「aptitude」というパッケージマネージャーを使うことにしています。
昔は「apt-get」、その後「dselect」と使って来たのですが、最近は「aptitude」を使うのが良さそうと書かれているので、それにならっています。

というわけで終了 ……としたいのですが、これでは私の環境ではSSHでログインできませんでした。
Inspiron Mini 9のUbuntuだと、無線LAN経由でリモートホスト(Ubuntu)へのSSHがうまく動かないらしいです。繋がりまではするのですが、パスワード入力後に反応をしなくなります。

ただ、これはよく知られた問題のようで解決策がありました。先達に感謝です。
$ sudo iwpriv eth1 set_vlanmode 0
とコマンドを入力しておくと無事つながるようになりました。このコマンドが何をしているのかは、追々調べるとして、問題はこれで解決できます。

しかし、これでは毎回入力しないといけないので面倒です。そこで
/etc/network/if-pre-up.d/wireless-tool
をvi等で編集し、
/sbin/iwpriv eth1 set_vlanmode 0
を追記しておきました。

これでリモートホストにSSHでログインできるようになりました。