今日も元気にテクニカル

技術情報書きたいけど本ブログに書きたくないからこんな名前になりました。

コンピューター名の変更

hostnameコマンドでコンピューター名の表示、hostname [コンピューター名]でコンピューター名の変更ができる。コンピューター名の変更には管理者権限が必要である。
ちなみにコンピューター名は

  • /etc/hostnameファイル (Debian)
  • /etc/sysconfig/networkファイル (Redhat)

に記載されており、PC起動時にこのファイルを読み込んでホスト名を決定しているようである。が、hostnameコマンドでコンピューター名を変更しhostnameコマンドで新しいコンピューター名を確認できるが、このファイルに即時反映されない。おそらく内部的に値をキャッシュし次回再起動時に反映するのだろう。が、その影響は再起動前から及んでおり、コンピューター名を変更した後sudoするとエラーメッセ−ジが表示される。

user01@ubuntu-ice:/etc$ sudo -i
sudo: unable to resolve host ubuntu-ice3
root@ubuntu-ice3:~# exit

Windowsでもコンピューター名を変更した後は再起動を求められるように、コンピューター名を変更すると各所に影響が出る。やはりコンピューター名の変更というのは簡単なものではなく、むやみに変えるものではない。変えたとしてもすぐに再起動するべきだ。

リソースの設定

ウィンドウバーの色やフォントの種類をフォントの種類をコマンドラインから設定できますよ、というお話。システム管理ではあまり使わなさそうだし、デスクトップなら普通にGUIから設定するので尚更使わない。
教本には「/usr/lib/X11/以下にファイルがある」と書いてあるが、CentOSは/usr/share/X11/app-defaultsだし、Ubuntuは/etc/X11/app-defaultsだしでいろいろ場所が違う。取り合えずlocate app-defaultsして探すしかない。

Xサーバの設定

xdmやgnomeKDEはXクライアントでした。Xサーバの設定については

/etc/X11/xorg.conf

で行う。これはX.org X11の場合で、XFree86を導入しているディストリでは/etc/X11/XF86Configというファイルになる。
といってもメジャーなディストリはほぼ全てX.org X11みたいだが。
これも設定を一つずつ見ていくと大変なのでパス。

XDMの設定について

XDMとはgnomeKDEなど、Windowsでいうエクスプローラのことである。

XDMの設定ファイルの場所について

各種教本では、「XDMの設定ファイルは/etc/X11/gdm(kdm)以下にあるよ」と書いてあるのだが、Ubuntu8.10もCentOS5もそんな所にはファイルを置いていなく、/etc/gdm/以下にパスが変更された。まぁ変更されたってより他のアプリと同じパスに修正されたと言うべきか。

★CentOS5
[user01@eeco gdm]$ ls -al
合計 84
drwxr-xr-x  7 root root  4096  6月 25 05:46 .
drwxr-xr-x 98 root root 12288 11月 24 04:03 ..
drwxr-xr-x  2 root root  4096 11月  5 14:11 Init
drwxr-xr-x  2 root root  4096  6月 25 05:46 PostLogin
drwxr-xr-x  2 root root  4096  6月 25 05:46 PostSession
drwxr-xr-x  2 root root  4096  6月 25 05:46 PreSession
-rwxr-xr-x  1 root root  5536  5月 29 02:19 XKeepsCrashing
lrwxrwxrwx  1 root root    21  6月 25 05:46 Xsession -> ../X11/xinit/Xsession
-rw-r--r--  1 root root  2597  5月 29 02:19 custom.conf
-rw-r--r--  1 root root  4048  5月 29 02:19 locale.alias
drwxr-xr-x  2 root root  4096  6月 25 05:46 modules
-rw-r--r--  1 root root    71  5月 29 02:19 securitytokens.conf

★Ubuntu8.10
user01@ubuntu-ice:/etc/gdm$ ls -al
合計 132
drwxr-xr-x   7 root root  4096 2008-11-23 23:36 .
drwxr-xr-x 124 root root  4096 2008-11-24 09:50 ..
drwxr-xr-x   2 root root  4096 2008-11-24 09:24 Init
drwxr-xr-x   2 root root  4096 2008-10-30 08:07 PostLogin
drwxr-xr-x   2 root root  4096 2008-11-24 09:23 PostSession
drwxr-xr-x   2 root root  4096 2008-11-24 09:22 PreSession
-rwxr-xr-x   1 root root  4182 2008-10-15 18:56 XKeepsCrashing
-rwxr-xr-x   1 root root  6259 2008-10-15 18:53 Xsession
-rw-r--r--   1 root root   132 2008-10-23 22:40 failsafeBlacklist
-rwxr-xr-x   1 root root  8504 2008-10-23 22:40 failsafeDexconf
-rwxr-xr-x   1 root root  4582 2008-10-23 22:40 failsafeXServer
-rwxr-xr-x   1 root root  7443 2008-10-23 22:40 failsafeXinit
-rw-r--r--   1 root root 34161 2008-11-23 23:36 gdm.conf
-rw-r--r--   1 root root  2142 2008-10-15 18:56 gdm.conf-custom
-rw-r--r--   1 root root  3601 2008-10-15 18:56 gdmprefetchlist
-rw-r--r--   1 root root 10871 2008-10-15 18:53 locale.conf
drwxr-xr-x   2 root root  4096 2008-10-30 08:07 modules

CentOSに至ってはgdm.confというファイル名も廃止され、custom.confに変更されている。

CentOS5のgdmの設定 - CreNanの日記

これじゃどの設定ファイルか分かったもんじゃない。このgdm.conf(custom.conf)を編集するといろんな事ができそうなんだが、追っていくときりがないので省略。

XWindowSystemについて

2種類のXWindow起動方法がある。

1.ランレベル5によるGUIログイン

これは普通。

2.ランレベル3→startx

Redhat系の場合、inittab内のランレベルを変更する、Debian系の場合、update-rc.d -f gdm removeなど、/etc/init.d/gdmを起動させないようにすればCUIログインになる。

startxによって起動された場合、Xクライアントは~/.xinitrc、なければ/etc/X11/xinit/xinitrcを読み込む。どっちがあるかはパッケージによって違うのでlocate xinitrcなどすれば分かる。xinitrcはただのラッパーで本スクリプトはxsessionやXclientsなどになる。どれを呼び出しているかはxinitrcの中に書いてあるので参照する。

同じくXサーバは~/.xserverrc、なければ/etc/X11/xinit/xserverrcを読み込む。

bashの動きについて

ログイン字は以下の順番でbashの定義ファイルが読み込まれる。

  1. /etc/profile
  2. ~/.bash_profile # シェルオプションを指定
  3. ~/.bashrc # エイリアスやユーザー関数を指定
  4. /etc/bashrc

この4つはどれもほどほどに重要。

シェルオプションについて

環境変数bash内限定版。

set -o # オプションを一覧表示
set -o オプション # オプションを有効にする
set +o オプション # オプションを無効にする

set -o ignoreeof
→Ctrl+Dでのログアウトができなくなる。
set -o xtrace(set -xも同等)
エイリアスで実行しても、実コマンドが表示される。

ユーザー関数について

~/.bashrc内にfunctionを記載し、シェルで使えるようにする。

function lm ()
{
  ls -l $* | more
}

vbのモジュールを最初に読み込んで、ターミナル内で環境変数として設定。そのセッション終了まで使えるようにするのと同じ。

デフォルトの定義ファイルについて

/etc/skelというディレクトリに存在する。新しくユーザーを作成した際にはここのファイルが新しいユーザーのホームディレクトリにコピーされる。まぁWindowsでいうDocuments and Settings\All users以下のファイルみたいなもの。

Ubuntuのrootについて

Ubuntuでは普通にsu - としてrootになろうとしても無理。なぜならrootにパスワードが設定されておらずログインできないから。su -と同じ事をするにはsudo -iでOK。

sudoの設定とか - 今日も元気にlinux - mylinuxグループ
Ubuntu には root のパスワードがない。 : tnomuraのブログ

ところでUbuntuでvisudoするとエディタがemacs風味なのが使いにくいんだが、なんとかならんものか…。