Ari's Blog

Reading makes me rich !

Archive for the ‘Linux’ Category

元土木屋が仮想のトンネルを掘ったら…

leave a comment »

色々と制約が世の中にはある。いいか悪いかは別として、その制約を受け入れつつ、やりたいことを安全に実行する必要があるシーンもある。制約を作っている人達は、その制約が自分たちが要求したことへの「制約」「制限事項」になっていることなど「知らんぷり」で「こうしたい」「ああしたい」と言ってくるわけだ。世の中そういうものだ。そして元土木屋は得意のトンネルを掘ってそれを実現するのだ。

現場では紙に走り書きをしてやりたいことをやってしまったが、今回はなかなかおもしろかったので、こんな風に紙に書いて頭の中を整理してみた。

img_5461

これじゃ見えにくいかもしれないから、順を追って整理する。

要件:

  • DMZ 上にあるホストCから、INTERNAL①を経て WAN 越しにある INTERNAL②上のホストS上の Web サービスにアクセスしたい。

制約条件:

  1. DMZ → INTERNAL①方向への通信は NG
  2. INTERNAL② → INTERNAL①方向への通信は NG
  3. INTERNAL① → DMZ への ssh 通信は OK
  4. INTERNAL① → INTERNAL②への ssh 通信は OK

実現方法:

  • INTERNAL①上のホストRを使って、ホストCへの ssh、ホストRへの ssh でトンネルを掘り、そのトンネルをホストR上で連結することで、ホストC上のポートにアクセスすることで、ホストRの Web サービス(ポート 80)へアクセスする。
  • ssh -L 8000:localhost:80 host-S
    ホストRのポート 8000 をホストSのポート 80 へバインド
  • ssh -R 8080:localhost:8000 host-C
    ホストCのポート 8080 をホストRのポート 8000 へバインド
    この時点でホストRのポート 8000 がホストR上で連結され、2つのトンネルが連結される
  • ホストC上で「http://localhost:8080/」へアクセスすることで、上記2つのトンネルを通ってホストSのポート 80(Web サービス)にアクセスできる。

上記を図示したら以下のような感じ。

さすが元土木屋だ。寸分の狂いもなく繋がった!測量も何も必要のない仮想(ssh)のトンネルじゃ当たり前だが。(笑)

追伸:
ノートに書いてある「掘る」が「堀る」になっていないか?(苦笑)

広告

Written by arito

2016-10-22 at 23:35

カテゴリー: Linux

Tagged with , ,

はじめまして、Lubuntu さま。さようなら、また会う日まで。

leave a comment »

妻の PC が起動しなくなった。どうやってもリカバリーモード的な画面にしかならず、セーフモードでも起動せず、工場出荷状態にもできない。Diag してハードディスクをチェックすると、一瞬でエラーして終了してしまう。HP 製でまだ保証期間内だったので、電話して聞いてみたら「ハードウェアエラーだから交換するしかない。中のデータはなくなる」

さて、データのバックアップを取っていたか?聞いてみると「しばらく取っていない…」と。うーむ。ダメ元でデータ復旧会社を検索して連絡してみた。が、

  • SSD で 256GB だとメモリチップが複数であることは確実
  • メモリチップが複数だと、復旧の難易度が極端に上がる
  • 最低でも 20 万円程度かかる上に、どこまで復旧できるか?は保証できない
  • もう一度本当に復旧しなければならないか検討した方がいい

ディスクサルベージ会社って「悪徳会社」みたいなのが結構あるって聞いたが、たまたま連絡したところはとても良心的にお金をかけずに「最後通告」をしてくれたわけだ…。

こうなるともうダメ元で CD Linux で起動して中身がどれくらい読めるか?救い出せるデータだけでも救いだす方法だ。

さて、こういった時は「KNOPPIX 日本語版」が私的に「鉄板」だったのだが、「開発中止、ホームページは閉鎖、今まで支援ありがとうございました」…。なくなっている…。本当に今までありがとうございました…。なんの支援も出来ませんでしたが、いつも困ったときだけ便利に使わせてもらっていました…。

ということで、CD に入るサイズでまだ開発している Linux ディストリを探してみて、Lubintu というのが良さそうだったのでこいつをダウンロードして CD に焼き、起動して試してみた。

※後からわかったのだが、KNOPPIX は日本語版でなくても、boot 時のオプションに「knoppix lang=ja xkeyboard=jp」とすれば、日本語ロケールが利用できたらしい…。

普通に起動してファイルマネージャを起動すると、自動的に Windows で利用していたパーティションがマウントされている。C:\ 直下はこんな感じ。/media/lubuntu に C:\ がマウントされていた。

IMG_4115

C:\ 直下に英数文字の羅列されたファイル名のファイルがたくさん…。これでは Windows は起動しない。SSD が壊れてこんな状態になってしまったのだろうか?色々触っていると、ドンドン壊れていくのも怖いので、マイドキュメントやピクチャなど、データがある場所をさっさと Fedora の Linux サーバへ rsync しようっと。

すると気づいた。日本語ファイル名が文字化けして見えない。xterm で見るとキトンと日本語で見えるのに、Lubuntu 標準?LXTerminal では日本語ファイル名が表示できない。バックアップすべきディレクトリ名がわからない。日本語が見える xterm だと、日本語を打てないので見えるけどその見えるディレクトリを指定することができない。

調べてみると、CD に収まるサイズにするために、フォントパッケージが入っていないだけで、日本語対応はできているからフォントさえインストールしてしまえば、日本語表示はできるようになるらしい。このサイトを参考に GUI で日本語パッケージをインストールしたら、アッサリ LXTrminal でも日本語が見えるし打てるようになった。参考にしたサイトには、最後の手順で Lubuntu をインストールしようとしているが、今回はそれはしない。中身のデータを救いたいだけなで。

  1. 起動直後の言語は English を選択
  2. メニューは Try Lubuntu without installing を選択(ここで Install を選ばない)
  3. 起動したら System Tools – Synaptic Package Manager を選択
  4. パッケージ fonts-vlgothic をインストール

準備はできた。rsync でどこまで救えるのか!?

普通に「rsync -av コピー元 foo@IP:コピー先」で始めると、コピー元で読み取れないファイルがあるとエラーで止まってしまうので、「rsync -av –ignore-errors コピー元 foo@IP:コピー先」として続ける。

IMG_4113

ものすごい速さでファイルがコピーされていくわけだが、ところどころ I/O error で読み取れないファイルがあるみたいだ。rsync の終了ステータスも正常なステータスではない。だが何千とあるファイルのごく一部だけで全てを失うより全然いいし、後になって分かったが、実際にコピーできなくて失われたデータが具体的にどれか?などあまり分からないし、今のところ困っていない。この blog を書いている時点で、修理に出して工場出荷状態で戻ってきて、この時取得したバックアップデータからリストアして PC を利用し始めて既に3週間程度経過しているが、「あのファイルがない!」なんてことは一度もない。バックアップ時のログから、いつぞやのメールの添付ファイルがバックアップできなかったことなどは分かっているが、そのメールを探すほうが大変だから放置している。メールならもう一度送ってもらえるだろうし。

そんなこんなで夏休みの最後の数日は、かなり久しぶりに Windows PCレスキューな日々であった。

それにしても、1台しか PC がなかったらこういうことはできない。クラウドを活用すれば、あんまり自宅にバックアップ設備は要らなくなってはきているけど、こういうエマージェンシーな状況では絶対に必要になる。LinkStation でもいいのだろうが、Linkstation へ ssh ログインできるようにするにはやっぱり1台 PC が必要だ。しかもそれは私にとっては Linux だ。絶対。この便利な道具箱がなければ、エマージェンシーな時は手も足も出ない。でも、Mac なら TimeMachine さえ取っておけばどうとでもなるし、復旧も TimeMachine からいつでも元の状態から復旧できる。Windows みたいに個別に取得したバックアップから1つ1つ手動で戻さなくても。(もちろん Windows でもバックアップソフト買えばいいのだろうけど、OS に標準では付いていないし、調べていないから正直どれくらい便利になっているか?はわからないまま、「Windows めんどくさい」とか言ってみる)

結局、バックアップは必ず取っておこう!データを守るのは自分自身(妻は私に任せきりだが…)。バックアップ取れよ!Linux バンザイ!だ。

Written by arito

2015-09-14 at 00:06

カテゴリー: Linux, Windows

Tagged with

Fedora 22 の kernel-PAE-4.1.4-200.fc22.i686 で起動できず

leave a comment »

8/9 – 8/12 までうどん県に行っていたが、帰ってきた翌日 8/13、片付けが一段落してきたので、Fedora 22 へアップデートすることにした。例によって yum でやる。

ここに書いてある通り。

# rpm –import /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-22-$(uname -i)
# yum update yum
# yum clean all
# yum –releasever=22 distro-sync

Perl のパッケージが1つ依存関係を解決できずにファースト・トライはエラーしたが、問題のパッケージを削除してリトライしたらスッと完了。で再起動したら / パーティションを認識できずに起動失敗。Fedora 20 の時と同様、Software Raid の / パーティションを見つけられないと言っている。

前回の経験から kernel のアップデートを待つことにする。だが、update-testing にある kernel のコメントを見ると、セキュリティアップデートがメインで、今回の事象に絡みそうなコメントがない…。

とりあえず、Fedora 21 の 4.1.4-100.fc21.i686+PAE kernel では何の問題もなく上がるので、新しい KDE デスクトップを楽しんでいる。

Written by arito

2015-08-17 at 00:43

カテゴリー: Linux

Tagged with , ,

こういう時はやっぱり Linux でないと

leave a comment »

Written by arito

2015-06-16 at 00:20

カテゴリー: Linux

Fedora 21 でも vim からブログをいじる環境を構築した

leave a comment »

昨日、「ブログを vim で書く環境をあれこれしてみた」というブログを書いたが、Fedora でも面白半分にやってみた。ちなみに、この記事は出来上がった Fedora 上の環境から書いている。個人的な感想からすると、Linux で環境を構築した方が自分が何をやっているのか?をはっきり意識しながら作業できるので、構築しやすい気がする。もしかしたらすでに Mac で一度構築した後だからかもしれないけれど…。

最初は NeoBundle からインストールする。

NeoBundle の README.md を参照してまずは neobundle.vim をインストールする。

~% curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh

上記で neobundle.vim はインストールされるので、その後必要な vim スクリプトパッケージは先の記事のサンプルの通り、.vimrc へ追記し、vim を起動すればインストールされる。

お次は Python の markdown 環境を作る。

まず easy_install を使って pip をインストールするのだが、Fedora 21 は Python が 2.7.8 と 3.4.1 が入っている。単に python とすれば 2.7 が、python3 とすれば 3.4 が起動する。なので、easy_install も2つ入っている。/usr/bin/easy_install は /usr/bin/easy_install-2.7 と同じで /usr/bin/easy_install-3.4 は Python 3.4 を利用しているだけだ。

とはいえ、Fedora では pip や python-markdown は全てパッケージ化されているから、easy_install や pip コマンドではなく、yum コマンドで必要なパッケージをインストールすればいいだけ、超カンタン!。以下、python 3.4 系を利用する前提で pip と markdown 関連のパッケージをインストールする。

~% sudo yum install python3-pip python3-markdown python3-markdown2
~% sudo yum install python-pip python-markdown python-markdown2

はい、出来上がり。あとは自分のブログにアクセスするための情報を ~/.vimpressrc に記載して完了。

追伸:
それでも別ウィンドウでリンクを開くための設定は下書きでアップロードしてから wordpress.com 上のエディタで加工している…。

2015/05/07 追記:
取り消し線をしているのは、python 3.4 系を使っているつもりが実は利用出来ていなかったことが判明したからだ。Fedora の vim は python3 を利用できるようにビルドされていないし、VimRepress 自体が python3 用に書かれていない。python3 を使っているつもりが、実はデフォルトでインストールされている python 2.7 系で動作していた、ということであった…。情けなし…。
このことに気づいたのは、実は Windows 8.1 でも同様の環境を試しに作ったらどうなるか?を試していて気付いたのであった。何故か?Windows 8.1 環境に python 2.7.9 がインストールできず、3.4 系で VimRepress を動作させようとしてエラーで動作せず、その原因を調べたら「VimRepress 自体が python3 系で動作するように書かれていない」ということに気付いたのであった。情けなし…。

Written by arito

2015-05-05 at 15:51

カテゴリー: Linux

Tagged with , , ,

起動時に systemd-sysv-generator が山ほどログを吐く件

leave a comment »

なんだか Linux(Fedora21)の調子がすごく悪い。どうもハード周り多分ディスク周りだと思うが、ディスクが認識できずに起動に失敗しているような状態になる。強制的に電源ボタン長押ししないと落とすこともできない。ディスクアクセスしに行って刺さっている感じ。

そんなこんなで messages を久しぶりに眺めて見たら、systemd-sysv-generator が山ほどログを吐いていやがることに気付いた。これは PC の調子の悪さとは関係ないと思うけど。大量に「起動スクリプトが見つかりません」と言っている。

調べるとズバリこれだ。

https://bugzilla.redhat.com/show_bug.cgi?id=1187503

この bugzilla の最後に対処方法が書いてあるが完全ではない。要は大量のリンク切れの起動スクリプトを削除してやればいいのだ。

$ cd /etc/rc.d
$ sudo symlinks -dr .

前述の bugzilla での対処方法には symlinks コマンドのオプション(-dr)の後ろにディレクトリを指定していないから、コマンドエラーになる。目的の場所へ cd しているから、単に「ここ」って意味で「.」を最期に付け加えればいいだけだ。

とりあえず酷いエラーメッセージは出力されなくなったが、不審なエラーはこれだけじゃぁない。

同様に abrt(Automated Bug Reporting Tool)が大量に「ファイルがない!」と叫び続けている。abrt… 要するに自動バグ報告ツール(直訳)。要らない。こんなの起動している必要なし。「systemctl -t service」で起動している abrt 関連を調べてみると abrt-xorg、abrtd が動いていた。

$ sudo systemctl disable abrt-xorg
$ sudo systemctl disable abrtd

さよなら abrt。

根本的なハード的な不調はどうにもなっていないが、なんだかスッキリした。

Written by arito

2015-05-01 at 00:45

カテゴリー: Linux

Tagged with ,

Google Chrome を Fedora 21 で yum からインストールする

leave a comment »

Install Google Chrome on Fedora 21/20, CentOS/RHEL 7 | If Not True Then False.

年始に Fedora 21 にしてしばらくアップデートしていなかったが、さっき yum update してみたら、1,941 のパッケージがアップデートされた…。Fedora 20 からのアップグレードでも 3,000 弱のパッケージ数だった気がする。3ヶ月で 2/3 のパッケージがなんやかんやでアップデートされるとは、改めて Fedora が「開発版」的な位置づけであることに気づく。

そもそも久しぶりにアップデートをしたのには理由があって、それは昨今のかなり危険なセキュリティホールの対応をしないとまずい!と思い立ってである。

そこでふと気付いた。Google の Chrome がアップデートされてないってことに。いよいよ 64bit 版しか出さなくなったのか!?と思って検索してみたら、そうでもなさそう。ちゃんと Linux 版でも 32/64bit 両バージョンダウンロード可能であった。でも、yum のリポジトリに入っていないと面倒である。なんで yum でアップデートできなくなっているのか?がよくわからないが、調べてみたら、冒頭のページが良さそうなので同様に設定してみたら問題なく動いた。

% sudo yum update google-chrome-beta

としたらアップデートされた。(元々 beta を利用しているので、beta でアップデート)そうしたらインストールしていたプラグインが正常にほぼすべて同期された。(wasavi とか個別にインストールするものは別)

Written by arito

2015-03-25 at 00:11

カテゴリー: Google, Linux

Tagged with ,

%d人のブロガーが「いいね」をつけました。