Linuxユーザの立場から、役立つ情報や困ったときの解決方法を分かりやすく、かつ簡潔に記事にまとめています。主に、Ubuntu 8.04(→9.04)やCentOS 5.2(→5.3)で確認したことですが、他のディストリビューションでも応用できると思います。内容は(1)設定ファイルの書き方(2)役立つソフトウェア紹介やインストール方法(3)便利なコマンドの使い方や活用例(4)困ったときの解決方法です。このページの末尾にキーワード別で記事を分類してあります。また、真上の「ブログ検索」フォームからブログ内の記事を検索できます。

2009年2月14日土曜日

Dejavu、efont、Bitstream Veraフォントをインストール このエントリーを含むはてなブックマーク

本記事では、Dejavu, efont, Bitstream Veraフォントのインストールについてまとめる(CentOSにて行った)。

Bitstream Veraフォント

/usr/share/bitstream-veraディレクトリにTrueTypeフォントがもともとあるが、fontpathが登録されていなかった。/etc/X11/xorg.confでフォントパスを次のように登録した

FontPath "/usr/share/fonts/dejavu"

さらに、/etc/X11/fs/configでxfsにフォントパスも登録した。 catalogueでコンマで区切ってパスを登録する形式になっている。

次に/usr/share/bitstream-veraに移動して、mkfontdirとmkfontscaleを実行する。後は、設定の読み込み作業など(fc-cacheとxset fp rehash など。またservice xfs restartでxfsを再起動する。これらは、どれが必要で、どれが不必要なのかいまいち理解できていないが、実行して間違いはないようなので、一通り実行している。しかし、この後にxfontselを実行しても登録されていないので、X自体を再起動する。すると、xfontselに反映される。詳細な手順は「M+とIPAの合成フォントのインストール 」参照のこと)

efont

efontはsourceforgeのefontプロジェクトからダウンロードしてくる。

efontは、tarボールで圧縮されているので展開する。そして、適当なディレクトリ(例えば/usr/share/fontsなど)にttfファイルをコピーする。私は/usr/local/share/fonts/efontディレクトリを作成して、そこに格納した。/usr/share/fontsや/usr/share/X11/fontsなどのディレクトリはデフォルトのシステムのフォントディレクトリなのでその下に作ったディレクトリに格納しておけば、何も設定しなくてもそのフォントは認識される。しかし、/usr/local/share/fontsはデフォルトのディレクトリでないので、システムに登録する必要がある。

システムへのフォントディレクトリの登録は/etc/fonts/local.confで行う。もともとlocal.confという設定ファイルは存在しないので、次のように自作する。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts/local.conf file for local customizations -->
<fontconfig>
    <dir>/usr/local/share/fonts</dir>
</fontconfig>

ちなみに、/etc/fonts/fonts.confを見てみると、システムのデフォルトのフォントディレクトリが書かれているのが分かる。この設定ファイルのヘッダに注意書きされているように、fonts.confは直に編集してはならない。カスタマイズはlocal.confにすること

ちなみに、フォントパスなどの登録、反映は上のvitstream veraの場合と同じ。

xtermで日本語を扱えるフォントはあまりないけれど、efontは使えるのでインストールした。xtermのフォント設定は~/.Xresouceから行う。

Dejavuフォント

Dejavuフォントはrpmfindからfedora core9用のパッケージdejavu-fonts-2.24-3.fc9.noarch.rpmをダウンロードする。

$ rpm -ivh dejavu-fonts-2.24-3.fc9.noarch.rpm
でインストールできる。このフォントのdejavu sans monoをemacsで使うことにする。 CentOS5.2ではemacs 21が入っている。これで他のフォントに変更したらなぜか欧文が□になってうまく表示できない。いろいろ試してみて、dejavuを入れてemacs23にしたらうまくdejavu sans monoを登録できた。

まず、上のようにdejavu-fontsをインストールする(ちなみに、フォントパスなどの登録、反映は上のvitstream veraの場合と同じ)。次に、http://people.redhat.com/coldwell/emacs/repo/rhel/emacs-release-23-1.el5.noarch.rpmを取ってきてインストールする。そして、

yum update emacs-common
とするとemacs23にバージョンアップできた。emacs-commonを入れると、gnome関連のパッケージも依存性によりインストールされて嫌だったけれど、仕方なし。

参考サイト

2009年2月13日金曜日

Windowの名前、クラス名を調べる。 このエントリーを含むはてなブックマーク

本記事では、LinuxのX上で表示されるウィンドウの名前、クラス名を調べる方法をまとめる。 例えば、WindowManagerのtwmの設定ファイルでアプリケーションごとのウィンドウの挙動を設定するときなどに、そのウィンドウの名前やクラス名を使うときに必要になる。

xpropコマンドを実行してウィンドウをクリックすれば、そのウィンドウに関する性質が端末に出力される。それでは、順を追って説明する。

次のコマンド

$ xprop
を実行すると、マウスポインタが十字架になるのでウィンドウをクリックする(下の写真に十字架のポインタは写ってませんが、、、)。

そのウィンドウに関する情報が端末に出力される。大量の情報なので、grepで抜き出す。ウィンドウの名前(WM_NAME)の場合は次のようにする。

$ xprop | grep WM_NAME
ウィンドウのクラス名(WM_CLASS)の場合は次のようにする。
$ xprop | grep WM_CLASS

2009年2月12日木曜日

suコマンドの制限 このエントリーを含むはてなブックマーク

本記事では、CentOS5.2でsuコマンドを実行できるユーザを制限する方法をまとめる。他のユーザのパスワードを知っていたとしても(不正に知りえた情報かもしれないので)、誰でもsuを実行できることは危険である。したがって、suを実行できるユーザの制限をする。

設定

/etc/login.defsに次の1行を追加する(<---この設定は、最近は不要らしい。pam_wheel.so を使う場合は、SU_WHEEL_ONLY の設定は不要より)。

SU_WHEEL_ONLY yes
これは、wheelグループに所属するユーザだけsu権限が得られることを意味している。

さらに、/etc/pam.d/suで次の箇所

# Uncomment the following line to require a user to be in the "wheel" group.
#auth            required        pam_wheel.so use_uid
をコメントアウトして、
# Uncomment the following line to require a user to be in the "wheel" group.
auth            required        pam_wheel.so use_uid
のように変更する。 これで、ユーザがwheelグループに所属している場合だけsuの実行権限が与えられる。 ちなみに、よく似た行があるので別の箇所をコメントアウトしないように注意する。

次に、あるユーザhogeをwheelグループに所属させたいときは、

# usermod -G wheel hoge
を実行すれば良い。

sudoの利用

ここでは、ユーザにsudoの実行権限を与える方法を説明する。

sudoを使うと、別のユーザとしてコマンドを実行することができる。 suではrootパスワードを入力してroot権限を取得する必要があったが、 rootパスワードを入力するリスクを回避するためなどの理由で、sudoが使われることがある。

sudoはsuとは異なり、rootパスワードは必要とされない。現在のアカウントのパスワードを 入力して、本人確認が取れればroot権限でコマンドを実行できる。 もちろん、sudoの実行権限の与えられるユーザは十分信頼できることが前提である。

ユーザhogeにsudoの実行権限を与える方法は、まずhogeをwheelグループに所属させて、次にwheelグループに所属するユーザにsudoの実行権限を与えることで実現する。sudoの権限を設定するファイルは/etc/sudoersであるが、これは直に編集するのでなくvisudoという専用のツールで編集する。

# visudo 
で編集モードに入る。次の行
#%wheel ALL=(ALL) ALL
を探して、コメントを外せば良い。

sudoを使うことで、rootパスワードをユーザに知らせることなくroot権限を与えることができるようになるというメリットはある。また、sudoで実行したコマンドの履歴は保存される。しかし、rootパスワードなしで一般ユーザがroot権限を取得できるということはセキュリティ上あまり好ましくないので、これはデメリットでもある。ゆえに、sudoを利用する場合は、それが本当に必要なのかどうかを十分検討する必要がある。

参考サイト

2009年2月11日水曜日

ntpサーバの設定 このエントリーを含むはてなブックマーク

本記事では、ntpサーバの設定をまとめる。

ntpサーバのインストール

yumあるいはapt-getなどでインストールする。

$ yum -y install ntp

設定ファイル

/etc/ntp.confを編集する。

# デフォルトで全てのNTPアクセス拒否
restrict default ignore

# ローカルホストからはNTPアクセス許可
restrict 127.0.0.1 
restrict -6 ::1

# 参照するntpサーバを指定
server ntp.nict.jp
server ntp.nict.jp
server ntp.nict.jp


server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10  
# 変動情報記録ファイルの指定
driftfile /var/lib/ntp/drift

時刻合わせ、デーモン起動

$ ntpdate ntp.nict.jp
11 Feb 21:06:39 ntpdate[15455]: step time server xxxx offset -193.337527 sec
$ /etc/rc.d/init.d/ntpd start

参考サイト

sshサーバの設定 このエントリーを含むはてなブックマーク

この概要は表示できません。投稿を閲覧するには ここをクリック してください。

キーワード

キーワード別に記事を分類してあります。クリックすると各キーワードに該当する記事たちが表示されます。

過去の記事

筆者について

自分の写真
趣味はコンピュータ、音楽、写真などです。