『もしOSをXXXに例えたら』系の記事をまとめてみた

以前、『もしプログラミング言語をXXXに例えたら』系の記事をまとめたが、今度はOSを何かに例えた記事のまとめ。

各OS(Mac,Linux,Windows)で比較している記事

【翻訳】UNIX,Windows,Linux,Mac OS X…もしOSを家に例えるなら

元ネタはこちらの「What If Unix, Windows, Linux And OS-X Were Houses?」。
各OSを家に例えてみた、という記事。

【翻訳】OSを自転車にたとえてみた

元ネタはこちらの「IfComputers Were Bikes, What Bikes Would ...


【翻訳】OSを自転車にたとえてみた

久々に翻訳系。
各種OSを、自転車の種類にたとえてみるという記事。

元ネタはこちらの「If Computers Were Bikes, What Bikes Would They Be?」という記事。
2009年の記事なのでちょっと古いけど、自転車に例えるというのが珍しいのでちょっとおもしろかった。

至らない翻訳だと思うのですが、その辺は多めに見てもらえれば…

MacOS X = フィクシーバイク

Mac OS Xを例えるのは簡単。フィクシーバイク(ピストバイク)だ。
このバイクはシンプルで美しく、少し使いやすさを犠牲にしている、そんなところがMacに似ていま...


諸事情があって、圧縮したアーカイブファイルを分割して補完しておく必要が出たので、その備忘。
といっても、そんな大した事やるわけではなく、昔からあるsplitコマンドでの手法。

Linux/UNIXの場合は、splitコマンドを使えばいい。
以下のようにコマンドを実行することで、ファイルを圧縮しながら分割保存させることが出来る。

tar czvf - /アーカイブ化するディレクトリ | split -d -b 分割するバイト数 - 分割後のファイル名(連番)
[root@localhost work_1]# ls -l /work_1/
合計 307200
-rw-r--r--....

今までLinuxを利用していた場合、AIXやHP-UXを渡されると操作に違いがあって戸惑う事が多々ある。
特に、hisotry機能とタブ補完が利用出来ないのが不便だ。

とはいえ勘違いしないで欲しいのは、補完機能自体が無いわけではない。
ただ、ショートカットキーが違うだけなのだ。以下のキーで、AIX、HP-UXでもPATHの補完機能が利用出来る。

1.AIXの場合

AIXの場合は、[ESC]キー > [\]キーの順でキーボードを押下することで、PATHの補完機能を利用することが出来る。


LinuxやMac、Solarisなどでは当たり前に使っているhistory機能だが、HP-UXでは上下キーでは過去に入力したコマンドを利用することが出来ない。
そもそも、過去に入力したコマンドはHP-UXでは利用出来ないのだろうか?


先日、職場でHP-UXの高信頼性モード時のパスワードのハッシュ値が格納されている場所について調べる事があったので、その備忘。

通常、パスワードは「/etc/passwd」に、シャドウ化しているならば「/etc/shadow」に記述されているのだが、HP-UX独自で用意されている高信頼性モードの場合は、「/tcb/files/auth」フォルダ配下に保存されている。このフォルダの中には、アルファベット大文字/小文字1文字のディレクトリが存在しており、そのディレクトリ文字から始まるユーザの情報が個々のファイルで保存されている。


Linux、UNIX、Windowsで任意の容量のサンプルファイルを作成する方法

時折、ある程度の容量を持つサンプルファイル(ダミーファイル)が欲しい時がある。
今回は、そんなときのために各OSごとに任意の容量を持ったサンプルファイルの作成方法を記述する。

1.Linuxの場合

Linuxの場合、ddコマンドを用いる事でサイズ指定のサンプルファイルを作成できる。
作成されるファイルのサイズは、指定したbs(バイトサイズ)×count(指定したバイトサイズを作成する数)となる。
Linuxの場合は、bsに人間が理解しやすい単位(MBやGBなど)を指定できる。

dd if=/dev/zero of=作成したいファイルのパス bs=バイトサイズ count=指定...

Linux/UNIXで容量の大きいファイル&ディレクトリを調べる

LinuxやUNIXを使っていると、あるパーティションの容量(たとえば、/var/logなど)がいっぱいになってしまうことがある。 そういった時は、dfコマンドなどで各パーティションの容量を確認し、そのパーティション内で容量が大きくていらないファイルやディレクトリを削除したり、別のパーティションに移動させる対処が必要になる。

今回は、そんな容量の大きいファイルやディレクトリを確認する方法について記述する。

1.容量の大きいファイルを調べる

Linuxの場合、「-S」オプションを付与することでファイル容量の大きい順に出力する。

Linuxの場合

ls -lhS 調べたいディレ...

SSHサーバへ接続出来ない・遅い時の原因と対処法

先日、仕事でサーバの環境変更を行っていた時にSSHに接続できなくなったので、備忘として残しておく。
UNIX系のOSに接続する際は、基本的にSSHでの接続を行う事が多いと思うが、その接続ができなかったり、接続が遅い時の事象と原因、対処方法を記述する。

なお、この対処法は以下の確認ができている事が前提。

  • Pingが通っていること(SSHサーバは疎通が取れる状態であること)
  • SSHで利用するポートが開いていること(iptablesなどのファイアウォールでポートが閉じられていないこと)
  • sshdサービスが起動していること
  • ユーザ名・パスワードが間違っていないこと
  • ログインの...

自宅でHP-UX、AIX等の商用UNIXを使おう!1,000円でUNIXのアカウントを作成出来る『Polarhome』

基幹系のシステムを作成する際、会社には検証機が無く、自宅に勉強用環境を作成するには専用ハードが必要で困る人も多いだろう。
今回はそんな人々のために、最初に1,000円支払えば以後は無料でUNIXのアカウントを提供してくれるサービス『Polarhome』を紹介する。

なお、支払われるのはあくまでも一般ユーザになる。root権限が欲しい場合は、別途月額2,000円となるので注意。

1.ユーザアカウントの作成

SSHログイン時に必要となるユーザアカウントをまず作成する。
左メニューから、「User account」をク...


HP-UXにSSH接続して日本語入力出来ない場合

HP-UXでkshを使ってSSH接続する際、「echo $LANG」で確認すると「ja_JP.SJIS」で設定されているにも関わらず、日本語入力が文字化けしてしまう事がある。

上のように、日本語で入力しようとすると

こんな感じで、文字化けしてしまう。

原因と解決策

原因は、HP-UXはデフォルトでは端末からの入力文字を7bitまでしか認識しない設定になっているためだ。
このため、8bitで入力、転送される日本語が文字化けしてしまう、という事になる。


今の仕事で関わっているHP-UXはFC経由でストレージに接続しているのだが、今度この接続に用いているFCスイッチが交換される事になった。
で、その際にローカル側のN_PORT_IDが変更になるとの話になったので、今回はそのN_PORT_IDの調べ方を記述する。

そもそも、N_PORT_IDというものが何なの?と言う前に、N_PORTというものが何なのかというと『FCスイッチ側で、各ノードを識別するためのポート』の事で、Nはノードの略。N_PORT_IDは、そのN_PORTを識別するためのIDで、FCスイッチ側で各ポートに割り振るIDの事。
で、そのN_PORT_IDは当然サーバ側、スト...


今回は、HP-UXのパスワード方式をSHA-512に切り替える方法について記述する。 実はHP-UXのパスワードの暗号化方式なのだが、実はデフォルト状態ではSHA-512に対応しておらず、md5しか対応していない。 ではどうすればよいのかというと、HP社が出しているdepotでPHI11i3というものがある。これを適用すれば良い。

1.ダウンロード

こちらのページからPHI11i3をダウンロードする。ここで注意したいのが、ユーザ登録がされている必要がある点。 ユーザ登録自体は無料だが、所属会社名などを聞かれる。

2.インストール

あとは、『Installing HP-UX P...


HP-UXでパスワード変更の自動化(expect無し・デフォルト状態)

以前から、HP-UXでのパスワード設定を自動化、スクリプト化する方法について模索してきた。Teratermでpasswdコマンドを遅延入力してみたりLinuxにあるchpasswdコマンドが無いかと調べてみたりしてきたが、今回の内容でexpectなど無しでもパスワードの設定、変更が自動化できそうだ。

といっても、大した事はしていない。そもそも、HP-UXしかり、Linuxしかり、usermodやuseraddのオプションで引数にハッシュ化したパスワードを指定するオプションが存在している。だから、パスワードをハッシュ化してこれらのコマンドにわたせばいいだけだ。

まずは以下のコマ...


個別設計書作成にあたり、各パラメータの意味を調べるためにmanコマンドを用いてデータを取得したんだけど、どうも中のテキストファイルが文字化けしてしまってた…

manの内容を標準出力で取得するには、以下のように記述する必要があるようだ。


HP-UXに関する個別設計書を作成するにあたり、全カーネルパラメータの説明(概要)を記述することになった。 とりあえず調べ物の基本としてGoogle先生で検索をするけど、全部取得出来なかったりと少々苦戦。

もう実機見たほうが早いということで、実際に実機を見ることにした。 以下のコマンドを実行し、カーネルパラメータの値とその意味を取得する。

kctune -v | grep -e Tunable -e Description > kctune_description
sed -e "/^Description/a ---------" ./kctune_description

WindowsやUNIX系のOSではローカル、リモートのマシンで空いているポートを確認(ポートスキャン)するコマンドがある。 今回は、UNIX系のOSでローカル、リモート別にそれぞれで使えるポートスキャンコマンドについてまとめてみた。
まぁ、UNIX系としてひとくくりにしてしまったけど、実際は各OSごとにコマンドで出来る機能が違ったりするので、

ローカルマシンのポートチェックコマンド

netstat

Windowsでもあったが、実行しているローカルマシンのポートを確認する定番コマンド。
使い方については、こちらを参照してもらいたい。

リモートマシンのポートチェックコマン

...

ちょっと事情があって、サブネットマスクのCIDR形式⇔アドレス形式の変換を行わせるシェルスクリプトを作成する必要が出たので、サンプルを掲載していたサイト含め紹介する。 解説は不要かもしれないが、各スクリプト名は「mask2cdr」がアドレス形式→CIDR形式、「cdr2mask」がCIDR形式→アドレス形式となる。 なお、基本的には関数として抽出し、末尾にサンプルを記載しておく。

/bin/sh形式

このスクリプトは、こちらのフォーラムに掲載されていた。

mask2cidr

#!/bin/sh
mask2cidr ()
{
 # Assumes there's no "25...

Linux,UNIXで次回ログイン時にパスワードを変更させる

LinuxやUNIXで、ユーザの次回ログイン時にパスワード変更を行わせるには、passwdコマンドを用いればいい。

1.Linuxの場合

Linuxで次回ログイン時のパスワード変更をさせるには、以下のコマンドを実行する。

passwd -e ユーザ名

もしくは、こちらのコマンドを実行する。

chage -d 0 ユーザ名

次回ログイン時の画面がこちら。

2.Solarisの場合

Solari...


Linuxでのrpmコマンドなどと同じく、HP-UXにもパッケージ管理コマンドが存在していて、「swinstall」というコマンドがそれに該当する。
で、このコマンドで「.depot」パッケージをインストールするんだけど…

# swinstall /tmp/T2801AA_1005.depot

=======  05/06/14 21:22:54 JST  BEGIN swinstall SESSION
         (non-interactive) (jobid=test-hpux-0014)

       * Session started for user "root@t...