Linuxでソースコードの文字コード、改行コードを一括変換する

例:

> find -name '*.c' | xargs nkf --overwrite -w -Lu


nkfでよく使うオプション


-j JIS コードを出力する。(デフォルト)

-e EUC コードを出力する。

-s Shift_JIS コードを出力する。

-w -w80
UTF8 コードを出力する。 (BOM 無し)

-O ファイルに出力する。 UNIX では不要な機能だが WindowsMSDOS では
必要らしい。直後の引き数でなく、最後のファイル名が出力ファイル名と
なり上書きされてしまうので注意。ファイル名がない場合は nkf.out。

-L[uwm] -d -c
改行コードを変換する。

-Lu -d
unix (LF)

-Lw -c
windows (CRLF)

-X いわゆる半角カナ (JIS X 0201 片仮名) を いわゆる全角カナ (JIS X
0208 片仮名) へと変換する。

postgresqlにパスワード無しでログインする

バックアップ処理などをcronで実施する場合、パスワードなしでpostgresqlにログインする必要があるので、その設定をします。

通常は、バックアップ(cron)をするユーザの$HOME/.bash_profileに

PGUSER=ユーザ名 ※イコールの両端にスペースを空けないように注意
PGPASSWORD=パスワード
PGDATABASE=データベース名
export PGUSER PGPASSWORD PGDATABASE

cronが起動する一連の処理をシェルスクリプトに記述しているときは、.bash_profileに記述するよりも、そのシェルスクリプトの最初の方に上記exportまでを記述しておくほうがよい。

あとは

BACKUPFILE=$BACKUPDIR/dbdump`date '+%Y%m%d%H%M'` ※'と`の使い分けに注意
/usr/bin/pg_dump -p ポート番号 -U DBユーザ名 DB名 > $BACKUPFILEFILE.sql

とか。

Mac OSXでWebDAVに繋ぐ

MacはまともなWebDAVクライアントソフトがフリーで無いな〜と思ってたら、標準でFinderにWebDAVクライアント機能が実装されてた\(^o^)/

接続するには、Finderの「移動」メニューの一番下にある「サーバへ接続...」を選択して、
サーバのURL(通常はhttps://webdav_server_name/directory_name/
を入れればよい。

これでFinderのフォルダウィンドウが一つ開くので、あとはあたかもローカルディスクのなかの1つのフォルダであるかのように自由にファイルの読み書きができる。さすがMacすげー簡単すぎワロタ。


ちなみに俺々証明書のWebDAVサーバでもちゃんと認証してくれた(証明書エラーのアラートは出るけどね)

PostgreSQLのポート番号を変更する

PostgreSQLのポート番号はデフォルト5432/TCPを使うようになっているんですが、デフォルトのままだと攻撃対象になりやすいので変更した。(なお本来は、そもそも物理的に攻撃対象にならないPrivate IP のポートを使うべきです、はい)

簡単簡単、と思ったら意外にハマった/(^o^)\のでメモメモ。



まず、普通に考えてPostgreSQLの設定ファイルを変更する。設定ファイルは、通常、
/var/lib/pgsql/data/
にある
postgresql.conf
である。

この中の2行を変更すればよい。

#listen_address = 'localhost'

となっているところを、例えば、

listen_address = 'localhost,192.168.0.100'

のように変更する。複数のアドレスはカンマで区切り、両端を'で囲めばよい。


次にポート番号を変更する。

#port = 5432

とデフォルトではコメントアウトされているので、#を外し、任意のポート番号を記述する。


変更したらpostgresqlを再起動する。

> sudo /etc/init.d/postgresql restart

さて、これで変更できたかな?と思ったら甘かったw 繋がらない。








よくよく調べたら、postgresqlの起動スクリプト中に起動時ポート番号が
ハードコードされていたよ\(^o^)/なんだよそれw

/etc/init.d/postgresql
を開いて、
PGPORT=5432
のところを上記のpostgresql.confと同じ値に変更する。

これでpostgresqlを再起動したら無事つながりました。

PostgreSQLのパスワードを変更する

PostgreSQLなんてめったに使わないので忘れてしまう。メモメモ。

まずポスグレにログインする。

> psql -U your_db_user your_db_name

your_db=# alter user postgres with password '新しいパスワード';


pgsqlの設定ファイルはRHEL/CentOS系の場合は下記にある。

/var/lib/pgsql/data/

hba.confファイルを編集する。
ident sameuserになっているところをmd5に変更する。

# vi /var/lib/pgsql/data/hba.conf
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all ident sameuser
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5