計画は繊細に行動は大胆に!

Categories

Translate

Page view

ラベル linux の投稿を表示しています。 すべての投稿を表示
ラベル linux の投稿を表示しています。 すべての投稿を表示

2007/02/02

03 手軽に接続するstatic-key


実際にVPN通信を行うための準備をしていくわけです。
しかし、取っ掛かり上は簡単にやりたい。そうですよね?きっと。
私はそうです(笑)

今回は、セキュリティ無視して、拡張性無視して簡単にサクッっとつないで
便利なVPNの恩恵をうけましょう。

実はこの方法はhttp://openvpn.net/static.htmlの方法をそのまま行っただけです。
リンク先は英語ですので、分かりやすいように日本語で書いておきます。

Static Keyの設定はPoint-to-Pointで接続する理想、または、テストに最適です。

StaticKeyの特徴としては

  • 簡単セットアップ
  • X.509証明書の管理が必要がない

といった事があげられます。
では、不利な点は何でしょうか?

  • 拡張性に限界があり、クライアント1台にサーバ1台の縛りがあります。
  • PFSが欠けています。-かぎ情報が漏洩する可能性があります-
    • 簡単に言うと長期間鍵を使っていると危ないということです。
  • パスワードは平分で保管する必要あり
  • 鍵を設定前にやり取りするするの面倒

といった感じです。

今回の環境ですが、

サーバ   :Linux (Fedora Core 4)
クライアント:Windows XP

となっています。
まず、openvpnのプログラムをインストールする必要がありますね。
Fedoraを利用されている方であれば、以下のコマンドでOKです。

[root@apolo ~]# yum install openvpn.i386
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for openvpn to pack into transaction set.
openvpn-2.1-0.14.beta16.f 100% |=========================| 20 kB 00:00
---> Package openvpn.i386 0:2.1-0.14.beta16.fc6 set to be updated
--> Running transaction check
--> Processing Dependency: liblzo2.so.2 for package: openvpn
--> Restarting Dependency Resolution with new changes.
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for lzo to pack into transaction set.
lzo-2.02-2.fc6.i386.rpm 100% |=========================| 4.0 kB 00:00
---> Package lzo.i386 0:2.02-2.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
openvpn i386 2.1-0.14.beta16.fc6 extras 357 k
Installing for dependencies:
lzo i386 2.02-2.fc6 extras 63 k

Transaction Summary
=============================================================================
Install 2 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 420 k
Is this ok [y/N]:
Downloading Packages:
(1/2): lzo-2.02-2.fc6.i38 100% |=========================| 63 kB 00:00
(2/2): openvpn-2.1-0.14.b 100% |=========================| 357 kB 00:00
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: lzo ######################### [1/2]
Installing: openvpn ######################### [2/2]

Installed: openvpn.i386 0:2.1-0.14.beta16.fc6
Dependency Installed: lzo.i386 0:2.02-2.fc6
Complete!

以下のように表示されればプログラムは無事インストール完了です。

[root@apolo ~]# rpm -qa |grep openvpn
openvpn-2.1-0.14.beta16.fc6

OpenVPNのWinwosクライアントにはGUIが付いているものと、付いていないものが存在します。
コマンドプロンプトが好きな方はどちらをインストールされても良いと思いますが、
通常はここからダウンロードしてインストールを完了すればOKです。
インストール自体はイエスマンになれば誰でも簡単に完了できます。

 

では、まずサーバ側の設定を済ませましょう。

サーバ上でstatic keyを作成します。

openvpn --genkey --secret static.key
これでstatic.keyというファイルが出来上がります。
ファイルの中身を見るとこんな感じです。


[root@apolo ~]# cat static.key1
#
# 2048 bit OpenVPN static key
#
-----BEGIN OpenVPN Static key V1-----
5f9e3f5fb119f135fd909ca0f259cb41
8aa09985cc9935a3ad5a5b33390a877f
6c814abf6c6ef849fa8da05c0b06620b
b44fc474d85a57d15ebe5d19a1f4f4d5
43626f751eeade35afd4be67cde27e6d
528de63cd7a61ec026b50b43ea3edf68
76bcf2273d3d40286c5462129fcc0b44
44535f96a73f8d0acdd21172204b05ac
354e4c34f3a991a52c38605e8190dc7f
31c4742c82e18d14502c553b279c7858
10deb0086c0c3ec3fd4d95d26f4aed50
370382721acaa1b4ac47b11628312579
c26b35215cdf259c1202d5b23a34d208
7fb0544628ffa788ad3f145c8e459225
a19ce8f50b98173ead054a9f2299d87b
4f24118ebf7166a07e07cbf0b8774ade
-----END OpenVPN Static key V1-----


もちろん、このテキストをコピーするだけでも鍵となります。
#それほど手間でないので自分でつくりましょう。

この鍵をサーバとクライアントにコピーします。

次にサーバの設定ファイルを設定していきます。


ファイル名:/etc/openvpn/server.conf

dev tun
ifconfig 10.8.0.1 10.8.0.2
secret static.key


ん?簡単すぎて拍子抜けでしょうか?しかし十分です。
あとさきほどのstatic.keyを



/etc/openvpn/static.key


の位置にコピーしておきます。
あとは、



/etc/init.d/openvpn start


でデーモンを立ち上げてください。
Linux上でFWが動作している可能性があるので、ひとまず
FWをOFFにします。



/etc/init.d/iptables stop


もちろん、接続が確認できればFWは元に戻す方がベターです。
後ほど、このあたりも触れるとします。


クライアントの方はというと、


ファイル名:C:\Program Files\OpenVPN\config\static_client.ovpn
remote server.name.dane
dev tun
ifconfig 10.8.0.2 10.8.0.1
secret static.key

としてください。remoteは実際に接続するサーバ名です。
またサーバと同じように static.keyは



C:\Program Files\OpenVPN\config\static.key


に配置して下さい。
これで終わりです。クライアントのOpenVPNを起動してみましょう。


タスクバーにこんな感じで待ち受けます。



それでは、このアイコンを右クリックして


static_client → connect


で接続を行います。接続のメッセージが出たら成功です。
アイコンが緑になればOKです。

Windows上でサーバまでVPNが成功しているか確認してみましょう。



C:\Documents and Settings\akihito>ping 10.8.0.1

Pinging 10.8.0.1 with 32 bytes of data:

Reply from 10.8.0.1: bytes=32 time=16ms TTL=64
Reply from 10.8.0.1: bytes=32 time=16ms TTL=64
Reply from 10.8.0.1: bytes=32 time=17ms TTL=64
Reply from 10.8.0.1: bytes=32 time=16ms TTL=64

Ping statistics for 10.8.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 16ms, Maximum = 17ms, Average = 16ms


上記のように表示されればひとまず成功です。
10.8.0.1はサーバ側でもつtunデバイスですね。
とりあえず、家ネットワークに侵入する事ができました。
次回はこの設定に肉付けをしていき、実用性に耐えるものに
したいと思います。



2007/01/31

02 VPN設計を考える


OpenVPNを利用してインターネットから家までのVPN環境を作るという方向はとりあえずいいとして、どのように実現するのか。
とりあえず、OpenVPNはLayer2とLayer3のVPNの両方が構築出来る優れもの。 

簡単ではあるけども、L2とL3のVPNの違いを以下にまとめてみる。

  • L2-VPN
    • 利点
      • IPv4以外のプロトコルも透過するため、IPv6などのプロトコルもOK
      • Windowsファイル共有で、コンピュータが見える(利点か?)
      • クライアントや周辺機器の設定が比較的楽
    • 欠点
      • 不必要な通信もVPNを通ってしまう。
      • アクセス制限がかけにくい(ACLのはなし)
      • 拡張性に乏しい
  • L3-VPN
    • 利点
      • 拡張性が高く、多数のマシンを収容出来る
      • 比較的アクセス制限がかけ易い
        • VPNのセグメントがはっきりするし。L2でもインタフェースで掛ければVPNと非VPNは分かるけども、ログに残るレベルはIPだと管理もしやすいし。。。
      • 一般的にL3-VPNの方がスループットが高い(はず)
        • L2でカプセル化すると、オリジナルのイーサフレームからカプセル化する必要があるため。
    • 欠点
      • IPv4以外の通信は利用出来ない
      • 他機器を含めたルーティングの設定を意識する必要がある

別に、どっちがいいとかそういう話ではないです。クライアントの設定や使い勝手を考えるとL2-VPNの方がよいかもしれません。ひとまず、私はL3-VPNを選択しました。なぜ?OpenVPNのデフォルトコンフィグがL3-VPNだったからに他なりません(笑)
というわけで、L3-VPNが正常に確立出来れば、L2-VPNにも手を出したいと思います。

では、OpenVPNの設定を・・・っと、その前に事前準備が要ります。
私の家のネットワーク環境を見て頂ければ分かるように、ルータ以下のネットワークは
プライベートネットワークが割り振られています。すなわちルータでNATされている
状態です。ここで問題が生じます。通常、外からの通信を直接、
特定のサーバに割り振ることは出来ません。内側から外側に出ていく時はルータが
SNATをしてパケットは出て行くので問題ありません。
こういった場合には、ルータ上でDNAT設定を行い必要があります。
TCP/UDPを利用した通信は必ずポート番号を利用します。OpenVPNも例外ではありません。
OpenVPNの場合、デフォルト設定で1194番が選択されています。これはIANAによって、
割り当てられたサービス番号になっています。

図のサーバ1でOpenVPNサーバを動作させるとします。
その場合、ルータ上では、インターネットからルータめがけて1194番に来た通信は
サーバ1に転送するという設定を入れる必要があります。これがDNATです。
DNATとはDestinationNATの略で行き先を変更して上げることが出来ます。
背景が緑の表にはAirStationの実際のNATテーブルを貼り付けています。
ご利用のルータは違えども、概念は同じはずですのでご参照下さい。

この設定が終われば、無事、OpenVPNのクライアントが1194番で通信をルータに
行ってきても、ルータはサーバ1に通信を転送してくれます。
通信の帰りは、NATテーブルを参照して、行きとは逆の変換をしてインターネットの
世界へと出ていくこととなります。

 

VPN通信を行うときは、仮想的なインタフェースを利用します。そのインタフェースはtun/tapドライバを利用します。tunドライバはL3-VPNで利用し、TapドライバはL2-VPNで利用することとなります。

L3-VPNでVPNを利用した場合を想定して話を進めましょう。以下がイメージ図です。

 

L3-VPNを張ると、tunインタフェースが作成されます。では、クライアントPCのVPNを張る前と張った後のルーティング情報を見てみます。

 

 

VPN接続前ルーティング情報

C:\Documents and Settings\akihito>route print

===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 220.159.33.100 220.159.33.100 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.106.0 255.255.255.0 192.168.106.1 192.168.106.1 20
192.168.106.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.106.255 255.255.255.255 192.168.106.1 192.168.106.1 20
192.168.184.0 255.255.255.0 192.168.184.1 192.168.184.1 20
192.168.184.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.184.255 255.255.255.255 192.168.184.1 192.168.184.1 20
211.14.82.201 255.255.255.255 220.159.33.100 220.159.33.100 1
220.159.33.100 255.255.255.255 127.0.0.1 127.0.0.1 50
220.159.33.255 255.255.255.255 220.159.33.100 220.159.33.100 50
224.0.0.0 240.0.0.0 192.168.106.1 192.168.106.1 20
224.0.0.0 240.0.0.0 192.168.184.1 192.168.184.1 20
224.0.0.0 240.0.0.0 220.159.33.100 220.159.33.100 1
255.255.255.255 255.255.255.255 192.168.106.1 192.168.106.1 1
255.255.255.255 255.255.255.255 192.168.184.1 192.168.184.1 1
255.255.255.255 255.255.255.255 220.159.33.100 80004 1
255.255.255.255 255.255.255.255 220.159.33.100 90005 1
255.255.255.255 255.255.255.255 220.159.33.100 140008 1
255.255.255.255 255.255.255.255 220.159.33.100 20006 1
255.255.255.255 255.255.255.255 220.159.33.100 220.159.33.100 1
Default Gateway: 220.159.33.100
===========================================================================
Persistent Routes:
None

 

VPN接続後ルーティング情報

C:\Documents and Settings\akihito>route print
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 220.159.33.100 220.159.33.100 1
10.8.0.1 255.255.255.255 10.8.0.5 10.8.0.6 1 
10.8.0.4 255.255.255.252 10.8.0.6 10.8.0.6 30
10.8.0.6 255.255.255.255 127.0.0.1 127.0.0.1 30
10.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 30
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.0.0 255.255.255.0 10.8.0.5 10.8.0.6 1 → 192.168.0.0行きのアドレスはVPN経由で。
192.168.106.0 255.255.255.0 192.168.106.1 192.168.106.1 20
192.168.106.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.106.255 255.255.255.255 192.168.106.1 192.168.106.1 20
192.168.184.0 255.255.255.0 192.168.184.1 192.168.184.1 20
192.168.184.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.184.255 255.255.255.255 192.168.184.1 192.168.184.1 20
211.14.82.201 255.255.255.255 220.159.33.100 220.159.33.100 1
220.159.33.100 255.255.255.255 127.0.0.1 127.0.0.1 50
220.159.33.255 255.255.255.255 220.159.33.100 220.159.33.100 50
224.0.0.0 240.0.0.0 10.8.0.6 10.8.0.6 30
224.0.0.0 240.0.0.0 192.168.106.1 192.168.106.1 20
224.0.0.0 240.0.0.0 192.168.184.1 192.168.184.1 20
224.0.0.0 240.0.0.0 220.159.33.100 220.159.33.100 1
255.255.255.255 255.255.255.255 10.8.0.6 140008 1
255.255.255.255 255.255.255.255 10.8.0.6 90005 1
255.255.255.255 255.255.255.255 10.8.0.6 80004 1
255.255.255.255 255.255.255.255 10.8.0.6 10.8.0.6 1
255.255.255.255 255.255.255.255 192.168.106.1 192.168.106.1 1
255.255.255.255 255.255.255.255 192.168.184.1 192.168.184.1 1
255.255.255.255 255.255.255.255 220.159.33.100 220.159.33.100 1
Default Gateway: 220.159.33.100
===========================================================================
Persistent Routes:
None

VPN接続後の赤字で表示している部分がVPN接続時に追加されたルーティング情報です。

ちなみに
サーバのTUNドライバ 10.8.0.1
クライアントのTUNドライバ 10.8.0.6
の環境の話です。

192.168.0.0 255.255.255.0 10.8.0.5 10.8.0.6 1

は192.168.0.0/24行きの通信は10.8.0.6(tunドライバ)に投げるということです。
※ちなみにWIndowsはローカルネットワークxとかいう名前でデバイスが出来てます。

あとは、Tunドライバによりパケットはカプセル化され対抗のOpenVPNサーバに送られます。

上記はVPN接続後にTunドライバにより、仮想的に接続されたときの図を描いたものです。

さて、もう1点考える必要があります。上記で書いたようにクライアントのIPアドレスは
10.8.0.6が送信元として送信されます。しかし、VPNの先にある、家庭内の各機器は
10.8.0.6って誰?といった感じになります。
そこで、ルータに10.8.0.6の人はOpenVPNサーバが知っているという事をルーティング情報に
いれます。下の図にはルーティング情報が追加されています。

これで、VPNクライアントから家庭内の各機器に接続出来ることになりました。
L2VPNの概念もありますが、とりあえず次からはL3VPNで接続する実践的な方法を
書きます。それでは。



2007/01/28

01 OpenVPNの概要


2年ほど前にSoftEtherというソフトウェアが流行りました。L2VPNという柔軟なネットワークを構築でき、また、FireWall越しに接続を出来る機能などが盛りこまれているため、企業などでは利用を禁止するようなところも続出していたようです。また、使いやす過ぎ、導入簡単すぎるため、多くの人によって利用されていたようです。私も個人的に利用しており、IPv6が流れるL2VPNに惹かれていました。


現在はというと、変遷の詳細は私は良く知らないのですが、Packetix VPNという製品に置き換わったようですね。ライセンスはというと、当時は誰でも利用が可能だったものが、費用が発生するようになっています。

少し話しは飛びますが、現在、家庭で以下のようなネットワークが出来上がってしまっています。


ただ、現在少し困っている事があります。何が困るのかというと、色々な機器でWebサービスを通じてアクセスするインタフェースを持っています。たとえば以下の感じです。

  • サーバ1上でWebサービス
  • HDDレコーダ上で遠隔録画
  • NWカメラで動画確認

と、色々とあるのですが、各機器にはDNATを利用して接続を行います。現在はインターネットからTCPの80番ポートにアクセスするとサーバ1に対してアクセスを振るということをしています。言い換えると他の2台の機器には別ポートでアクセスを行う必要があります。たとえば、TCP81番ポートでアクセスを行えば、HDDレコーダのTCPの80番に通信を振るといった感じです。もちろん、これでも各機器にはアクセス出来るのですが、第3者も同様にアクセス出来てしまいます。NWカメラの様子やHDDの録画状況を見られるというのは何とも落ち着きませんよね??(笑)
 そこで、インターネットから家に対してVPNを張り、安全な経路上で機器操作が出来ればと思いVPN構築を思い立ちました。

で、数年前に使い慣れたSoftEtherを・・・と思ったのですが、冒頭で述べた通りです。

さてさて、代用品を探さねば・・・ということで、自分のやりたい事をまとめました。

 

  • 安全なVPNが構築可能
    • Pre-Sharedキー(共通暗号)でも十分だと思ってます
    • CA立ててもいいですが、簡単な物がいいです。
  • サーバはLinuxで動作するもの
  • クライアントは出来るだけ色々なOSに対応していてほしい
    • 家にはWindowsとLinuxとMacOSが存在するので・・・
  • VPN上での想定通信
    • Web
      • レコーダ予約
      • NWカメラ映像見る
    • CIFS(Windowsファイル共有)
      • インターネットがあれば共有可能とする
    • SSH
      • サーバの遠隔保守
  • ネットワーク環境
    • 会社にFWがあるので超えたい(ォィォィ)
      • 色々と不便なので・・・
    • NAT環境下でも利用可能
  • ライセンス
    • お金を払う必要ないものを優先
      • 可能であればGPLベースのものが良い

世間で標準化が進んでいるIPSecやL2TPといった方式が使えれば、そちらでよかったのですが、
FWを超えるという概念はありません。そこで、SoftEtherを調べたときにも多少名前が挙がっていた
Tiny VPNも注目していましたが、このソフトはWIndowsファミリーがサーバになるとのことで、
見送りました。

結局、上記の要件を満たせるのはOpenVPNであるという結論に至りました。
以下はOpenVPNの特徴を簡単にまとめたものです。


■特徴

  • サポートしているプラットホームが非常に豊富です。拡張性も高く、何百、何千と接続を行える設計になっており、導入も簡単に出来るようになっています。DynamicDNSやNAT環境下も配慮されています。
  • 拡張できるVPNフレームワークを提供しているため、サイト特有のカスタマイズが簡単に出来るように設計されています。これは、すでに用途に合わせてカスタマイズしたパッケージをクライアントに提供したり、代わりの認証機能をプラグインモジュールを利用して作成すると言った事があげられます。
  • OpenVPNは管理インタフェースを提供しています。管理インタフェースはGUIやWebベースのものも開発されています。
  • WindowsCryptoAPIを利用することによりスマートカードに入っているプライベートキーと証明書を読む事が出来ます。
  • OpenSSLを利用した十分なセキュリティモデルを利用しています。
  • 移植が簡単に出来ます。現在はLinux, Solaris, OpenBSD, FreeBSD, NetBSD, Mac OS X, and Windows 2000/XP. で動作しています。複雑なカーネル部分ではなく、ユーザスペースプログラムとして実装されているため、移植作業は劇的に単純化されます。
  • 利用方法は非常に簡単で、1行コマンドをたたくだけです。
  • OpenVPNは厳しいテストが行われており、IPレイヤーで5分間の通信断があってもトラフィックは回復するようになっています。
  • 暗号化部分はOpenSSLモジュールで構成され、仮想ネットワークドライバはTun/Tapドライバを利用します。OpenSSLが最新の暗号化に対応した際にもOpenVPNは容易に利用する事が出来ます。
  • Pentium255MHzのRedhat7.2上で動作させ、TLS認証、暗号化をBlowfish,メッセージ認証をSha1環境下でFTPで速度計測を行うと、1.455MByteを達成します。
  • 多くのセキュリティパラメータを変更できます。

■ライセンス
 GPLv2で配布されています。誰でも自由に利用することが認められているので、気軽に試す事が出来ます。

というのが一様の特徴です。とりあえず、OpenVPNを利用したVPNの構築を行い、最終的には会社から自分の家のファイルサーバの文書にアクセスするという事を目的に進めたいと思います。



2006/11/20

サーバ性能管理 sarコマンドの使い方


まず、FedoraCore6インストール時にはsarが動作するパッケージがインストールされていなかったので、これを導入します。
パッケージ名はsysstat。

Name : sysstat
Arch : i386
Version: 7.0.0
Release: 2.fc6
Size : 369 k
Repo : installed
Summary: The sar and iostat system monitoring commands.

Description:
This package provides the sar and iostat commands for Linux. Sar and
iostat enable system monitoring of disk, network, and other IO
activity.

インストールは

#yum install sysstat

とか適当にやってください :D

あとは、インストールされたスクリプトをcronに仕込みます。

#crontab -e

 

#15分毎にサーバ情報を取得
*/15 * * * * /usr/lib/sa/sa1 1 1

#sa1で作成した情報を定期的にレポートといらないファイル削除
53 23 * * * /usr/lib/sa/sa2 -A

デフォルトでは1週間でファイルが削除されていきますので、伸ばしたい場合は

[/etc/sysconfig/sysstat]
HISTORY=7 ←ここを変える

を適当な数字に変更をします。

できあがったファイルは

sar -A /var/log/sa/sa[日付]

などで見てください。
オプションで重要なのは

-A 全情報

-u CPU利用情報

-r メモリ情報

が良く使います。私は。メモリ情報の詳細は以下です。久しぶりに使うと忘れてますので覚書。

kbmemfree
 利用可能なメモリ利用

kbmemused
 使われているメモリ数(単位はKB)。kbmemfreeには含まれない。

%memused
 メモリ利用率

kbbuffers
 カーネルがバッファで利用しているメモリ量(単位はKB)

kbcached
 カーネルがキャッシュするのに利用しているメモリ量(単位はKB)

kbswpfree
 利用可能なSWAP領域

kbswpused
 利用済みのSWAP領域

%swpused
 SWAP利用率

kbswpcad
 キャッシュされているSWAPメモリ量。
 (一度SWAPされたものがメモリに乗るらしい)



2006/11/17

faviconの設置方法


サイトにFaviconを設置してみた。

技術的な裏づけは何もないけども、favicon.icoという名前にすれば大概の場合は
上手く読み込めるようです。

一応、/etc/mime.typesも変更。最終行に

image/x-icon ico

を追加する。

apacheもこのファイルを最終的には参照する。

yumでsrc.rpmをダウンロード


yum単体ではダウンロードできないため、yum-utilsのインストールを行う。インストールは以下の感じ。

# yum install yum-utils
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
Reading repository metadata in from local files
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for yum-utils to pack into transaction set.
yum-utils-1.0.1-1.fc6.noa 100% |=========================| 5.8 kB 00:00
---> Package yum-utils.noarch 0:1.0.1-1.fc6 set to be updated
--> Running transaction check

Dependencies Resolved

=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
yum-utils noarch 1.0.1-1.fc6 extras 39 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 39 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): yum-utils-1.0.1-1. 100% |=========================| 39 kB 00:01
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 1ac70ce6
Importing GPG key 0x1AC70CE6 "Fedora Project <fedora-extras@fedoraproject.org>"
Is this ok [y/N]: y
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: yum-utils ######################### [1/1]

Installed: yum-utils.noarch 0:1.0.1-1.fc6
Complete!

src.rpmを落とすのはyum-utilsについているyumdownloaderを使うのだけども、事前準備が必要

 

# vi /etc/yum.repos.d/fedora-core.repo

[core]
name=Fedora Core $releasever - $basearch
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os
/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-$releasever&arch=$basear
ch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[core-debuginfo]
name=Fedora Core $releasever - $basearch - Debug
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/de
bug/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-debug-$releasever&arch=$
basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

[core-source]
name=Fedora Core $releasever - Source
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/source/SRPMS
/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=core-source-$releasever&arch=
$basearch
enabled=1   ←ここを変更する
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-GPG-KEY

kernelのソースが欲しい場合は

yumdownloader --source kernel-2.6.18

のように実行。



2006/07/21

up2dateコマンド




現在はFedoraではyumやapt-getを使ったパッケージ更新を行う事が圧倒的に多い。Fedoraという名前が出るまではもっぱら、up2dateでパッケージ管理をしていたわけだが、registしなきゃいけない問題などが出てきて実に使いにくかったりする。しかし、使う羽目になる時があるので以下にメモ書き。



 




パッケージリストの更新

up2date -p



アップデート可能なパッケージ一覧を表示

up2date -l



パッケージのアップデート

up2date -u



インストール可能なパッケージリストの取得

up2date --show-available



パッケージを取得してインストール

up2date --install パッケージ名




 以上が大体の使い方だが、アップデート可能なパッケージ一覧を表示させる前にはup2date -p を事前に行い、自サーバのインストールパッケージリストをレッドハットに送信する仕組みになっている。



新規パッケージをインストールする場合は リスト取得を行い、パッケージを取得してインストールを行います。



一斉アップデートの場合でバージョンを上げたくない場合(SKIPする場合)は 



/etc/sysconfig/rhn/up2date



のファイルに



pkgSkipList=パッケージ名;



 という行がありますので、ここで設定を行います。正規表現を使えるので利用します。設定が正しいかはアップデートのパッケージ一覧を取得した場合にSKIP対象として最後の方に出力されるはずなのでここで確認が可能です。



up2dateで一つだけ気をつける点はup2dateではパッケージの削除する機能がありません。 あるのかもしれませんが、少なくとも、私は知りません・・・。ここは、RHNが持つRPMパッケージ管理機能を利用してパッケージを削除するしかなさそうです。



 



chkconfigで起動時の立ち上げサービスを変更






Fedore Coreではサービスの立ち上げを [setup] - [ntsysv]などで起動することでサービスの状況確認する事が出来る。 コマンドラインからの起動時のサービス確認はchkconfigコマンドを利用して確認する。 私は専らこちらでの設定が多い。



 




 一覧checkconfig --list

常時起動checkconfig [service] on

常時停止 checkconfig [service] off

特定ランLvの制御checkconfig --level 12345 [service] on 


 



一覧を表示



[root@linux ~]# /sbin/chkconfig --list



httpdを常時起動



[root@linux ~]# /sbin/chkconfig httpd on


httpdをlv3で起動



[root@linux ~]# /sbin/chkconfig --level 3 httpd on



ちなみにntsysvはこんな感じ








2006/07/13

フリーのX-Window Xmingを試す



フリーX-Serverの話。 情報源はhttp://freedesktop.org/wiki/Xmingがオフィシャル。



CYGWINの中からX-Serverの一部機能を抜き出した。

でわざわざCYGWINを立ち上げる手間を考えると 軽快に使える。

どうも、競合にX-deepというX-Serverが存在するみたい。今度また調べよう。