SE Linuxを一時的にOFFにする

昨日久々に実験機のCentOS4を触ってMySQLを起動しようとしたら失敗した。
ログを見てみるとどうやらSELinuxが絡んでいるようだ。実験機なのであまり深く考えずにとにかくMySQLを起動させるためにSELinuxを一時的にOFFにした。
以下でSELinuxを無効にできる。
setenforce 0
再びSELinuxを有効にするには
setenforce 1
正直SELinuxはほとんど未知の領域なのでOFFにすることでしのいでいるが、そろそろ本格的にやらないとまずいかなと思う今日この頃。

カテゴリー: 小技 | タグ: | 1件のコメント

VNCでLinuxを操作する その2 GNOMEデスクトップに変更

さて前回のエントリーでVNCViewerからの接続に成功しただろうか?
しかし接続に成功したとはいえデジタルRGB(こんな例えでわかる奴おるか!)みたいな画面で途方にくれた人もしくはVNCはこんなものかとあきらめに入る人もいるがまだ早い。
次はこのあまりにしょぼいtwmというウィンドマネージャーを(おそらく大多数にとっては)見慣れたGNOMEに変更する方法である。
VNCサービスの再起動が伴うので、ここからはsshでの操作になる。
まずはvncを立ち上げているユーザのホームディレクトリに移動し
.vnc/xstartupを以下の内容で置き換える。
#!/bin/sh
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
このままでは設定変更が反映されないのでvncセッションを再起動(すでに接続が確立されている場合は強制切断される)
vncserver -kill :1
vncserver :1
VNCViewerで再接続してみれば見事GNOMEデスクトップの画面が出てくるはずである。
なおVNCViewerからログアウトしてしまった場合は何も操作できず一見ハマリになるが、sshでログインして上記のvncセッションを再起動してやれば元に戻る(逆を言うとsshなり、コンソールなりでログインできる環境ではない場合は本当のハマリ)

カテゴリー: VNC | タグ: , | コメントする

VNCでLinuxを操作する その1起動確認

SSHがあるからGUIなんて遅くて使ってられるか!という信条に基づきいままでほとんどXwindowは入れてなかったのだが、最近Linuxデスクトップをよく利用するようになって俄然Xの利用頻度が多くなってきた。
それに伴い本来GUI不要のサーバー用途のマシンにもXを入れておいてそれをVNC経由で(ディスプレイがないので)操作することにした。LinuxのVNCはXプロトコルを利用しているので、WindowsマシンをVNCで操作するときと違い同一LAN内部であれば直接操作しているのと変わらないほどのレスポンスのよさがあるのも採用の大きな決め手である。ただし暗号化はされていないので外のネットワークに公開するのはやめておいたほうがいいだろう。余談ではあるがWindowsをリモートコントロールするならVNCよりも、素直にリモートデスクトップを使ったほうが早いし多彩な操作ができるだろう。
最近のディストリビューションにはすでにvncが入っていることが多い。CentOSでは最小インストールでも入っていた。なければパッケージでいれればよい。ここではインストールが終わっている前提で話を進める。
まずはVNCのパスワードの設定。これはVNC接続の時に必要になる。
# vncpassword
そしてvncの起動
# vncserver :1
デフォルトではtwmという古いwindowマネージャとなるので一瞬面食らうがこれで動作確認は取れる。
後はデフォルトであれば5901ポートに対してvncviewerで接続してみること。なおhttp://vncサーバー:5801/でJavaアプレットによるVNCViewerも立ち上がる(重いのでお勧めしないが)
なお接続できない場合はたいていファイヤーウォールが邪魔をしているので該当ポートを空けること。

カテゴリー: VNC | タグ: , | 1件のコメント

wgetでproxyを指定する。

proxy経由でしか外が見えない場合のproxy指定方法
以下の内容で~/.wgetrcを作成しproxyを設定する。

vi ~/.wgetrc
http_proxy=PROXY_SERVER:PORT

環境変数http_proxyに設定する方法もある。ほかのプログラムでもこの環境変数を使うのでどう考えてもhttp_proxy環境変数に設定するほうがほうが楽。
当然ながらProxyサーバーの指定にはhttp://を忘れないように(昔忘れてうまくいかないと嘆いていた)

vi ~/.bash_profile
export http_proxy="http://プロキシサーバー名:ポート/"
# proxy除外はnoproxyで指定
export no_proxy="localhost,example.com"

その後は普通にwgetすればよい。

せっかくなのでほかのテクニックを

# 複数のファイルを一度に取得する(-i)
wget -i URLを列挙したファイル名
# 出力ファイル名を指定する(-o)
wget -o ファイル名 取得ファイル先URL
カテゴリー: 人気記事, 便利なコマンド | タグ: , , | コメントする

ターミナルでの画面表示も含めた作業ログをとりたい時はscriptを使うのだ

たとえばなんらかの作業を行ってログとして残したいのであればhistoryでこと足りるが、たとえばそれはlsを実行したというだけであり、その時点で画面表示がどうなっているかはログには残らない。
そういったときに画面に表示されるすべてのログを取れるのがscriptコマンドである。使い方は
script 記録するファイル名
exitが実行されるまで画面に表示されるすべて(lsやtarの解凍も!)が記録されるので何かあった時に備えてログを残しておくならばscriptのほうがより適切であろう。
なお普通にlessとかで見ると制御コードが入りまくりで見えないのでcatすること。

カテゴリー: 便利なコマンド | コメントする

viのbeep音を消す

前回のエントリーでLinuxのうるさいBEEP音を消すやり方を書いた。
これで静寂の世界が訪れたと思いきやまだ甘かった。
viがうるさい。もともとemacs使いなのでviになれていないのを差し引いてもとにかくやたらbeep音がピーピーなる。というわけで今回はこいつを黙らせて見よう。
ここで紹介している方法はvim(Linuxのviはほとんどこれ)の話なのでSolarisとかには当てはまらないので注意。
vimの設定ファイルはホームの.vimrcに書いておくこいつを編集(なければ新規作成)
set visualbell
直訳すると視覚的ブザーってところか。いままでbeep音がなる局面で今度は画面が微妙にフラッシュする。無設定時のbeep音騒音公害とちがって実に控えめである。
そもそもSSHターミナル使えよという突っ込みは拒否(コンソールの前でしなきゃならん作業もあるわけだ)

カテゴリー: 小技 | タグ: , , | コメントする

MS-IMEの誤変換はすごい

ワードによって一太郎が駆逐(残念ながらこれまでオフィスでは見たことがない)された副作用として変換効率の悪いMS-IMEがよくもわるくも標準となってしまった。
そして誤変換がすごいのがよくわかるのがgoogle検索を誤変換のままやってしまった時にちゃんと「もしかして」で候補が出てくることである。
アレックス・ロドリゲスのつもりで
炉鳥下種
とかね
最近ではあふぉIMEの誤変換はgoogle大先生に直してもらうことにしてます。

カテゴリー: Windows | コメントする

CentOS5.0ネットワークインストール

さすがにそろそろ主流にも乗っておこうと一年ぶりぐらいにCentOSインストールに挑戦。
とはいってもCD6枚焼くとかDVD用イメージ2G以上をダウンロードする気力もないのでネットワークインストールに挑戦。CentOS4.2のときもネットワークインストールに挑戦している。
ネットワークインストールはVineLinuxだとほとんど失敗した覚えがないがCentOSは巨大なパッケージ郡を落としている途中でエラーが出てインストーラーがそのまま終了という苦い記憶がある。
ネットワークインストールを成功させるコツは
テキストインストール
最小パッケージ構成
以上で望むこと。それでもディスク1枚分ぐらいはダウンロードしてくるので時間はかかってしまう。

続きを読む

カテゴリー: CentOS | タグ: , | 1件のコメント

eclipseでCVSを利用時にローカルの変更を取り消す方法

これまでの開発では主にコマンドラインでCVSを利用し、便利だとは知りつつeclipseのCVSはほとんど使ってこなかった。
なぜかといえばGUIなので初心者が結構無用なディレクトリまで登録してしまうとう事例が頻発していたのであえて避けていたというものある。CVSはいったん登録したディレクトリは基本的には消せない(リポジトリを直接削除するという危険な手段を除いては)ので、eclipseのCVSは要注意なのである。
さて本題だが、いったんローカルのファイルを変更しその後UNDOで完全にもとの状態に戻したとしても、タイムスタンプが変更されているのでeclipse上は変更マークがついてしまう。内容が同一であればもちろんコミット時は何も起こらないのだが、本来変更されたファイルと紛らわしいのでこれを消すため、もしくはデバッグコードを入れまくってぐちゃぐちゃになってしまったローカルのファイルをリポジトリの最新で置き換えたい時に以下の操作をする。
該当ファイルを右クリック→置換→HEADから最新でローカルの変更を無効にしてリポジトリのファイルで強制上書きする。

カテゴリー: eclipse | タグ: | コメントする

一般ユーザでstartxしたらFatal server errorと出る時の対策

これはRedHat系に昔からよくあるハマリである。
少なくともRedHat9やEnterprise3ではデフォルトではroot以外はstartxできない。
pamの設定で制限しているためである。
セキュリティのためpamで制限されている。
回避するために/etc/pam.d/xserverを編集
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_console.so←pem_permit.soへ変更
account required pam_permit.so
これでめでたく一般ユーザーでもXが立ち上がるはずである。しかし設定ひとつで回避できる問題なのにFatal server error:と表示されるのは大げさではないだろうか?

カテゴリー: Linux | タグ: , | コメントする