トップページunix
1001コメント299KB

くだらない質問はここに書き込め!45

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2005/12/10(土) 10:35:54
前スレ
http://pc8.2ch.net/test/read.cgi/unix/1128698100/

UNIX板は 2ch のサポートセンターではありません
批判、要望は→ 2ch批判要望 http://ex9.2ch.net/accuse/

NGワード
* UNIXって何? → http://pc8.2ch.net/test/read.cgi/unix/998779290/
* UNIXとLinuxの違いは何? → http://pc8.2ch.net/test/read.cgi/unix/1024558135/
* 2ch閉鎖の危機をUNIX板が救ったという話{は本当? | を知った。有り難う! | のflashはどこ?}
禁止事項
* 既出・内容なし・マルチポスト・アスキーアート各種・ネタage・宿題の丸投げ
注意事項
* 荒らしは無視が鉄則
* Unixと関係ない質問/話題は、よけいな相手をせず適切な板に誘導
* 転んでも泣かない
* ひろゆきのギャクには笑うこと
質問する前にググること http://www.google.co.jp/
0002名無しさん@お腹いっぱい。2005/12/10(土) 10:36:55
過去ログ
1 ttp://pc.2ch.net/unix/kako/987/987158067.html
2 ttp://pc.2ch.net/unix/kako/996/996642453.html
3 ttp://pc.2ch.net/unix/kako/1002/10027/1002700894.html
4 ttp://pc.2ch.net/unix/kako/1006/10067/1006762555.html
5 ttp://pc.2ch.net/unix/kako/1010/10107/1010749468.html
6 ttp://pc.2ch.net/unix/kako/1013/10131/1013144113.html
7 ttp://pc.2ch.net/unix/kako/1015/10158/1015839397.html
8 ttp://pc.2ch.net/unix/kako/1018/10187/1018754628.html
9 ttp://pc.2ch.net/unix/kako/1020/10207/1020785827.html
10 ttp://pc.2ch.net/unix/kako/1022/10227/1022769156.html
11 ttp://pc.2ch.net/unix/kako/1025/10253/1025346021.html
12 ttp://pc.2ch.net/unix/kako/1027/10278/1027820464.html
13 ttp://pc.2ch.net/unix/kako/1030/10304/1030488865.html
14 ttp://pc.2ch.net/unix/kako/1032/10327/1032719552.html
15 ttp://pc.2ch.net/unix/kako/1034/10340/1034011526.html
16 ttp://pc.2ch.net/unix/kako/1035/10352/1035288796.html
17 ttp://pc.2ch.net/unix/kako/1037/10372/1037273948.html
18 ttp://pc.2ch.net/unix/kako/1039/10391/1039170079.html
19 ttp://pc.2ch.net/test/read.cgi/unix/1041698716/
20 ttp://pc.2ch.net/test/read.cgi/unix/1043819988/
21 ttp://pc.2ch.net/test/read.cgi/unix/1046079720/
22 ttp://pc.2ch.net/test/read.cgi/unix/1049536250/
23 ttp://pc.2ch.net/test/read.cgi/unix/1052041659/
24 ttp://pc.2ch.net/test/read.cgi/unix/1053748966/
25 ttp://pc.2ch.net/test/read.cgi/unix/1055864733/
26 ttp://pc.2ch.net/test/read.cgi/unix/1058708085/
27 ttp://pc.2ch.net/test/read.cgi/unix/1062148965/
28 ttp://pc.2ch.net/test/read.cgi/unix/1065232073/
29 ttp://pc.2ch.net/test/read.cgi/unix/1068204078/
30 ttp://pc.2ch.net/test/read.cgi/unix/1071461267/
0003名無しさん@お腹いっぱい。2005/12/10(土) 10:38:04
31 ttp://pc.2ch.net/test/read.cgi/unix/1076169271/
32 ttp://pc3.2ch.net/test/read.cgi/unix/1079699147/
33 ttp://pc5.2ch.net/test/read.cgi/unix/1083033634/
34 ttp://pc5.2ch.net/test/read.cgi/unix/1086127992/
35 ttp://pc5.2ch.net/test/read.cgi/unix/1089819355/
36 ttp://pc5.2ch.net/test/read.cgi/unix/1094227108/
37 ttp://pc5.2ch.net/test/read.cgi/unix/1097585542/
38 ttp://pc5.2ch.net/test/read.cgi/unix/1101159381/
39 ttp://pc5.2ch.net/test/read.cgi/unix/1105202422/
40 ttp://pc5.2ch.net/test/read.cgi/unix/1108906631/
41 ttp://pc8.2ch.net/test/read.cgi/unix/1114586491/
42 ttp://pc8.2ch.net/test/read.cgi/unix/1119703835/
43 ttp://pc8.2ch.net/test/read.cgi/unix/1123518770/
44 ttp://pc8.2ch.net/test/read.cgi/unix/1128698100/
0004名無しさん@お腹いっぱい。2005/12/10(土) 10:39:47
「エスパーきぼんぬ」「氏ね」「(゚Д゚)ハァ?」等のレスを貰う八ヶ条。
1. ハードウェア、OSのバージョン等には一字一句触れない。
2. 大切な個人情報が漏れるとまずいので、己の行った操作、変更などは秘密。
3. エラーメッセージの類は決して書かない。「エラーが出るんです」で留める。
 目の前で生じている現象をそのまま具体的に書くなどもっての外。
 事実より俺様の脳内解釈を優先すべし。
4. 独り言文体で必勝。
 「…なんだけど、どうすればいいのかなぁ」「何が悪いんだろう?」
5. 「急いでいます」「困っています」等、自分の都合を全面に押し出す。
6. もう試したことを得意げに指摘してくる奴には、厳しく対応。
 「それが駄目だったから質問してるんです」「それはもう試してみて駄目でした」
  "どう"だめだったのか、本当に実際それを行ったかどうかなんか問題じゃない。
7. ストレートに答えを書かないもったいぶったレスには、逆切れで対応。
 「だからどうすればいいんですか?」「分からないなら引っ込んでろやゴルァ」
 示されたURL等を参照するなんて態度は、回答者を甘やかすことに他ならないので
 絶対に避ける。
8. 情報は小出しに。
0005名無しさん@お腹いっぱい。2005/12/10(土) 11:25:51
  .   ∧ ∧  / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 〜′ ̄ ̄( ゚Д゚)< 思い起こせば倉木まいと歴史を重ねるくだ質
  .UU ̄ ̄U U  \_________________________
0006名無しさん@お腹いっぱい。2005/12/10(土) 13:05:13
なぜUNIXはwindowsに完全に敗北してしまったのか?
0007名無しさん@お腹いっぱい。2005/12/10(土) 13:15:48
そりゃwindowsがすっばらしいからでしょ。LOVE
0008名無しさん@お腹いっぱい。2005/12/10(土) 16:56:36
前スレ終了記念age
0009名無しさん@お腹いっぱい。2005/12/10(土) 18:16:33
>> 前スレ990
>telnet 192.168.0.2 80
>と記述して、処理しても通常のtelnetのポートで接続してしまいます、

エスパーの俺が思うに、こんな風にtypoしてんじゃない?

#! /bin/sh
port=80
telnet 192.168.0.2 $prot
0010前スレ9472005/12/10(土) 19:13:53
前スレで質問したものです。貴重な意見ありがとうございました。
皆さんの意見参考にさせてもらいます。
0011前スレ9832005/12/10(土) 21:38:26
前スレ983です 
前スレ985さんの書き込みが非常に気になりました もっといい選択肢を詳しく教えてください
0012名無しさん@お腹いっぱい。2005/12/10(土) 23:12:21
先に用途を言えば教えてやらんでもないが。
なにしろ、少なく見積もってもここに書き切れないほど沢山の
用途と、それぞれに適した選択肢の組合せがあるもんでな。
0013名無しさん@お腹いっぱい。2005/12/11(日) 01:22:48
質問です。
if文において、Cだと0以外が真で、シェルスクリプトだと1が真みたいに、
逆のようになってるのはなぜしょう?
0014名無しさん@お腹いっぱい。2005/12/11(日) 01:33:37
>>13
シェルスクリプトでは
返り値を見て正常ならそのまま処理続行、
異常なら値から原因を調べて
原因によって別々の対処をして次へ、
みたいな処理がやりやすくなるように
そうしてあるんだと思う。

C は知らん。
0015名無しさん@お腹いっぱい。2005/12/11(日) 02:01:44
>>14
それは13の答えにはなってないよ

真偽の数値へのマッピングがシェルとCでなぜ逆転してるのか?
0016名無しさん@お腹いっぱい。2005/12/11(日) 02:09:53
>>15
どっちかがどっちかの逆を選んだのではなく
それぞれがどうなってると都合がいいかで選んだ結果
たまたま逆になったんじゃないかな。
んで、シェル側がなで都合がいいかを書いてみた。
C は知らんので書けない。
0017名無しさん@お腹いっぱい。2005/12/11(日) 02:25:38
>>14-16
自己解決とまでは行かないんですが、
>>14がヒントになりました。
シェルだと

if コマンドが正常終了
then
通常の処理
else
エラー処理
fi

のような形になってるから、シェルでは、
もともと真偽を評価してるわけではないんですね。
なので質問としては、

Cの真偽は:0以外が真、0が偽
終了コード:0が正常終了、0以外が異常終了

のように(自分の感性では)逆転してるように見えるのはなぜかという点です。
0018名無しさん@お腹いっぱい。2005/12/11(日) 03:20:18
逆転してるよな。
Cを書いてると、通常の関数を抜けるときの正常終了は return 1 のようになるけど、
プロセスを正常終了するとき、つまりmain関数を抜けるときは _exit(0) だから、逆になる。

プロセスのほうはCで書くよりも前のUnixの仕様としてそうなっていて、
Cのほうは言語仕様としてそのほうが都合がいいと考えたからなんじゃないかなあ。
知らないけど。
0019名無しさん@お腹いっぱい。2005/12/11(日) 08:59:36
マ板で聞いた方がいいんじゃね。
0020名無しさん@お腹いっぱい。2005/12/11(日) 09:16:57
リッチーに聞け
0021名無しさん@お腹いっぱい。2005/12/11(日) 10:00:57
>>18
関数の正常終了は普通0じゃない?
異常終了が -1

終了コードが逆なんじゃなくて、if 文(の評価ロジック)が逆(に見える)だけ
0022名無しさん@お腹いっぱい。2005/12/11(日) 10:22:43
伝統的に返値が逆なんだよ
それで問題ないから問題ない
0023名無しさん@お腹いっぱい。2005/12/11(日) 10:25:17
>>21
そう思い込んでるヘナチョコがバグを撒き散らす。
0が正常終了、それ以外が異常終了

ここでしっかり憶えておけ。
0024名無しさん@お腹いっぱい。2005/12/11(日) 10:25:39
問題かどうかは問題にしてない。
0025名無しさん@お腹いっぱい。2005/12/11(日) 10:30:39
伝統的に逆だから伝統的に逆
0026名無しさん@お腹いっぱい。2005/12/11(日) 11:13:48
>>14で答えが出ているのに>>15が答えになっていないといって暴れている件
0027名無しさん@お腹いっぱい。2005/12/11(日) 11:36:47
>>23
お前は open(2) を使ったことがないのか
0028名無しさん@お腹いっぱい。2005/12/11(日) 11:39:45
>>26
C でなぜ1が真になってるかの答えが出ていない。
0029名無しさん@お腹いっぱい。2005/12/11(日) 11:57:54
>>27 スマン。つーか関数呼び出しの場合は定義が様々で一般的な定義はない。

Cの場合
言語仕様:
真偽の2値を表現できればよい。たいていのCPUには0であることをチェックする
命令があるので、0とそれ以外を真偽にマップすればよい。
ここで、何故0を真としなかったかという疑問が涌くが、lispでは伝統的にnilが偽、
それ以外を真とするプログラミングスタイルが定着している事に倣ったのだろう。
(tがあるにも関わらず、真偽の判定にはnilで判定している)

システムコール:
真偽に加えて、偽(エラー)の場合原因を返す必要があり、グローバル変数errnoを介して返す。
負が偽(エラー)、それ以外が真(!エラー)
mmap等、例外的に特定の値をエラー値と定義してあるものもある。
ライブラリ:
真偽に加えて、偽(エラー)の場合原因を返す必要があるが、統一的な方法はない。
C++やJavaのように例外処理が言語仕様にある場合は、エラーの場合呼び出した場所に
戻ってこないので、真偽の判定は不要な場合もある。

プログラムの実行:
システムコールと同様にエラー原因を返す必要がある。
正常終了は0、異常終了がそれ以外で原因をあらわしている。
0030名無しさん@お腹いっぱい。2005/12/11(日) 12:05:07
たいていのCPUにはビットが立ってることをチェックする命令が無(ry
0031名無しさん@お腹いっぱい。2005/12/11(日) 12:17:41
検査するビット位置を与えなきゃならないので効率が悪い。
0032名無しさん@お腹いっぱい。2005/12/11(日) 12:20:13
mainは反抗期なんだよ
0033名無しさん@お腹いっぱい。2005/12/11(日) 21:04:37
自宅で鯖立ていてメールのパスワードを自宅外から変更する良い方法を
教えてください。出来れば安全な方法で。

0034名無しさん@お腹いっぱい。2005/12/11(日) 21:09:22
>>33
信頼のできるエスパーに依頼する。
0035名無しさん@お腹いっぱい。2005/12/11(日) 21:11:44
>>33
誰も知らない、パスワードの変更できるshellを作っておく。
あるのか知らんが。
0036名無しさん@お腹いっぱい。2005/12/11(日) 21:27:26
署名したメールでコマンド送る。
0037名無しさん@お腹いっぱい。2005/12/11(日) 21:34:49
sshで
0038名無しさん@お腹いっぱい。2005/12/12(月) 01:05:05
次のようなツールを探しています。

まず、現在次のような事を行っています。
--
HDD to HDDで深夜に定時バックアップを取ってます。こんな感じで。

偶数の日
/home -> /backup/home0

奇数の日
/home -> /backup/home1

アプリはrsyncを使ってます。
--

それで、/backupのパーティションの残量が少々厳しくなってきました。
/backup/home0とhome1のファイルは9割方同じファイルです。それで、
同一ファイルを探し出し、ハードリンクに変更してくれるツールをご存じの方
はいませんか。

よろしくお願いします。

ホントはdump使えばいいんですけどね。でもdumpだと、特定のファイルに
アクセスが大変。
0039382005/12/12(月) 01:30:32
自己解決しました。

cp の -l オプションなんてあったのですね。以下でいけそうな気がします。
うまくいったらまた書き込みしますね。

偶数の日

cd /backup
mv home0 home0.bak
cp -lar home1 home0
rsync -av /home /backup/home0
rm -rf home0.bak

奇数の日

mv home1 home1.bak
cp -lar home0 home1
rsync -av /home /backup/home1
rm -rf home1.bak
0040名無しさん@お腹いっぱい。2005/12/12(月) 01:44:55
>>39
rsync の --link-dest も使っとけ。
0041名無しさん@お腹いっぱい。2005/12/12(月) 02:27:48
コマンド名(数字)

の(数字)の部分って何を意味してるんでしょうか?
0042名無しさん@お腹いっぱい。2005/12/12(月) 02:28:57
マンマンみろ
0043名無しさん@お腹いっぱい。2005/12/12(月) 07:31:21
>>41
http://linux2ch.bbzone.net/index.php?OperatingSystemGeneralFAQs#edb1e61d
0044名無しさん@お腹いっぱい。2005/12/12(月) 08:00:58
>>39
pdumpfsとかいいかも?
0045名無しさん@お腹いっぱい。2005/12/12(月) 12:32:07
バージョン表記のくだらない質問です
PHPの[4.3.10-3]というバージョンが必要なんですが
PHPの本家サイトには4.3.10が公開されています。

この場合、この-3というのは一般的なバージョン表記として
何を指すのでしょうか。
4.3.10-3というバージョンのソースがあるのでしょうか。
0046名無しさん@お腹いっぱい。2005/12/12(月) 13:03:26
>>45
おおかた RedHat とか Debian とか、とにかく Linux 系の話だろ?
そのディストリビューション内でのローカルパッチ・構築のリビジョンだよ
Linux 板で聞いてきなさい
0047名無しさん@お腹いっぱい。2005/12/12(月) 14:31:21
今海外在住です。
今度一時帰国したさい、都内で、無線LANで自PCをつないで、SSH Clientから
自サーバーへSSH接続できるような場所を探しています。FreeSpotというような
サービスもあると聞いたのですが、ポート21、22、23番が使えるような
そういった場所をどなたか都内でご存知なら教えていただけませんでしょうか?

希望候補としてはスタバのようなおちついたカフェでそんな場所があれば
最高なんですが。

よろしくお願いします。
0048名無しさん@お腹いっぱい。2005/12/12(月) 15:06:55
>>47
ttp://www.freespot.com/

port別のフィルタなんかは各運用場所によって違うだろうが、
21〜23くらいならたいてい空いてると思う。
0049名無しさん@お腹いっぱい。2005/12/12(月) 16:23:01
getmail でダウンロードしたメールを procmail で振り分けて
ローカルの Cyrus IMAP サーバに配送しようとしているのですが,
以下のように怒られてしまいます.

procmail: Program failure (65) of "/usr/lib/cyrus/deliver"

$ grep 65 /usr/include/sysexits.h
#define EX_DATAERR 65 /* data format error */

なので procmail が送るデータを cyrus/deliver が
受け付けていないように思うのですが,
cyrus に送るにはどうすればいいでしょうか?

~/.procmailrc は以下のようになっています.

DELIVER="/usr/lib/cyrus/deliver"
IMAP="$DELIVER -a $USER -m user.$USER"

:0 w
| $IMAP
0050名無しさん@お腹いっぱい。2005/12/12(月) 18:16:18
>>49
最後の :0 w の w をとればいいんじゃないの?
0051名無しさん@お腹いっぱい。2005/12/12(月) 18:41:44
>>50
w をとるとログにエラーメッセージは残りませんが,
実際にはメールが取り込まれないことには変わりません.

getmail から直接 cyrus に渡せばちゃんと送られるのですが,
procmail から cyrus に渡す場合と何が違うのでしょうか?
0052名無しさん@お腹いっぱい。2005/12/12(月) 18:44:27
うちの環境だと formail -I "From " してから deliver に渡してるな
0053名無しさん@お腹いっぱい。2005/12/12(月) 21:08:09
垂直タブって何のために存在してるんですか?
0054名無しさん@お腹いっぱい。2005/12/12(月) 21:14:01
>>52
ありがとうございます.
formail で From ヘッダを修復してやるとうまく配送されました.

getmail の example に以下のようなコメントが書いてあったので
その通りにしていたのですが, これは共有メールボックスから
分配する場合に必要な設定だったんでね.
-f %(sender) をはずすことで, formail なしでもちゃんと配送できました.
...が, 振り分け先フォルダを自動的に作ってくれないんですねorz

[christina-procmail]
type = MDA_external
path = /usr/local/bin/procmail
# procmail requires either that the message starts with an mboxrd-style
# "From " line (which getmail can generate by setting "unixfrom" to True), or
# that the -f option is provided as below.
arguments = ("-f", "%(sender)", "-m", "/home/christina/.procmailrc")
user = christina
0055名無しさん@お腹いっぱい。2005/12/12(月) 23:27:01
>>47
日本の認定とって無い装置を日本で使うのは違法だよ。
0056名無しさん@お腹いっぱい。2005/12/12(月) 23:53:04
>>47
山手線の大きい駅になら探せばあるかもね。>>55どういう意味なの?PS2を指定国以外で使っちゃいけないとかそういうやつ?
0057名無しさん@お腹いっぱい。2005/12/13(火) 00:18:42
>>56
電波法にひっかかるとかじゃね。
0058名無しさん@お腹いっぱい。2005/12/13(火) 12:22:08
初心者ですいませんが、質問します。

今、サーバー上にあるシェルを動かそうとしています。
そのシェルは、指定したポートをTELNETで全てつかんで動きます。

しかし、他からのアクセスがあるのかシェルが動かないと思っています。

他からのTELNETの通信とかを確認する方法はどうすればいいですか?
0059名無しさん@お腹いっぱい。2005/12/13(火) 13:04:15
>>58
?
意味がわからん…俺だけ?
0060名無しさん@お腹いっぱい。2005/12/13(火) 13:05:53
俺もわからん
0061名無しさん@お腹いっぱい。2005/12/13(火) 13:23:39
よし、エスパーの俺が回答しよう。
シェルは動いているはずだ。動いていないのは別のもの。
0062名無しさん@お腹いっぱい。2005/12/13(火) 13:25:55
質問下手でごめんなさい。
他のホストから、TELNETでつないでる物があると思うんですが
どこからのアクセスかなのか分かりません。

もしかしたら、ないのかもっていう状況なんです。


port23でアクセスしているホストとかサーバがあるとして、
アクセスしてきている対象を発見できたり、確認できたりするコマンドってありますか?

ってことを聞きたかったんですが、わかりますか・・・・
0063名無しさん@お腹いっぱい。2005/12/13(火) 13:26:24
翻訳に挑戦。

・どこぞのサーバに、シェルスクリプトがある
・そのスクリプトの中で、telnet hoge.hoge 666 などとしている
・hoge.hoge の 666 番ポートは同時接続数が1
・スクリプトの実行に失敗することがある
・これは、どこか別のホストから接続されてるからではないか?

で、本当にそうなのか確認したい。


だと思うんだが、自信はない。
0064名無しさん@お腹いっぱい。2005/12/13(火) 13:39:12
>>62
結局あんたが知ろうと何も状況はかわらんよ
その次がなんも解らないんだろ?
気にしないのも管理(w
0065名無しさん@お腹いっぱい。2005/12/13(火) 13:50:19
>63
それです。説明下手ですいませんでした。

>64
調べてくれって言われて、途方にくれてたんです・・・
次の処理は、多分上の人がするんですが。
0066名無しさん@お腹いっぱい。2005/12/13(火) 14:03:20
なんだ、エセSEか
0067名無しさん@お腹いっぱい。2005/12/13(火) 14:43:32
できないならできないって早めに言った方がいいよ。
0068名無しさん@お腹いっぱい。2005/12/13(火) 15:47:20
MySQLのMySQLデータベースのuserテーブルやdbテーブルに
フィールド2,3個追加したいんですが、問題あるでしょうか?
理由は管理上初期のままだとわかりにくいからです。

たぶん問題ない気はしますが、
いかんせんmysqlの根幹部分の設定なので不安なのです。
■ このスレッドは過去ログ倉庫に格納されています