Sponsored Link
 戻る

420.RE2: eth1の反乱!!

投稿者: Pyzar - 2003年12月12日 22時09分26秒

>ぴゅあさん
レスありがとうございました。
やってみましたが…一時的にしか反映されません(:_;)

[root@localhost root]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
[root@localhost root]# route del -net 169.254.0.0 netmask 255.255.0.0
[root@localhost root]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
[root@localhost root]# /etc/init.d/network restart
インターフェース eth0を終了中: [ OK ]
インターフェース eth1を終了中: [ OK ]
ループバックインターフェース を終了中 [ OK ]
IPv4パケット転送を無効化中: [ OK ]
ネットワークパラメータを設定中: [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0を活性化中: [ OK ]
インターフェース eth1を活性化中: [ OK ]
[root@localhost root]# netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

もともとeth1はRedHat8でも9でもインストール時に認識してくれなくって…
なのにifcfg-eth1を書いてやると自動認識するという変なNICなので…
RedHat8ではこんなことなかったけれどRedHatと相性が悪いのでしょうか…
コメント>>

419.RE: eth1の反乱!!

投稿者: ぴゅあ - 2003年12月11日 23時22分10秒

 あぁ それは気にしなくていいです

 "169.254"で検索してみるか(Macでは・・・とか出てても同じです/よく解らないで違う解釈のまま書いているのもあるかもですが本質的な内容 については同じことを書いているかと思う)
 Winの[スタート]−[ヘルプ]でキーワード検索で"169.254"としてみると(Win9xでは出ていないかも?知れないけど)
 解るでしょう

 一般には出てこない192.168.*.*とかと同じプライベートアドレスのひとつと思ってもいいでしょう
 詳しくはそれらの解説を

 でもって通常は要らないと思うので
 # route del -net 169.254.0.0 netmask 255.255.0.0
 で消してしまってもいいと思うし
 そのまま残しておいても支障はないでしょう

 route del -net 169.254.0.0 netmask 255.255.0.0
 の説明
 del・・・ルーティング情報の削除(続くパラメタが対象の情報)
 -net・・・次のパラメタ192.254.0.0はネットワークアドレス
 (192.168.1.1とかのIPアドレスを指定するときは-host)
 netmask・・・次のパラメタ255.255.0.0はネットマスク

 この場合Destination(ネットワークアドレス/IPアドレス)とGenmask(ネットマスク)を指定しないと削除できません
 (Gateway:ゲートウェイアドレスは"*"なので指定なしということで指定しない)

 これがeth1に現れたのはRHが(に限る(Linux或いはRHの仕様)かどうかは判らないけど)最後に見つけたLANボードをデフォルトのように扱 うようなところからも来ているのでしょう
 (LANボード3枚ならeth2にこれが見られるみたい)
 RHのインスト時にLANボードの設定が出てくると思いますけど(Pyzarさんの場合1枚は失敗していたかな?)
 そのときにeth?を有効とするかどうかだったか上に2箇所チェック欄が出てきますけど最後のLANボードのみ最初から有効にするだったかの設定がされ ていたりします・・・というのもこれ(eth1やeth2とかに付く)に関係したりするんでしょう
 ハッキリ覚えていませんけど(インストの解説用にスクリーンショットは撮ってあるんだけど・・・再確認してない)最後の1枚だけそれ以前とはデフォルト の設定が変わっているんですよ(ということから)

 明日また6時に起きるんかな?。。。。
 いちお寝とくか・・・・・・・・
コメント>>

418.eth1の反乱!!

投稿者: Pyzar - 2003年12月11日 21時57分45秒

>ぴゅあさん
レスありがとうございます。

> 指いてぇぇぇぇ(><)
> そいや植木屋さんは・・・
> 街路樹の冬支度でした。。。。

あややや お疲れ様でした

で、突然本題…m(_ _)m
ちょっとルーティングを…と思い…"netstat -r"やってみたのですが…

Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.2.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

このeth1の169.254.0.0て…
自分でもどこから出てきたのかわからないのですが…

/etc/sysconfig/network-scripts/ifcfg-eth1は確認しました。
DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.2.255
IPADDR=192.168.2.1
NETMASK=255.255.255.0
NETWORK=192.168.2.0
ONBOOT=yes
GATEWAY=192.168.1.1
TYPE=Ethernet

どうしたらこんなのが出るのでしょう…
どんな可能性があるかご教授下さい(^人^)
コメント>>

417.RE[2]: squidに挑戦してみるとか

投稿者: ぴゅあ - 2003年12月11日 20時10分46秒

 焦ることはないと思うし
 ノンビリとやってもらうとして

> squid自体は一応動いたけれど…透過プロキシも…ルーター化も失敗(:_;)
 非常に簡単だったと記憶しています
 詳しくは覚えていないので(記録はある筈だけど)
 以前紹介したRH8.0の書籍から抜粋だけ

 squidはそれらしく動くようになっているとして
 (ブラウザはアドレス=Linuxマシンのもの,ポート=3128に設定してある)

1./etc/sysctl.confかechoコマンドを使って
 /proc/sys/net/ipv4/ip_forwardを"1"にしておくことが必要

2.iptablesのNAT機能でポート80をポート3128(squidの待ちポート)に摩り替える
# iptables -t nat -A PREROUTING -d 0/0 -p tcp --dport http -j REDIRECT --to-ports 3128
 それぞれの意味は調べてね
 (全てのアドレス宛のポート80へのアクセスが来たらポート3128へ変える)
 ただしLinuxマシンでapacheとかのWebサーバーが動いていない場合にこれだけでいい

3.squid.confの設定
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy off
httpd_accel_uses_host_header on

 これだけで良かった筈
 ブラウザにはプロクシ設定をする必要はない筈
・WinとかのクライアントのデフォルトゲートウェイでLinuxマシンへ行く
・Linuxマシンを通過しようとしたときにiptablesに捕まって(デフォルトのポート80からポート3128に摩り替えられて)squidへ送ら れる(squid.confの"httpd_accel_host virtual"によりsquidに捕まえられる・・・のかな?)

 もしうまく行かないようなら
 ブラウザのプロクシ設定でアドレス=Linuxマシンのもの,ポート=80に設定してみる

> # 実はPostfixも…出来ず…
 Postfixも物凄く簡単
 バーチャルドメインで専用のメールボックスを作るのはできないままだけど・・・(ローカルユーザー宛に転送してローカルユーザーで受け取るのは簡単にで きる)

 Postfixを使うポイントは
1.hostname -dでFDQNが取れること(取れないままにするときはmain.cfにドメイン名を設定すればよかった筈)
2.postfix-*.*.*-*.i386.rpmとredhat-switch-mail-*.*.*-*.noarch.rpmをインストする
3.main.cfを設定する
 基本的にドメイン名,ホスト名,インターフェイス,許可するクライアント,リレーホスト(sendmailでプロバイダのサーバーにリレーしようとして いましたね/それ)辺りを見るだけ
4.redhat-switch-mail-noxだったかを実行してsendmailからPostfixに切り替える

 これで終わり
 会社とかで社内専用にするなら外部へリレーしないようにするだけでローカルユーザー間でメールのやり取りはできるようになる(ipop3(imapの rpmに入っている)を入れておく必要があるけど@imapのrpmをインストしてipop3を起動すればそれで終わり)
 外部へリレーしたいとかバーチャルドメインを使ったアカウントを作りたいときはもう少しだけ設定が必要だけど
 いちお上の作業をしただけの状態でインスト直後のsendmailの代わりがそのままできます

 話を戻して。。。。

> ?? フォワードを許可してからルーティングもしなけりゃだめですよね??
> あのネームでしたっけ…確か"-N"とか書くやつ…
 いえ
 iptablesでやる(確か"-N"とか書くやつ…)のはパケットフィルタリング(ファイアウォール)です
 ルーティングではないです

 ルーティングはnetstat -rとか打ってみれば判ります(Winのコマンドプロンプトでも同様)
 でもってやるのは(今回は)デフォルトゲートウェイの設定だけです

# cat /etc/sysconfig/network
 としてみてください
 "GATEWAY=*.*.*.*"にnetstat -rの最後の行にdefaultとしてGateway欄に出てくるものと同じものがあると思います(routeと打っただけでもいい@routeコマン ド)
 これがWinでも出てくるデフォルトゲートウェイ
 Linuxマシンではこれがモデム(ルーター)のIPアドレスになっている筈です(します)
 因みにWinマシンにはLinuxマシンの(Winと繋がっている)LANボードのIPアドレスが設定されている筈です(します)

 デフォルトゲートウェイの変更はviで/etc/sysconfig/networkのGATEWAYを設定後
 /etc/init.d/network reload(或いはダメみたいならrestart)
 でできるでしょう(確か)

 一般的な(個人ユース)ではこれで十分です
 ちゃんとした設定では(本格的なルーター設定)routeコマンドを使います(Winのコマンドプロンプトでも同様)
 ルーティングについては最初の頃に紹介した書籍が解りやすいかと思います(見る必要があるのは最初の方の数章だけ)
 簡単に例を示しておいてみると

 [あるネットワーク]−+−[ルータ1]−−−[ネットワークA]
           | a      A
           |
           +−[ルータ2]−−−[ネットワークB]
             b        B

 「あるネットワーク」から見て「ネットワークA」はルータ1の先にあります
 同様に「ネットワークB」はルータ2の先にあります
 ここで仮に
 a点(ルータ1)のIPアドレスを192.168.1.1
 b点(ルータ2)のIPアドレスを192.168.1.2
 Aのネットワークアドレスは192.168.10.0/24
 Bのネットワークアドレスは192.168.20.0/24
 とすると

 「あるネットワーク」にある各マシン(ホスト)のルーティングテーブルの設定は

 route add -net 192.168.10.0 netmask 255.255.25.0 gw 192.168.1.1
 (正しい書き方は若干違うかも)
 192.168.10.0/24は192.168.1.1の先にある(192.168.10.0/24行きのパケットだったら192.168.1.1へ 送れ)

 route add -net 192.168.20.0 netmask 255.255.25.0 gw 192.168.1.2
 192.168.20.0/24は192.168.1.2の先にある(192.168.20.0/24行きのパケットだったら192.168.1.2へ 送れ)

 という2つのコマンドを実行します

 というもの

 いちおrouteコマンドではやったことないけど
 デフォルトゲートウェイの設定は
 route add default gw 192.168.2.1
 (モデムが192.168.2.1だったときのLinuxマシンでの設定)
 のような書き方でもできるでしょう(/etc/sysconfig/networkの書き換えと共に/etc/init.d/network reloadを実行しなくても設定が反映される筈?)

 取り敢えず簡単に(解り易く?)説明したつもりだけど解ったかなぁ?。。。。

 指いてぇぇぇぇ(><)
 そいや植木屋さんは・・・
 街路樹の冬支度でした。。。。
コメント>>

416.RE[3]: man patchの内容とRH9のpatchは違うようです

投稿者: ぴゅあ - 2003年12月11日 19時00分06秒

 今日は朝7時に連行され。。。(−−
 只今の気温2度!!(><)とか見つつ・・・
 植木屋さんやってきたのでした。。。
 後半疲れは少なくなったけど手はボロボロ
 まだ2,3日続くらしいけど・・・
 バイト代とか出るんかな。。。。。。。
 てか 雨降ってるし 雪かも言ってるしーーーーー

> patch --help見れませんか?
> 上のリンクから…
 見てますよ
 あちしの環境ではまだ見れんということ(patchコマンドインストしてない(照))

> 7も9も失敗したのでAもBもあてはまるようです。
> で…後、引数のない"-p"はRH9のpatchでは認めていないようです。
 そうかもだし
 そんなもんだと思ってもいいのかも(前にちらと書いたように)
 man patchでちゃんと見れん(合ったのが)ということは解説書くのは意味あるでしょうね
 manやhelpはある程度知ってて忘れたときの確認用?みたいなもんでもあるから
 そんなに詳しい(解りやすい)説明ではないというのも当たり前のように?よくあるもの
 「解る言葉で書く」というのは十分に意味があるでしょうね(解るるための補足を加える)

> man patchの英語版がWeb上にないかなと捜してみたのですが、
 やり方は取り敢えず置いといて。。。(調べりゃすぐに出てくると思うけど/要は日本語モードに設定されているから英語モードにする)
 英語版manも一緒に入っている(インストが必要かもだけど)かと思いますよ
 Linuxのインスト途中で「日本語の・・・(マニュアルだったかな?)」とか選択するところが出てきましたよね
 あそこで英語も選択しないといけないかもだけど(後でもrpmからインストできる筈@入ってなかったらの話)

> ただし、これはFreeBSD…
 それは殆ど関係ないと思います
 Linuxから移植されたり逆にBSDから移植されたり
 色々
 ですから

 (直ぐにではないし役に立たない余談)
 別の形ではそのうちpatchコマンドをソースレベルで見ることになるかもしれないので(大謎)
 (25年くらい前なのか・・・から考えていることを再びやろうかと思い初めてたりもするので(謎)(途中一時期X68000というマシンでやりかけても いたけど))
 いつかは判らないけどソースレベルからのどうなっているかは報告できるときはあるかも?

 指が痛いし(><)今回は詳しい話を省略させて頂いておきます
コメント>>

415.RE: squidに挑戦してみるとか

投稿者: Pyzar - 2003年12月11日 9時53分57秒

悲しい…

実は、squidやろうとしたことがあります…透過プロキシってどんなかなと思って…
Linuxのルーター化も…
squid自体は一応動いたけれど…透過プロキシも…ルーター化も失敗(:_;)
で、現状…時間がかかりそうなので手付かずです…

# 実はPostfixも…出来ず…

> /proc/sys/net/ipv4/ip_forwardは"1"にするとIPパケットのフォワードを許可するようになります
?? フォワードを許可してからルーティングもしなけりゃだめですよね??
あのネームでしたっけ…確か"-N"とか書くやつ…
ぴゅあさんに丁寧に何度の教えていただいたのですが…結局理解できず…
ルーティングもうまくいかないんで…

patchの件が落着してから再挑戦してみようかな…('';)う-ん
コメント>>

414.RE2: man patchの内容とRH9のpatchは違うようです

投稿者: Pyzar - 2003年12月11日 8時36分53秒
ホームページ: http://www.geocities.co.jp/SiliconValley-SantaClara/1792/patch--help.txt

> で、試してみよう!ってのがどうなったかは
> ??だけど

もう既に終わったのですが…
自分なりにまとめてみようと思って…遅れています…
とりあえず一報としては…
7も9も失敗したのでAもBもあてはまるようです。
で…後、引数のない"-p"はRH9のpatchでは認めていないようです。

man patchの英語版がWeb上にないかなと捜してみたのですが、
わたしには見つけることが出来ませんでした。
> 3.日本語版は何処から持ってきたものかは判らないけど(何時訳されたものかとか)古い時期のものが使われてたりとかってのもあるでしょう

http://www.linux.or.jp/JM/html/GNU_patch/man1/patch.1.html
とそんなに内容は変わらないですよね…ただし、これはFreeBSD…でも日付は2003年…

patch --help見れませんか?
上のリンクから…

では 取りあえずってことで…
コメント>>

413.squidに挑戦してみるとか

投稿者: ぴゅあ - 2003年12月11日 0時29分21秒

 いや実はキャッシュ機能を使おうとかというのでなければsquidも要らないんですけど

 [モデム・ルーター]−−−[Linux]−−−[Winとか]

 でしたよね
 でもってLinuxマシンでDelegateが動いてhttp,smtp,pop辺りが繋がっていると

 ずれるかもしれないけど

 [モデム・ルーター]−−−[Linux]−−−[Winとか]
          A  B    C  D

 それぞれLANボードがある点をA〜Dとしておきます
 squidを使うというのはDelegateの代わりにsquidを使うというだけのことなので大したことないからそれだけの話で済ましておくとして
 (squidとiptablesのマスカレード機能で透過プロクシもできる・・・んだった筈 随分前にやってあまし覚えてないけど)

 ここでは別の方法
 Linuxではiptablesをモデム側の持つファイアウォールより細かい制御ができるということだけのことで動かします
 これがシッカリできればモデム側のファイアウォールを外すのもいいでしょう
 簡易的に入れておくというのもよし
 ADSLモデム&ルーターならモデムのみでブリッジにしてしまう(みかかでルーターなしとしてレンタルしているものと同じ状態)というのもよし
 その代わりLinuxが完全なファイアウォールとして動作するようにすることになりますが

 ここではまだモデムがルーター機能を持っているということとして・・・

 WinとかのクライアントはデフォルトゲートウェイをCのIPアドレスとします
 するとCやDで使っているネットワークアドレス以外のアドレス(つまりインタネ上へ行きたいもの)はCへ入っていきます
 つまりこれは自分の知らないアドレスは全てCの先の何処かにある筈よということになります

 Linuxマシンが知らないネットワークアドレスはA,BとC,Dのネットワークアドレス以外でつまりインタネ上のアドレスの筈ですが
 LinuxマシンのデフォルトゲートウェイをAのIPアドレスに設定することでそれらはモデムのルーターへ流されます

 モデムは内部で自分へ届いたもの(モデムの設定で呼び出したりしますよね)以外はインタネ側へ流します
 でもってNAT機能は(このモデムが持っていれば)モデムが勝手にやってくれます
 LinuxマシンでもNAT機能を使ってもちゃんと動作しますが(ここで使うことは理論的にも間違ってはいないと思う/間違っているという人も居たが) これは無駄なだけの筈?

 これでWinとかのクライアントからブラウザでインタネ上のサイトを見たいとかメールの送受信をしたいとかができるようになります
 これがルーティングというものです(前にも書いたことのあるルーティングの書籍等が読み易いでしよう)

 逆方向はインタネ側へ行った道筋に従って戻ってくるので心配なし
 ただ気になるのは普通に考えるとモデムからBへのルーティングテーブルの設定はした方がよさそうな(しなければならない)気も?(デフォルトゲートウェ イ(判らない任意のものを扱う)でなく固定のものです−−C,DのネットワークアドレスはBの先にあるという設定をする)

 あと注意をするのは
# cat /proc/sys/net/ipv4/ip_forward
 としてみるとデフォルトでは"0"となっているかと思うので
# echo 1 > /proc/sys/net/ipv4/ip_forward
 (この場合はリブート毎に行う必要がある/なんでか・・・/etc/sysctl.confが0にしてしまうから(の筈))
 或いは
# vi /etc/sysctl.conf
 で
 net.ipv4.ip_forward = 0
 を
 net.ipv4.ip_forward = 1
 に直してしまいます(確かこれだった筈)

 よくiptablesの設定の最後に
# echo 1 > /proc/sys/net/ipv4/ip_forward
 とする例がありますけどどちらがいいかは・・・?
 調べてみてください

 /proc/sys/net/ipv4/ip_forwardは"1"にするとIPパケットのフォワードを許可するようになります
 "0"と"1"で比べてみれば判ると思いますけどLinuxマシンのBからCへとその逆へのパケットが通過していけるかどうかを制御します
 これが"0"だとWinとかのクライアントから(LinuxマシンのCから入って)Linuxマシン内の例えばtelnetサーバーとかへは接続できま すがWinとかのクライアントから(LinuxマシンのCから入って)LinuxマシンのBを抜けてモデムやその先のインタネ上へ行くことができなくなり ます(Linuxマシン内を「通過」できなくなる/CからB(或いはその逆)へ抜けられなくなる)

 こうしてやるとWinとかのクライアントで必要な設定はかつてアナログモデム(電話回線で使っていた)での設定と殆ど同じ設定になります
1.LANボードに関するTCP/IPの設定は
1)IPアドレスとネットマスクはLinuxマシンのCと同じネットワークに居るためのDのアドレス/ネットマスクを設定
2)デフォルトゲートウェイはLinuxマシンへ到達する(その先にインタネはある)ためにCのアドレス
3)ネーム(DNS)サーバーアドレスはプロバイダから指定されたもの(初歩的な設定の場合)或いはLinuxマシンにあるDNSサーバーやモデムが持っ ていればそのアドレス
2.ブラウザの設定は新たにインストした状態から何も設定は要らない(Delegateを使った場合のようにプロクシの設定も不要)
3.メールの設定はプロバイダで指定されたSMTP,POPサーバーアドレスをそのまま書く(ポートも当然デフォルトのまま)

 つまり1のTCP/IP以外に特殊な設定は全く要らなくなるということです
 (先にちらっと出てきた透過プロクシとはsquidやDelegateを使ったときブラウザのポートに8080とか設定することになりますがそれを80 であるように見せる(ブラウザではポート80と設定する)ものです(という機能だった筈)/Linuxマシン内でポート80をポート8080に変換して Delegateなりに渡します)
 なんかイヤになるほど簡単になってしまうでしょ(使う(クライアント)側は)
 以前ちらと書いたとは思うけど・・・

 ならDelegateは不要??
 とも言えないです
 (悲しくならないため?・・・ではないけど)
 必要な環境では必要になってきます

 今の環境ではなくてもできるよ
 ということです
 これがまだLinuxマシンでなくてWinマシンのままだったら(Win Serverマシンを除く・・・てかServerしか機能を持っていなかったと思うけど)Delegateは必須でしょう(或いは他のプロクシサーバーと か)

 何故なら
 簡単に言ってしまえば
# echo 1 > /proc/sys/net/ipv4/ip_forward
 に相当する機能がないからです(なかった筈としとく?)

 オマケ
 このときLinuxマシンのiptablesは(今既にそうなっていると思うけど)
 通す/通さないパケットの制御をします
 またモデムのルーター機能を止めてブリッジとする場合にはNAT機能(マスカレード)も働かせます(そこまではしなくてもいいだろうけど/ただしその方 が気持ちだけでもかなり速くはなる筈(Linuxマシンに十分なパワーがあれば/httpサーバーを立ち上げ更にCGIアプリを動かす場合とかよりはかな り小さなパワーで十分な筈だけど))

 明日は植木屋さんだ
 朝6時頃には起きて・・・(謎汗)
コメント>>

412.RE: man patchの内容とRH9のpatchは違うようです

投稿者: ぴゅあ - 2003年12月10日 23時28分41秒

 それはあるかも
1.英語版のmanだと一致しているかもしれないだけど
2.Red Hat Linuxの各プログラムはRed Hat独自に作り直しているものも多かったりするみたいで
 manはオリジナルのままということもあり得るとしてもおかしくないとも思えるし
3.日本語版は何処から持ってきたものかは判らないけど(何時訳されたものかとか)古い時期のものが使われてたりとかってのもあるでしょう

 まぁ--helpで見れるのは現在のものに一番近い(一緒に直される可能性も高い)とは言えるでしょう
 ので他のコマンドでも実際あったりするけどmanとヘルプが一致しないというのは結構あるですよ

 ぢゃあmanが役に立たないか?
 ってのは取り敢えず(日本語でかつ文章として読めるということも含めて)参考マニュアルとして十分に活用できるということ
 でもって実際の細かいところは(全くmanが役に立たないというのはまんず少ないと思うし)個々に調整ってことで

 で、試してみよう!ってのがどうなったかは
 ??だけど
 -cの代わりが--dry-runであるってのはいいでしょう
 でもって--helpには(詳しさはコマンドによって様々だけど)-pがmanにあるのと同等の・・・しかも基本的な機能は果たすというのは判るけど
 先に書いたように-p省略時とかは読み取れないので例外部分とかが省かれているかどうかは不明(要らないから新しくなって削られたのかも?ってことも 「あり」で)ですけど
 それはまぁ先に書いたのを確認してみれば推測もできるんでしょう

 いちお現時点ではpatch --helpもあちしの方では見れんので・・・

 "-p0なりを付けるもの"としてしまうか(そう決めてしまってもいいと思うし@使う側としては)
 追求してみるかは任せます
※UNIXコマンドは使いたいと思ったそれぞれの人のプログラム(コマンド)が集まって多くのコマンドができたともされています
 (だから標準化(統一化)?は図られようとしたこともあるようですが例外的なコマンドもまだ残っているのでしょう@オプションの付け方とか所謂コマンド の書式の部分の違い)
 逆に言えば非常に多くのコマンドが存在しますけど、その全てを覚えてしまわなければならないということはなく「使いたいものだけを厳選してそれで自分の 目的が果たせていればそれでOK」ということでもあります(リファレンス本の発行とかでは誰が見るか判らないからそれでは足りないのが一般的な考えでしょ うけど)
 同じような目的を果たすけどコマンドを作った人の好みで別のコマンドが複数存在するというのもあるでしょう(消滅せずに残っていたりすると)
 そういったものを見付けて自分に合った使いやすい方を使うというやり方もひとつでしょうね
 こうでなきゃいけないということはない自由度が多少なりともあったりするのがUNIX/Linuxとも言えるんでしょう

 (Delegate絡みはこの後で)
コメント>>

411.man patchの内容とRH9のpatchは違うようです

投稿者: Pyzar - 2003年12月10日 12時27分41秒
ホームページ: http://www.geocities.co.jp/SiliconValley-SantaClara/1792/patch--help.txt

>ぴゅあさん
レスありがとうございます。
昨日は時間が取れなくて出来ませんでした。m(_ _)m

で、さっきやり始めたのですが…"-C"で躓きました…

[user@localhost delegate8.8.2]$ patch -C <delegate8.8.2.diff
patch: invalid option -- C
patch: Try `patch --help' for more information.

で、helpを読むと…man patchとずいぶん内容が違うようです。
<help>
--dry-run Do not actually change any files; just print what would happen.
<man patch>
-C, --check
どういう処理が行われるか確認します。しかし実行はしません。

[user@localhost delegate8.8.2]$ patch -p0 --dry-run <delegate8.8.2.diff
patching file /home/toru/delegate/delegate8.8.2/filters/cfi.c
patching file /home/toru/delegate/delegate8.8.2/src/cgi.c
patching file /home/toru/delegate/delegate8.8.2/src/conf.c
patching file /home/toru/delegate/delegate8.8.2/src/filter.c

ファイルを確認しましたがパッチはあたってません。
patchのhelpのコピーをちょっと置いてみますが…
man patchとずいぶん違います…

# これで手間取って時間なくなってしまいました…
# 続きは…今夜出来るかな??
コメント>>


 トップへ