2012年11月12日月曜日

LPICレベル1技術解説無料セミナーをUSTREAMで見れます。

LPI-Japan主催の「LPICレベル1技術解説無料セミナー」がUSTREAMで見れるのですね。
http://www.ustream.tv/channel/lpi-japan
よくメルマガで紹介が届いていたので

「どんなのだろう?」
「無料の代わりに業社さんの勧誘があるのかな」
などと思ってましたが、約2時間半解説をしてくださっていました。


Video streaming by Ustream

2012年4月28日土曜日

radtestコマンドでRADIUSサーバへの接続テスト

RADIUSサーバが正しく設定するかを確認するために、radtestコマンドがある。
radtestコマンドを実行すれば、LinuxマシンをRADIUSクライアントとして認証の確認ができる。

コマンド構文

radtest  [-d  raddb_directory]  [-t  pap/chap/mschap] [-x ] ユーザー名 パスワード RADIUSサーバ名orIP ポート番号 共有鍵 [ppphint] [nasname]

実行して認証に成功すれば、
rad_recv: Access-Accept packet from host 192.168.73.132 port 1812, id=237, length=135
のようなメッセージが返ってくる。
失敗した場合は
rad_recv: Access-Reject
となる。

2012年3月18日日曜日

LPIC Level 1 Exam 102に合格しました!

600点で合格できました!

セクションと正解率
シェル、スクリプト処理、データ管理 60%
ユーザインターフェイスとデスクトップ 100%
管理作業 66%
基本的なシステムサービス 80%
ネットワークの基礎 71%
セキュリティ 44%
これはあくまでもスタート。実際の業務でLinuxを使いこなせるようにこれからも頑張ります!
教材(LPICレベル1 SuperExpress)を提供していただいた株式会社イーラーニング様には質問にも迅速に回答していただきました。
私のような業務経験が無い者にとっては、ビデオ学習は書籍よりも物事がイメージしやすく助かりました。
大変感謝しております。
この場を借りて御礼申し上げます。

2012年3月11日日曜日

IPv4のプライベートアドレスとは


きちんと暗記しきれていなかったので書いておきます。
クラスA 10.0.0.0 ~ 10.255.255.255
クラスB 172.16.0.0 ~ 172.31.255.255
クラスC 192.168.0.0 ~ 192.168.255.255

-n でホスト名の名前解決を行わない --numeric

-n でホスト名の名前解決を行わない というのはいくつかのコマンドで共通しているようだ。

ping
traceroute
netstat

manコマンドで調べたら --numeric 数値のみの出力の頭文字だ。

2012年3月5日月曜日

2012年2月29日水曜日

午前0時を表す「midnight」

at [オプション] [日時]
で指定した日時に1度だけコマンドを実行するように設定できる。
日時にはmidnightとすることで午前0時を指定できる。

同様にteatimeなどもある。
詳しくは
/usr/share/doc/at-3.1.10/timespec
に記述されている。

2012年2月21日火曜日

declareコマンド


declareに関する問題が出たので、調べてみる。

書籍には
declare -f シェルで設定している関数の名前と定義を表示
declare -F シェルで設定している関数の名前を表示
declare すべてのシェル変数を表示
declare -i 変数を整数値として処理
とあった。

man declare では


declare [-aAfFilrtux] [-p] [name[=value] ...]
と出てきた。結構なオプションがあるようだ。

2012年2月14日火曜日

sshポートフォワーディング


通信を暗号化された経路で行うための仕組み。

ssh -L ローカルホストのポート番号:リモートホスト:リモートホストのポート番号 リモートホスト

localhostの12000番ポートをメールサーバ(remotehost)の110番ポートにマッピングする。
例 ssh -f -N -L 11000:remotehost:110 remotehost

-f バックグラウンドで実行
-N リモートホストでコマンドの実行を行わない

2012年1月31日火曜日

鍵の無効化証明書


gpg コマンドで鍵の無効化証明書を生成しようとしたら。。。

[student01@lessonsv chap12]$ gpg --gen-revoke student01

sec  1024D/2D281F40 2012-01-31 student01 <student01@e-learning.co.jp>

この鍵にたいする失効証明書を作成しますか? (y/N) y
失効の理由を選択してください:
  0 = 理由は指定されていません
  1 = 鍵がパクられました
  2 = 鍵がとりかわっています
  3 = 鍵はもう不用です
  Q = キャンセル
(ここではたぶん1を選びます)
あなたの決定は?

パクられましたって。。。驚きです。

/etc/sudoers の書式

sudoの設定内容を記述するのだけど、その書式は

ユーザー名 ホスト名=(他のユーザー名) コマンド

さて、このホスト名を書く意味は何なのだろう。
他のホストで実行する許可を指定できるのだろうか。

2012/2/9追記
こちらのサイトでわかりました。
http://x68000.q-e-d.net/~68user/unix/pickup?sudo

sudoers ファイルには
どのユーザが
どのホストで
誰の権限で
どのコマンドを
実行可能にするのか、ということを記述する。
「どのホストで」というのは、複数のホストで同じ sudoers ファイルを使用することを前提としている。1つのホストのみ考慮すればよいなら、「全ホスト」を表す「ALL」を指定すればよい。

2012年1月26日木曜日

アクセス権を条件に検索するfindコマンドの-perm オプション

SUIDやSGID設定されているファイルは一般ユーザでも管理者権限で実行できてしまう危険なプログラムである。
findコマンドで -permオプションを使用すれば指定したアクセス権のファイルを検索することができる。

下記が参考になりました。

find/grep/xargsコマンドを使いこなす 業務で楽するためのUNIXテクニック集「検索」編(2/4):CodeZine
http://codezine.jp/article/detail/3279?p=2

find / -perm [アクセス権]
アクセス権の前に
-をつけるとそのアクセス権全てが許可されているものを検索し、
+をつけるとそのアクセス権の一部が許可されているものを検索する。
何も付けないとそのアクセス権に一致するものを検索する。

2012年1月22日日曜日

シェルの特殊変数 $* と $@ の違い

$* も $@ もシェルに渡されたすべての引数。
ただし、""ダブルクォーテーションでくくった際には、
$*はすべての引数を一つの文字列として展開し、
$@はすべての引数を個別の文字列として展開する。

exampleというスクリプトを次のように実行したとする。

$ ./example arg1 arg2 arg3

"$*" は "arg1 arg2 arg3"
"$@" は "arg1" "arg2" "arg3"
となる。

こちらのサイトが大変参考になりました。
『UNIX & Linux コマンド・シェルスクリプト リファレンス』http://shellscript.sunone.me/variable.html

どういう時に使い分けるのだろうかと疑問だったのだけど、
for文で
for i "$*"とすると、"arg1 arg2 arg3" とすべての引数がまとめてiに代入されるのに対し、
for i "$@"とすると、"arg1" "arg2" "arg3" と個別に代入されるのだそうです。

2012年1月18日水曜日

プリントキューの管理

lpq、lprm、lprコマンドのそれぞれで -Pオプションでプリンタ名を指定する。
-Pの後にスペースをあけずにプリンタ名を入力する。
こういうオプションは初めてだ。

プリンタpr1の印刷ジョブ全てを削除する場合
lprm -Ppr1 -

2012年1月15日日曜日

XDM(X ディスプレイマネージャー)をインストールした。

Xについて勉強しています。
手元のCentOS(仮想環境)で、/etc/X11/xdm が無い。

インストールされているかを確認。


[root@localhost ~]# yum list
xorg-x11-xdm.x86_64                      1:1.1.6-14.1.el6            base

baseはインストールされていないことを表しているので、
[root@localhost ~]# yum install xorg*
でまとめてインストールしてみました。

[root@localhost ~]# ls -l /etc/X11/xdm/
total 40
-rwxr-xr-x. 1 root root  510 Aug 20  2010 GiveConsole
-rwxr-xr-x. 1 root root  244 Aug 20  2010 TakeConsole
-rw-r--r--. 1 root root 3597 Aug 20  2010 Xaccess
-rw-r--r--. 1 root root 1394 Aug 20  2010 xdm-config
-rwxr-xr-x. 1 root root  183 Aug 20  2010 Xreset
-rw-r--r--. 1 root root 2381 Aug 20  2010 Xresources
-rw-r--r--. 1 root root  484 Aug 20  2010 Xservers
lrwxrwxrwx. 1 root root   17 Jan 15 21:39 Xsession -> ../xinit/Xsession
-rwxr-xr-x. 1 root root  938 Aug 20  2010 Xsetup_0
-rwxr-xr-x. 1 root root  181 Aug 20  2010 Xstartup
-rwxr-xr-x. 1 root root  303 Aug 20  2010 Xwilling
[root@localhost ~]# 

教科書通り設定ディレクトリができていました。

2012年1月8日日曜日

LPIC受験体験記:101試験に合格

LPI Level1 Exam 101になんとか合格しました。

得点:550(必修合格点:500)
LPIC レベル1に認定されるには102試験にも合格する必要がありますので、がんばります。

結果は次の通りぎりぎりです。

セクション正解率
システムアーキテクチャ75%
Linuxのインストールとパッケージ管理36%
GUNとUNIXのコマンド65%
デバイス、Linuxファイルシステム、ファイルシステム階層標準60%
学習に使用した教材は現在モニター受講させていただいている、(株)イーラーニング様
LPICレベル1 Super Express です。
この講座には書籍が含まれていまして、受験直前2週間ぐらいは書籍に付属の模擬試験を解きました。
実際の試験60問が6セットついています。

解答を見ても不明な点はイーラーニングのメンターと呼ばれるいわゆる先生に質問をしました。大体1日以内に回答をいただけたので大変助かりました。

このイーラーニング教材はLPICフリークというサイトにレビューが載っていて、評価は5段階の3なので一見あまりよくないのかなとも思われてしまうかもしれませんが、自分にとってはそうではありませんでした。(レビューはこちら) なお、自分はモニターとしてレビューに掲載されているバージョンとは異なる、新バージョンを使用しています。

学習計画を立てていただいたり、メールや掲示板を通して先生とやり取りができるので、一人でビデオを見て本を読んで、問題を解くというのとは違います。
少なくとも、私のようなLinux経験ゼロでも、101試験はこの教材で合格できました。

なんだかサクラの宣伝っぽくなってしまいましたが、本心から書いています。

ちなみに使用した書籍はこちらです。

2012年1月5日木曜日

リンクカウントとは

ハードリンクの勉強
ls -l で表示される結果の第2項目がファイルのリンクカウントでファイルのハードリンクの数を表す。

手元の環境では次のようになった。


[ken@localhost ~]$ ls -l


-rw-r--r--. 2 root root        7  1月  5 06:24 2012 file1
-rw-r--r--. 2 root root        7  1月  5 06:24 2012 file2

iノード番号も表示させてみる。
[ken@localhost ~]$ ls -li
136719 -rw-r--r--. 2 root root        7  1月  5 06:24 2012 file1
136719 -rw-r--r--. 2 root root        7  1月  5 06:24 2012 file2

ディレクトリにも数字があった
[ken@localhost ~]$ ls -li
合計 58848
131353 drwxr-xr-x. 2 ken  ken      4096  1月  5 07:35 2012 Desktop
131357 drwxr-xr-x. 2 ken  ken      4096 10月 10 18:07 2011 Documents
131354 drwxr-xr-x. 2 ken  ken      4096  1月  4 03:39 2012 Downloads

ディレクトリのハードリンクは作成できないので何かと調べてみると、ディレクトリに含まれるファイル数を表すとのこと。

下記を参考にさせて頂きました。



正規表現でピリオドをエスケープするには\\.

タイトルの通り、正規表現でピリオドをエスケープするには
\\.
とする。
\.
だとダメなようだ。

2012年1月4日水曜日

Linux版Google日本語入力(Mozc)をインストール

現在学習しているイーラーニングのLPIC1 Super ExpressにはクラウドラボというLinuxを操作できる環境があるのですが、時間制限があります。そこでVMwareでCentOSの仮想マシンを作成し、ちょっとのコマンド確認に使用しています。

CentOSのインストールがなぜか英語で行われており、日本語に切り替えても日本語入力ができませんでした。

調べてみるとMozcというGoogle日本語入力のオープンソース版があることがわかりました。
http://linux.ikoinoba.net/index.php?UID=1273605455

Windowsみたいにクリックしていけばいいってわけではないので、面倒に感じましたが、ここは勉強のためにもやってみたところ、意外とすんなりいけました。
教科書でしか読んだことのない事を実際の操作で体験できたので記憶にもよく残ったと思います。

主な操作は
yum の設定、リポジトリの設定
/etc/yum.repos.d/ 以下にリポジトリの場所の書かれたファイルを置いて、
yum update を実行。
サイトには[システムツール]→[ソフトウェアの更新] でアップデートするように書かれていたけど、勉強のためにあえてコマンドラインを使ってみました。

yum list で日本語入力関連のパッケージが確認できました。

インストールは
# yum -y install mozc+dict ibus-mozc
と書かれていたのですが、-y ってなんだろうと調べてみると、確認メッセージに対してすべてYesとする意味だそうです。(http://www.atmarkit.co.jp/flinux/rensai/linuxtips/611usefllyum.html)

再起動して、設定したところ、日本語入力ができるようになりました。

2012年1月3日火曜日

cpio コマンド

アーカイブファイルの操作を行うコマンド

cpio [オプション]

-i アーカイブからファイルを取得する入力モード
-o アーカイブを作成する出力モード
-m ファイルの更新時刻をアーカイブ作成時のファイルと同じにする
-t ファイル名一覧を表示
-d ディレクトリを作成する
-p ファイルを他のディレクトリにコピーする
-A アーカイブにファイルを追加
-r ファイル名を対話的に変更

XFS

XFSは大容量のファイルを扱うのに適したフォーマット。ユーザ単位でアクセス制限をかけることができる。
XFS関連ツールには次のものがある。

xfs_info XFSファイルシステムに関する情報(iノードやブロック数等)を表示する。
xfs_metadump ファイルシステムのメタデータをバックアップ
xfs_freeze ファイルシステムへのアクセスを一時的に停止したり解除する。
xfs_db ファイルシステムのデバッグ
xfs_fsr ファイルシステムのデフラグ
xfsdump ファイルシステムをバックアップ
xfsrestore ファイルシステムをバックアップから復元する。

ターミナルで表示されるファイル名の色

lsコマンドを実行すると、ファイル名に色が付いていることがある。



















Linuxが出力している色なのか、端末側でやっているのことなのか気になっていたのですが、次のサイトに記載がありました。
UNIX/Linux コマンド・小技集
http://uguisu.skr.jp/Windows/u_waza.html色分けの仕方は、/etc/DIR_COLORSというファイルで定義されています(Linux の種類による)。
のだそうです。

fdisk コマンド

パーティションの新規作成や削除などの操作を行う。
fdisk [デバイスファイル]
で操作対象を指定する。

対象を指定した後は2次プロンプトが表示される。2次プロンプトでの主なコマンドは次の通り。

m ヘルプの表示
p パーティションの一覧表示
n パーティションの新規作成
d パーティションの削除
t パーティションのファイルシステムIDを変更する
w 保存して終了
q 保存せずに終了

killコマンドでプロセスを終了させる

基本的なコマンドは次の通り。

PID100のプロセスの終了
kill 100
kill -SIGTERM 100
kill -15 100

PID100のプロセスの強制終了
kill -SIGKILL 100
kill -9 100

構文は
kill オプション プロセスID
となる。

オプションは
-シグナル名
-シグナル番号
-s シグナル名
-s シグナル番号

シグナル番号とシグナル名は次の通り。

1 HUP(SIGHUP) ハングアップ、終了して再起動
2 INT(SIGINT) 割り込み(Ctrl + C)
9 KILL(SIGKILL) 強制終了
15 TERM(SIGTERM) 通常の終了(オプションを指定しなかった時にはこれが送られる)
18 TSTP(SIGTSTP) 一時停止、サスペンド(Ctrl + Z)

更に詳しい情報はこちら
ITproの記事
http://itpro.nikkeibp.co.jp/article/COLUMN/20060227/230806/

2012年1月2日月曜日

sortコマンドによるソート

sort [オプション] [ファイル名]

-b 行頭が空白ならば無視
-f 大文字小文字の区別をしない
-r 降順
-t char charを区切り文字とする
-n 数字と数値として扱う
-k n n番目のフィールドで並べ替える

メタキャラクタ、バッククォーテーション、ダブルクォーテーション

何度も間違えてしまうのでメモ。

echo date → date
echo 'date' → date
echo `date` → 現在時刻が表示
echo '`date`' → `date` シングルクォーテーションの中はバッククォーテーションも文字として扱われる
echo "`date`" → 現在時刻が表示 ダブルクォーテーションの中のバッククォーテーションはメタキャラクタ扱いがされる

GRUBの設定項目

ブートローダの一つであるGRUBの設定項目は以下のとおり。
/boot/grub/menu.lst あるいは /boot/grub/grub.conf で指定される。

boot GRUBを格納しているデバイス
default デフォルトで起動するカーネルのID
timeout プロンプトの表示時間
title プロンプトの表示を指定
root カーネールのルートパーティションとしてマウントするデバイスを指定
kernel /boot内に格納されている起動するカーネルを指定する
initrd 起動時にロードする初期RAMディスクを指定する

viエディタ

LPIC1SuperExpressのビデオの先生が
viエディタを使えるかどうかがLinuxを使えるかどうかと同義のようなことをおっしゃっていました。

viエディタのコマンドはたくさんあって覚えるの大変だこれは。。。

カーソルの前と後ろを大文字小文字で区別するものがあるようだ。
x カーソルの文字を削除
X カーソルの手前の文字を削除
p カーソルの後にペースト
P カーソルの前にペースト
o カーソルの下に行を追加
O カーソルの上に行を追加
つまり、小文字は後、大文字は前ということでいいみたい。
例外として
i カーソルの前にテキストを入力
a カーソルの後ろにテキストを入力
なぜIにしなかったのだろう?

まだまだある。

d^ 行頭からカーソルまでの文字を削除(^は行頭を意味するんだったね)
d$ カーソルから行末まで削除($は行末を意味するんだった)
dw カーソルの単語を削除
df str で カーソルからstrまでを削除
dd カーソルの行を削除
つまりdは削除系

cw カーソルから単語の最後までを消去して入力状態にする。
cf str カーソルからstrまでを消去して入力状態にする。
cc カーソル行を置き換える。
cは上書き消去系

yw カーソルの単語をコピー(単語の途中にカーソルがあるとカーソルから後がコピーされる模様)
yy カーソル行をコピー


2012年1月1日日曜日

カーネルパラメータの指定

Linuxではシステム起動時にルートパーティションやメモリ使用量を指定できる。

LILOのプロンプトでカーネルをロードする際のルートパーティションを指定。
LILO: root=/dev/sda3

GRUBのプロンプトでメモリ使用量を2GBに指定。
GRUB: mem=2G

apt-cacheコマンドでDebianパッケージの情報を表示する

apt-cache [オプション] [パッケージ名] でDebianパッケージに関する情報を表示できる。
オプションには
show パッケージ情報を表示する。
showpkg パッケージの詳細情報を表示する。
depends 依存や競合パッケージを表示する。

e2fsckコマンド

e2fsckコマンドはext2、ext3ファイルシステムの整合性をチェックするコマンド

オプションには
-c デバイスに不良ブロックが無いかのチェック(check?)
-f ファイルシステムを強制的にチェック(force?)
-p ファイルシステムを質問なしで自動的に修復(pはなんの略だろう)
-y 質問にすべてyes
-b スーパーブロックを指定する(block?)