[Linux6] yumでtelnetをインストール&プロキシ設定

■サマリ

OSインストール後の状態でtelnetがインストールされていなかったので、yumでインストールすることにしたが、エラーとなったので色々と調べたらプロキシ環境の場合には、yum自体に事前設定が必要らしい。
 事前設定後に無事にインストール完了。
 ■事象[root@node01 ~]# yum install telnet
(中略)
(28, 'connect() timed out!')
Trying other mirror.

Error Downloading Packages:
  1:telnet-0.17-47.el6_3.1.x86_64: failure: getPackage/telnet-0.17-47.el6_3.1.x86_64.rpm from ol6_latest: [Errno 256] No more mirrors to try.

⇒なんかエラーが出た。

 ■対処
 色々と調べたらプロキシ環境の場合には、yum自体に事前設定が必要らしい。

yumはパッケージ(.rpmファイル)をWeb経由で入手する為にインターネットに接続された環境で使用する必要があります。
作業環境によっては直接インターネットへの接続が許可されておらず、Proxyサーバを通してのみインターネットに接続できる場合もあります。

まず、yum自体のProxy接続設定は以下のどちらかを行う事で可能です。
/etc/yum.confに以下の3行を付け足す。(又はコメントアウトされている箇所を有効にする)
「proxy=http:// Proxyサーバのアドレス:ポート
「proxy_username=Proxy認証のユーザID」(Proxy認証が必要な時のみ)
「proxy_password=Proxy認証のパスワード」(Proxy認証が必要な時のみ)
「export http_proxy=http:// Proxy認証のユーザID:Proxy認証のパスワード@Proxyサーバのアドレス:ポート」を実行。
自分の場合は、proxyの行のみを設定。設定値はホストOSのブラウザの設定を参照。

また、yumでは.rpm自体を入手するのにwgetを使っているので、そちらの設定も必要です。

  1. /etc/wgetrcを編集する
  2. ~/.wgetrcを作成・編集する

ということとなので、こちらも対処。

自分の場合は、http_proxyの行のみを設定。設定値は先ほどと同じ。

・インストール再チャレンジ
[root@node01 ~]# yum install telnet -y
Loaded plugins: refresh-packagekit, security
ol6_UEK_latest                                                                      | 1.2 kB     00:00
ol6_UEK_latest/primary                                                              |  11 MB     00:10
ol6_UEK_latest                                                                                     239/239
ol6_latest                                                                          | 1.4 kB     00:00
ol6_latest/primary                                                                  |  33 MB     00:29
ol6_latest                                                                                     22481/22481
Setting up Install Process
Resolving Dependencies
–> Running transaction check
—> Package telnet.x86_64 1:0.17-47.el6_3.1 will be installed
–> Finished Dependency Resolution
(中略)
Installed:
telnet.x86_64 1:0.17-47.el6_3.1

Complete!

[root@node01 ~]# which telnet
/usr/bin/telnet


■お世話になった参考サイト
・その1

http://www.himajin2001.com/fswiki/wiki.cgi?page=%B5%BB%BD%D1%C5%AA%BB%A8%C3%CC%2Dproxy%B1%DB%A4%B7%A4%CByum%A4%F2%BB%C8%A4%A6

・その2

http://nobuneko.com/blog/archives/2013/05/linux_centos_6_yum_install_telnet.html

[Virtualbox] 仮想マシン環境の構成ファイル配置場所変更

・手順

1. 対象仮想マシンを電源オフ。
2. VirtualBox VMsフォルダ内にある対象仮想マシン名フォルダ以下をまるごと移動先に移動する。
3. VMメニューから対象仮想マシンを除去。
4. VMメニューから「仮想マシン(M)」→「追加(A)」と選択。
仮想マシンファイルを選択するダイアログで、移動先のフォルダ以下の.vboxファイルを選択する。
 5. 追加に成功すると一覧に対象マシンが復活するので、起動して動作を確認する。
 ・参考サイト
http://qiita.com/sugard12/items/8b4f420b3afed79fe003

[VirtualBox] 仮想マシン環境のクローンコピー手順

・前提
VirtualBox管理画面のメニュー[仮想マシン] -> クローン
ファイルサイズにもよるが、数分程度でコピー完了。早いね。

・クローン後の作業

 1.仮想OSを起動。
    ※コピー元の仮想OSは起動していない方がいいはず。

 2.ネットワークサービスの停止
  [root@node01 ~]# service network stop
  ループバックインターフェースを終了中                       [  OK  ]

3.ホスト名の変更
    [root@node01 ~]# vi /etc/sysconfig/network 

4.NICインターフェース名の変更
   a)元の設定ファイルを削除
      [root@node01 ~]# rm /etc/udev/rules.d/70-persistent-net.rules
      rm: remove 通常ファイル `/etc/udev/rules.d/70-persistent-net.rules’? y
      [root@node01 ~]# rm /etc/sysconfig/network-scripts/ifcfg-eth*
      rm: remove 通常ファイル `/etc/sysconfig/network-scripts/ifcfg-eth0′? y
      rm: remove 通常ファイル `/etc/sysconfig/network-scripts/ifcfg-eth1′? y

   b)新ホスト用の設定を追加
    [システム]メニューの[設定] -> [ネットワーク接続]から各インターフェースの設定を変更する。

5./etc/hostsの設定変更
  ※この時点でホストOSから新ホスト名でtelnet接続可能となった。

6.OS再起動
  完了

こんな本を見つけた。

はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS) はじめてのVirtualBox―オープンソースの「仮想化ツール」の使い方を詳細解説! (I・O BOOKS)
清水 美樹

工学社 2012-07
売り上げランキング : 203743

Amazonで詳しく見る by G-Tools

[java] メモリ領域とガベージコレクション

■メモリの呼び名

Java のオブジェクトは、大きく分けて以下の3つのメモリ領域で管理される。

・New領域(ヒープ領域)
新しいオブジェクトが管理される。
New領域が新しいオブジェクトで一杯になると、Scavenge GCが行われて、使用されていないオブジェクトは破棄されたり別の領域に移動されたりする。

・Old領域(ヒープ領域)
古いオブジェクトが管理される。New領域で生き残ったオブジェクトが配置される。

・Permanent領域(非ヒープ領域)
クラスやメソッドの情報が格納される。

■ガベージコレクション(GC)

GCとは、ヒープ領域に空きが少なくなった時に、不要なオブジェクトを除去してメモリの空き領域を増加させてくれる処理。

Java プログラムが動作するとオブジェクトはメモリ上にロードされるため、 大きなオブジェクトを使用したり、また、使用するオブジェクトの数が多かったりすると、その分メモリの使用領域は増加する。

そのまま、新しいオブジェクトをロードし続ける と、Java が使用できるメモリ領域が一杯になる。 これを解消するために自動的に行われるメモリ掃除の仕組みがGCである。

GCには大きく以下の2つがある。

・Scavenge GC
New 領域が不足した場合に実行され、主に New 領域が対象。
比較的、頻繁に行われ、短時間で終了する。軽い。

・FULL GC
New領域、Old領域、Permanent領域全てが対象。重い。
Full GC が行われている間は、他の処理ができずアプリは待たされる。

メモリサイズにもよるが、FULL GCは数秒程度?

■設計指針

当たり前だが、、、
・メモリサイズが小さすぎると、Out of Memoryエラーのリスクが高くなる。
・メモリサイズを大きすぎると、いざFULL GCが必要となった場合の負荷が高くなる。

実行するアプリケーションにあわせて、各メモリ領域のサイジングを行う必要がある。

製品マニュアルなどの推奨値などを参考に暫定値を割り当てた上で、実際の使用状況を確認してチューニングするのが良いのかな。

各メモリ領域(New, Old, Permanent)の使用状況は、jstatコマンド等で確認できる。

■参考

とても参考になったサイト

・「Java のヒープサイズ」についての簡単な説明
http://www.whitemark.co.jp/tec/java/javaHeap.html

・ガーベジ・コレクション:GC ( Garbage Collection ) についての簡単な説明と調査方法
http://www.whitemark.co.jp/tec/java/javagc.html

・[Java][GC][チューニング][トラブルシューティング]Javaメモリ、GCチューニングとそれ にまつわるトラブル対応手順まとめAdd Star
http://d.hatena.ne.jp/learn/20090218/p1

Javaの絵本―Javaが好きになる9つの扉 Javaの絵本―Javaが好きになる9つの扉
アンク

翔泳社 2002-12
売り上げランキング : 395611

Amazonで詳しく見る by G-Tools