NetBSDメモランダム




Japan NetBSD User's Group

2004/1/15

追加したパッケージがすぐには使えない場合

tcshやcshを使用している場合、package(例えばxemacsなど)をインストールした後、必ず shell上から rehash[リターンキー] としておきます。tcshやcshは使用出来るコマンドをキャッシュする為に、たった今インストールしたプログラムを見つける事が出来ません。この為、rehashコマンドを実行して、キャッシュを再作成しておきます。

2003/12/19

日本語マニュアルを使う方法

jmanを入れて日本語のマニュアルを見よう
・パッケージの追加
pkg_addで以下のパッケージを追加
	ja-groff-0.99.tgz
	ja-less-358.tgz
	ja-man-19990531.tgz
・環境変数の設定
普段使っているユーザの .cshrc を編集した
	JLESSCHARSET  japanese-euc
	LANG  JP
・使いやすいようにエイリアスを設定
こっちも同様に .cshrc を編集
	alias less jless
	alias man  jman

2003/05/30

gnuのコマンドをインストールする方法

  1. gnuのサイトからソースを取ってくる
    http://ftp.gnu.org/pub/gnu/coreutils/coreutils-5.0.tar.gz
    取ってくるのは誰でもいい
  2. どこかに展開する
  3. スーパーユーザになる
  4. 展開されて出てきたフォルダの中に入る
  5. 以下のスクリプトやコマンドを順次実行する
    ./configure
    make
    make install
  6. これで/usr/local/binの中にコマンドが出来上がる

lsでカラー表示する方法

gnulsを使う
デフォルトでは色は付かない
ls --colorで色つきになる
色の設定は環境変数LS_COLORSで行う

2003/05/15

umaskコマンドって何?

ファイルやディレクトリを作るときのデフォルトのパーミッションで立てたくないフラグを指定するコマンド
umask をまったく実行しないでおくと、ファイル生成時は 666 ディレクトリ生成時は 777 となっている
通常は umask 022 として、ファイルなら 644 ディレクトリなら 755 となるようにする
スクリプトなんかでファイルやフォルダを生成するときに使われ方に応じて設定し直す
参照:UNIXの部屋<umask>

2003/05/14

manページのセクション分類

manページのセクションはそれぞれ以下のように分類されている
  1. ユーザコマンド
  2. システムコール
  3. ライブラリ関数(サブルーチン)
  4. スペシャルファイル
  5. ファイルフォーマット
  6. ゲームプログラム
  7. 習慣やプロトコル、ファイルシステム、その他
  8. 管理コマンドと特権コマンド
  9. カーネル内部

ユーザ追加・削除方法

現時点(1.6)では以下のコマンドを使う
useradd : ユーザの追加
Usage: useradd -D [-b basedir] [-e expiry] [-f inactive] [-g group]
        [-r lowuid..highuid] [-s shell] [-L class]
Usage: useradd [-G group] [-b basedir] [-c comment] [-d homedir] [-e expiry]
        [-f inactive] [-g group] [-k skeletondir] [-m] [-o] [-p password]
        [-r lowuid..highuid] [-s shell]
        [-u uid] [-v] user

userdel : ユーザの削除
Usage: userdel -D [-p preserve]
Usage: userdel [-p preserve] [-r] [-v] user

groupadd : グループの追加
Usage: groupadd [-g gid] [-o] [-v] group

groupdel : グループの削除
Usage: groupdel [-v] group

2003/05/06

viの必要最低限のコマンド

終わり方 :q!quit(saveなし)。
ZZsaveして終わる。
2つのモード i直前でインサートモードに移る。自由に書き込みする。
a直後でインサートモードに移る。自由に書き込みする。
[esc] コマンドモードに戻る。
行の操作 G最後のラインに飛ぶ。
1Gトップラインに戻る。
nGn行目のラインに飛ぶ。
dd1行を消してbufferに入れる。n行分消す時はndd。
Pbufferに入ってる行を直前の行に挿入する。
J次の行と結合する。
文字操作 x今の文字を消す。
r今の文字を次にタイプする文字で置き換える。
D今の文字を含んで行末まで消してbufferに入れる。
X直前の1文字を消す。
行内操作 $行の最後の文字に飛ぶ。
0行の最初の文字に飛ぶ。
検索 /XXXXX文字列XXXXX(returnまで)を下向方向で探す。
/[returmn]前回と同じ文字列を再度下向方向で探す。
?XXXXX文字列XXXXX(returnまで)を上向方向で探す。

2001/10/19

標準的なディレクトリ構成

FHS(Filesystem Hierarchy Standard)で規格化されている標準的なディレクトリ構成は以下の通り
ディレクトリ 内容
/bin/ 管理者、一般ユーザともに用いる、基本的な実行ファイル群
/sbin/ 管理者用の基本的な実行ファイル群
/boot/ OSのブートに必要とされるファイル群
/dev/ デバイススペシャルファイル群
/etc/ 当該ホストに固有の設定を保存する設定ファイルや、設定ファイルを有するディレクトリ群
/home/ ユーザのホームディレクトリ群
/lib/ 最低限/bin/や/sbin/に」格納されたコマンドが動作するのに必要なライブラリ群
/mnt/ フロッピーディスクやCD-ROMなどの、一時的にマウントされるデバイスのためのマウントポイント群
/opt/ 追加的にインストールされるアプリケーションのためのディレクトリ。"hoge"アプリケーションの場合には、"/opt/hoge/"のように用いるべきである
/root/ スーパーユーザ用のホームディレクトリ
/tmp/ テンポラリファイル用のディレクトリ。なお、このディレクトリ内のファイルやディレクトリが、プログラムインスタンス間で消去されていないことを期待したアプリケーション設計をしてはいけない。その場合には、代わりに"/var/"以下の固有のディレクトリを用いるべきである
/var/ アプリケーションインスタンスのための変数のように用いられるファイル群。リードオンリーにできないために"/usr/"以下に入れられないファイル、ディレクトリは、ここに入る
/usr/ 上記以外のファイルやディレクトリ。ホスト間で共有が可能で、理想的には、リードオンリーで用いることができる。
/usr/bin/ 実行ファイル群。基本的なコマンド以外のほとんどのコマンドは、ここに入れるべきである。
/usr/include/ C言語のインクルードファイル
/usr/lib/ 共有ライブラリや、スタティックライブラリ。ユーザから直接に実行されるべきではないコマンドを格納する
/usr/local/ 管理者が、パッケージ管理や試験的にアプリケーションをインストールするために用いる。初期状態では、基本的には空のはず
/usr/sbin/ 管理者用の実行ファイル群
/usr/share/ アーキテクチャ非依存のファイル群。主要なサブディレクトリとしては、doc(ドキュメント)、info(infoファイル)、man(マニュアルファイル)、locale(ロケールデータ)など
参照:http://www.pathname.com/fhs/

2001/09/21

csh,tcshの変数

cshとtcshでの変数の設定方法は以下の用になります。
(sh,bash,zsh等はまたちがった方法になります)
設定方法 set SHELL_VARIABLE
set SHELL_VARIABLE = CONTENT
削除方法 unset SHELL_VARIABLE
参照方法 set
変数名の大文字と小文字は区別されます。
普通は小文字を使います。環境変数には大文字を使います。
~/.cshrc や ~/.tcshrc に set 文を追加しておけば次回からも自動的に有効になります。
参照:http://www2.startshop.co.jp/~68user/unix/shell-variable.html

環境変数

環境変数とは、いろいろなアプリケーションが参照する定義です。LESSCHARSET のように、あるコマンドだけが参照する環境変数と、HOME、EDITOR などのように多くのコマンドが参照する環境変数があります。
csh,tch系での設定方法は以下の用になります。
設定方法 setenv SHELL_VARIABLE
setenv SHELL_VARIABLE CONTENT
削除方法 unsetenv SHELL_VARIABLE
参照方法 printenv
環境変数はシェル変数と違い、子プロセスに引き継がれます。

日本語環境に最低限必要そうなもの

2001/09/18

パッケージコマンド

パッケージコマンドには以下のような物がある
pkg_add パッケージの追加
pkg_delete パッケージの削除
pkg_info パッケージ情報の表示

NetBSDパッケージシステム

http://www.alpha-net.ne.jp/users2/xiangyan/package.htmlからの引用

NetBSD パッケージシステム

NetBSD をいろいろな用途に使おうとすると、多く流通しているソフトを使うことになります。これらを簡単に導入するために、パッケージが用意されています。

まずは、最新版のパッケージを用意します。tar ボールはここにあります。 CVS で取得する方法もあります。

システムをインストールした直後は、 /usr/pkgsrc/pkgtools/pkg-install の インストールが必要な場合があります。 事前にインターネットに接続して、 # cd $PKGSRC/pkgtools/pkg_install
# make install

その後は、自由に pkgsrc を探索し、使いたい アプリがあればそのディレクトリに移動し、 make install すれば目的のアプリがインストール されます。また、$PKGSRC/mk/mk.conf.sample を /etc にコピーし編集すれば、KTERM に壁紙を貼ったり、 fetchmail を SSL なしでコンパイルするなど好みの パッケージを導入することができます。

基本的には以上の通り簡単ですが、ときには 失敗したり、自分でパッチを当てたいなどと いうときがあります。このようなときは、段階を 分けてインストールすることが可能です。

2001/09/10

パッケージの格納位置

pkg_add を使うとバイナリパッケージは
/usr/pkg
にインストールされるようだ
パッケージのファイル自体(*.tgz)はどこにあってもいいみたい

/usr/pkgsrc にソースパッケージを入れるみたい
/usr/pkgsrc/X11 にはX11用のソースパッケージを入れる見たい

pkgsrcの設定ファイル

/etc/mk.conf
以下の設定はきちんとしておくこと
ACCEPTABLE_LICENSES= shareware no-commercial-use fee-based-commercial-use
			# シェアウェアをインストールするためにはこの変数の
			# 設定をしておく必要があります。
			# シェアウェアで有名なのは例えばxv。
			# 変数の値 shareware, no-commercial-use,
			#   fee-based-commercial-use 
			# Default:なし

パッケージのインストール方法

インストールしたいパッケージが /usr/pkgsrc/hoge.tgz の場合
#cd /usr/pkgsrc
#gzip -d hoge.tar.gz
#tar -xvf hoge.tar
#cd hoge
#make && make install >& install_log
#make clean
#make clean-depends

ターミナルの設定のヒント

/etc/ttys にいろいろ書いてある

ユーザ追加方法(旧式?)

基本的に以下の手順
1.ホームディレクトリの作成
/home の中にユーザ名と同じ名前のディレクトリを作っておく
2.グループの作成(必要なら)
/etc/group を編集してユーザ用のグループを追加する
すでに存在するグループに参加させるだけならこの作業はいらない
書式は
新しいグループ名:*:そのグループのID:所属するユーザー1,所属するユーザー2
となっている
例:
	beginer:*:2000:hogehoge
3.ユーザの追加
/etc/passwd を編集してユーザ用のグループを追加する
※ vipw を使って編集する
書式は
ユーザー名:パスワード:ユーザーID:グループID::0:0:本名:ホームディレクトリ:ログインシェル
となっている
例:
	hogehoge::2001:2000::0:0:Ugaugu Hogehoge:/home/hogehoge:/bin/csh
パスワードの部分はとりあえず何もいれておかない
4.ホームディレクトリを追加したユーザの物にする
#chown hogehoge:beginer /home/hogehoge
これで一応登録自体の作業は終了
5.新しいユーザーの作業
まずはログインしてパスワードの設定を行う。
それからログオン時に実行するスクリプトファイルを雛形からコピーする
#cp /usr/share/skel/dot.cshrc .cshrc
#cp /usr/share/skel/dot.login .login
あとは適当に必要な設定をして終わり

localtimeの設定

dateコマンドを打って、出てきた時間がGMTだった場合、localtimeの設定ができてません。
localtimeの設定は以下のようにします。
	#rm /etc/localtime
	#ln -s /usr/share/zoneinfo/Japan /etc/localtime

依存関係の確認方法

実行ファイルに必要な共有ライブラリの依存関係を調べるには、 ldd コマンドを使う

libintlのパッケージ

bashに必要なライブラリの libintl のパッケージは
/packages/devel/gettext-0.10.35nb1.tgz
です。

----/--/--

リンク集

68user's page[UNIXの部屋]