[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [+]

Linux いろいろ

転職してから、メインが Linux になりました。
以前から
TurboLinux など は使ったことがありましたが、さほど真剣には使っていませんでした。
今は開発環境との兼ね合いから、 RedHat Linux を真面目に(?)使って います。
以下は、Linux を使い始めて戸惑ったことなどを、小ネタ集にしてみました。

目次


1. 環境

OS は RedHat7.1J です。カーネルは何度か再構築していますが、基本的 にはインストール直後と変わらないと思います。
# 以降の動作結果の例も、RedHat7.1J で行いました。
注: ipchains で何らかのルールを指定し ていると、NFS などがうまくつながらない可能性があります。一番てっと り早い方法は、ルールをとっぱらってしまうことですが、その意味をよく 考えて実行してください。
とりあえず止めるだけなら、以下のようにします。

  # /etc/init.d/ipchains stop
  Flushing all chains: [  OK  ]
  Removing user defined chains: [  OK  ]
  Resetting built-in chains to the default ACCEPT policy:[  OK  ]

恒久的に無効にしたいなら、/etc/sysconfig/ipchains を消してしまいます。
# あとで戻せないと困るので、rename するだけにしておいた方が無難では ないかと思います。

2. NFS を使いたい

2.1 NFS クライアントとして使いたい

まず、portmap と nfslock が有効かどうかを調べます。

  # chkconfig --list
  ...前略
  portmap         0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
  nfs             0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
  nfslock         0:オフ  1:オフ  2:オフ  3:オン  4:オン  5:オン  6:オフ
  ...後略

数字はランレベルを示しています。詳しいことは省略しますが、3〜5でオン になっていれば、起動時に起動されると思っていいと思います。
上記のようにオンになっていれば、あとは mount するだけです…が、そう でなければ、portmap と nfslock をオンにします。

  # chkconfig portmap on
  # chkconfig nfslock on

ただし、chkconfig では、起動時に起動させるかどうかの指定を行うだけ ですので、それぞれを起動させる必要があります。

  # /etc/init.d/portmap start
  Starting portmapper: [  OK  ]
  # /etc/init.d/nfslock start
  Starting NFS file locking services: 
  Starting NFS statd: [  OK  ]

あとは、実際に mount してみるだけです。
# もちろん、サーバ側で export しておく必要があります。

  # mount tamazo:/work /work
  # cat /proc/mounts
  ...前略
  tamazo:/work /work nfs rw,v3,rsize=8192,wsize=8192,hard,udp,lock,addr=tamazo 0 0

2.2 NFS サーバとして使いたい

今度は、nfs も有効にする必要があります。オフの場合、オンにしてデー モンを起動します。

  # chkconfig nfs on
  # /etc/init.d/nfs start
  Starting NFS services:  [  OK  ]
  Starting NFS quotas: [  OK  ]
  Starting NFS mountd: [  OK  ]
  Starting NFS daemon: [  OK  ]

次に、/etc/exports に、エクスポート可能なファイルシステムのアクセス 制御を記述します。基本的には

  マウントポイント  クライアントマシン名(オプション)

という行の集まりになります。クライアントマシン名は複数指定できます。
クライアントマシン名は、マシン名だけでなく、NIS のネットグループや ネットワーク(アドレス/マスク)も指定可能です。
オプションはいろいろありますが、man を見れば大体わかると思います。 注意すべきなのは root の扱いで、デフォルトでは、root のアクセスは nobody などのアクセスに置き換えられてしまいます。no_root_squash オプ ションを指定すれば、root のアクセスは root そのものになります。
/etc/exports を変更したら、exportfs コマンドで反映させます。

  # cat /etc/exports
  /tamao  tamao(rw,no_root_squash)
  /home   tamasuke(rw)
  # exportfs -a
  # exportfs -v
  /tamao          tamao(rw,async,wdelay,no_root_squash)
  /home           tamasuke(rw,async,wdelay,root_squash)


3. telnet, rsh, rlogin などを使いたい

最近の Linux では、デフォルトではリモートからのログインを許可してい ません。許可していないどころか、telnetd すらインストールされません。 確かに、セキュリティを考慮すれば、安易に許可してあると、用途によっ てはいろいろ問題を引き起こしそうです。 しかし、外部から侵入されるおそれのないところで、会社や学校の LAN な どにつないで使用する場合、telnet で入れたり rsh できたりする方が 便利です。
まずは xinetd をインストールして起動します。すでに入っていて起動さ れているなら必要ありません。

  # rpm -i xinetd-2.1.8.9pre14-6.i386.rpm
  # /etc/init.d/xinetd start
  Starting xinetd: [  OK  ]

同様に、telnet-server, rsh-server などもインストールし、chkconfig で有効にします。rsh-server/rlogin の例を示します。

  # rpm -i rsh-server-0.17-2.5.i386.rpm
  # chkconfig rlogin on

あとは、~/.rhosts に、許可したいホスト名を羅列しておくだけです。

4. rpm いろいろ

man を見れば一発、と言われればそれまでですが…。

4.1 入っているパッケージ一覧の表示

問い合わせを行う -q オプションに加え、-a オプションでインストール 済のパッケージの一覧表示になります。

  % rpm -qa
  gnome-audio-1.0.0-12
  jcode.pl-2.13-1
  redhat-logos-1.1.2-3
  ...以下略(とっても長い)

4.2 パッケージの情報の表示

-q オプションに加え、-i オプションとパッケージ名を引数に加えます。
以下に例を示します。(telnet-server の場合)

  % rpm -qi telnet-server
  Name        : telnet-server                Relocations: (not relocateable)
  Version     : 0.17                              Vendor: Red Hat, Inc.
  Release     : 10                            Build Date: 2001年01月22日 22時52分28秒
  Install date: 2001年12月29日 12時57分53秒      Build Host: porky.devel.redhat.com
  Group       : System Environment/Daemons    Source RPM: telnet-0.17-10.src.rpm
  Size        : 43143                            License: BSD
  Packager    : Red Hat, Inc. 
  Summary     : The server program for the telnet remote login protocol.
  Description :
  Telnet is a popular protocol for logging into remote systems over the
  Internet.  The telnet-server package  a telnet daemon, which will
  support remote logins into the host machine.  The telnet daemon is
  enabled by default.  You may disable the telnet daemon by editing
  /etc/xinet.d/telnet
  
  Install the telnet-server package if you want to support remote logins
  to your own machine.

4.3 パッケージに含まれるファイルの表示

-q オプションに加え、-l オプションとパッケージ名を引数に加えます。
以下に例を示します。(telnet-server の場合)

  % rpm -ql telnet-server
  /etc/xinetd.d/telnet
  /usr/sbin/in.telnetd
  /usr/share/man/man5/issue.net.5.gz
  /usr/share/man/man8/in.telnetd.8.gz
  /usr/share/man/man8/telnetd.8.gz

4.4 指定したファイルからパッケージを逆引きする

このファイルはどのパッケージに属しているのだろう? というときに使います。
-q オプションに加え、-f オプションとパッケージ名を引数に加えますと、 パッケージを出力してくれます。-i や -l などをさらに加えると、パッケ ージ名だけでなく前述の情報なども出力してくれます。
例えば、cat コマンドの場合の例を示します。

  % rpm -qf `which cat`
  textutils-2.0.11-7
  % rpm -qif `which cat`
  Name        : textutils                    Relocations: (not relocateable)
  Version     : 2.0.11                            Vendor: Red Hat, Inc.
  Release     : 7                             Build Date: 2001年04月09日 02時48分16秒
  Install date: 1988年09月07日 08時34分19秒      Build Host: porky.devel.redhat.com
  Group       : Applications/Text             Source RPM: textutils-2.0.11-7.src.rpm
  Size        : 1939478                          License: GPL
  Packager    : Red Hat, Inc. 
  Summary     : A set of GNU text file modifying utilities.
  Description :
  A set of GNU utilities for modifying the contents of files, including
  programs for splitting, joining, comparing and modifying files.

Powered by Apache PostgreSQL Usupi Logo Kuri Logo
[Home] [Kuri] [Sysad] [Internet?] [Blog] [Java] [Windows] [Download] [Profile] [Flash] [-]
usu@usupi.org Last modified : Thu May 2 22:45:44 2002