トップページunix
990コメント274KB

初心者もOK! FreeBSD質問スレッド その114

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名無しさん@お腹いっぱい。2012/05/31(木) 14:32:45.42
FreeBSD 関連の質問はここでどうぞ。望んでいる回答が来なくても怒らないでね。
事前にハンドブック閲覧や過去ログ検索等の自助努力をすることが望ましいです。
分からなければ仕方がないので、初心者でもとりあえず質問してみて下さい。

トラブルの場合、再現性情報(ハードウェア・ソフトウェア・エラーメッセージ)の記載は必須。
sysutils/sysinfo あたりがおすすめ。

The FreeBSD Project
http://www.freebsd.org/ja/

FreeBSD ハンドブック
http://www.freebsd.org/doc/ja/books/handbook/

過去ログ
http://www9.atwiki.jp/freebsd/

前スレ
初心者もOK! FreeBSD質問スレッド その113
http://toro.2ch.net/test/read.cgi/unix/1330257553/l50
/l50
0847名無しさん@お腹いっぱい。2012/10/17(水) 15:59:34.32
PATHに/binが複数あるとか
08488462012/10/17(水) 16:06:25.55
>>847
# env | grep PATH
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin

重複はなさそうです…
0849名無しさん@お腹いっぱい。2012/10/17(水) 16:32:02.60
cshだとしたら、pathは?
08508462012/10/17(水) 16:54:00.57
>>849
こういう事でしょうかね…

# set | grep path
path (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /root/bin)

こちらも重複はなさそうです。
0851名無しさん@お腹いっぱい。2012/10/17(水) 18:42:23.77
>>846
tcshだけど同じ結果だったよ
0852名無しさん@お腹いっぱい。2012/10/17(水) 22:19:37.55
どこのshを使うかというのがwhichでshがどこにあるのかというのがwhereじゃなかったっけ?
0853名無しさん@お腹いっぱい。2012/10/17(水) 22:49:36.31
そうだけどそれが?
0854名無しさん@お腹いっぱい。2012/10/17(水) 22:56:18.79
自己解決しました
0855名無しさん@お腹いっぱい。2012/10/17(水) 23:08:28.69
08568462012/10/18(木) 00:08:43.05
おいらは解決してないよ…
0857名無しさん@お腹いっぱい。2012/10/18(木) 00:18:45.64
なんだまだunset autorehashしてなかったのかwwwwww
0858名無しさん@お腹いっぱい。2012/10/18(木) 00:57:06.17
topで見られるメモリの項のbufっていうのは
一体何を指し示している項目なんでしょうか?
0859名無しさん@お腹いっぱい。2012/10/18(木) 00:59:10.73
バッファ
0860名無しさん@お腹いっぱい。2012/10/18(木) 01:36:07.86
bufの値は、使えるメモリ量の足し算に含めてしまっていいのでしょうか
Wiredは駄目だというのは分かっているのですけど
0861名無しさん@お腹いっぱい。2012/10/18(木) 10:48:02.83
メモリ食うプログラム走らせて、
Bufが減るようなら含めていいってことじゃないだろうか
実験報告よろ
0862名無しさん@お腹いっぱい。2012/10/18(木) 10:52:21.66
すみませんが詳しい方のみ回答をお願いします
0863名無しさん@お腹いっぱい。2012/10/18(木) 12:03:40.16
質問として成り立つ程度に詳しい方のみ質問して下さい
0864名無しさん@お腹いっぱい。2012/10/18(木) 12:16:05.38
>>top(1)
> Buf: number of bytes used for BIO-level disk caching
0865名無しさん@お腹いっぱい。2012/10/18(木) 17:40:56.97
FireFoxー16.0.1なんですが、数時間くらい使ってると
たまにマウスでクリックしても選択肢が出なくなることがあります。
FireFoxを再起動すると直ります。
マウス自体は外のアプリでは効いてるので、FireFox側の問題と思います。
選択肢は(開かないので)クリックできませんが、ホームページのリンクとかはクリックできます。
同じような症状が出てる方、解決法とかありますか?
oSはFREEーBSDです。
0866名無しさん@お腹いっぱい。2012/10/18(木) 17:46:33.37
     (´・ω・`)
   /     `ヽ.   お薬増やしておきますねー
  __/  ┃)) __i |
/ ヽ,,⌒)___(,,ノ\


     ( ´・ω・) チラッ
   /     `ヽ.   
  __/  ┃  __i |
/ ヽ,,⌒)___(,,ノ\


     (´・ω・`)
   /     `ヽ.   今度カウンセリングも受けましょうねー
  __/  ┃)) __i |
/ ヽ,,⌒)___(,,ノ\
0867名無しさん@お腹いっぱい。2012/10/18(木) 19:13:59.83
そして思考もせず、薬漬けのボクができあがってしまった・・・
0868名無しさん@お腹いっぱい。2012/10/18(木) 19:17:06.78
Apache2.2の古いのを2.2.23にアップグレードしようと思ったのですが
config.niceが無いため、旧バージョンのインストールオプションが思い出せません。
make installしただけだと、旧バージョンとは違うところに2.2.23がインストールされアップグレード出来ません。
これはもう一度別のところにインストールしてconfを移すなりしないと駄目ですか?
0869名無しさん@お腹いっぱい。2012/10/18(木) 19:21:23.19
野良なの?
0870名無しさん@お腹いっぱい。2012/10/18(木) 20:11:15.44
はい、自分でソースを落としてきてインストールしました
0871名無しさん@お腹いっぱい。2012/10/18(木) 20:53:43.46
変な機能使ってないならデフォルトでいいんじゃないの。
0872名無しさん@お腹いっぱい。2012/10/18(木) 20:58:24.80
portもあるのに野良インストールしたなら自己責任だよね
とりあえずconf系のファイルを保存しといて、古いのは全部消して、
portかpkgでインストールするのがいいと思うけど。
0873名無しさん@お腹いっぱい。2012/10/18(木) 21:09:08.20
面倒くさい椰子だな。
httpd -V
してみろ。
0874名無しさん@お腹いっぱい。2012/10/18(木) 21:23:20.72
ありがとうございます
-D HTTPD_ROOT="/usr/local"
-D SUEXEC_BIN="/usr/local/bin/suexec"
となってるので、多分普通にインストールしたっぽいです。
その割には「/usr/local/apache2/」が無くて、代わりに「/usr/local/etc/apache22」にconfが置かれていたりと
よく分からない事になっていますが・・・
0875名無しさん@お腹いっぱい。2012/10/18(木) 21:29:05.13
portsでインストールするとそこに置かれる。
0876名無しさん@お腹いっぱい。2012/10/18(木) 21:43:35.33
そうでしたか、もう何年も前の話で全然覚えてなくて・・・
/var/tmpに現バージョンのhttpd-tar.gzがあるので、これからインストールしたのかportsから入れたのか・・・
portsから確認出来ればいいんですが、FreeBSDのバージョンが古いせいでportsがmake出来なくなってしまったので。
取り敢えず現状について理解出来ました。
0877名無しさん@お腹いっぱい。2012/10/18(木) 21:47:04.01
いい機会だから、いっそOSからきれいに入れ直した方がいいんじゃね。
0878名無しさん@お腹いっぱい。2012/10/18(木) 22:00:16.74
+1
0879名無しさん@お腹いっぱい。2012/10/18(木) 22:03:16.30
今度はちゃんと構築記録書いとけよ。
0880名無しさん@お腹いっぱい。2012/10/18(木) 23:28:10.16
clamavでリアルタイムスキャンさせたくdazukoをインストールしようとすると、

# cd /usr/ports/security/dazuko
# make
===> dazuko-2.3.9 is marked as broken: does not build.
*** Error code 1

clamukoが使用できないんだけど、どうすりゃいい?
0881名無しさん@お腹いっぱい。2012/10/18(木) 23:45:07.81
ビルドできないってんだから、
ビルドできるように修正パッチ作って、
unbreakのsend-prする。
0882名無しさん@お腹いっぱい。2012/10/19(金) 00:35:44.90
パッケージやポーツからインストールしたソフトウェアのアップデートってどうやるんだっけ?ド忘れしちゃった
0883名無しさん@お腹いっぱい。2012/10/19(金) 01:17:52.49
portmaster
0884名無しさん@お腹いっぱい。2012/10/19(金) 01:49:37.10
メモリの使用量の計算をするのに、
topで見る使用メモリのSIZEとRESってどっちを気にすればいいの?
SIZEが仮想メモリ(スワップ?)込みの使用量で、RESが物理メモリの使用量?
0885名無しさん@お腹いっぱい。2012/10/19(金) 02:00:15.96
right
0886名無しさん@お腹いっぱい。2012/10/19(金) 09:21:37.87
portsをcvsupからsubversionに移行したんだけど、絶対に使わなくて邪魔だから
引っ張ってこないようにsupfileでコメントアウトしてたのはどうすればいい?

目障りだけど、置いとくしかない?
0887名無しさん@お腹いっぱい。2012/10/19(金) 19:56:55.77
俺も気になってたので調べてみたよ。まだ試してないけど

svn update --set-depth=exclude path

でいけるみたい(excludeのほかにemptyというのもある)。
指定は一回やったら記憶されるようだ。
--set-depth じゃなくて --depth だと効力は一回こっきりなのかな。
チェックアウトするときも1階層だけチェックアウトなんてことができ

svn checkout --set-depth=immediates レポジトリURL

その中のサブディレクトリをまるごとチェックアウトしたくなったときに

svn update --set-depth=infinity base/head

とやって展開できるそうな。
0888名無しさん@お腹いっぱい。2012/10/19(金) 20:58:20.31
それって、アップデートしないだけでチェックアウトはしてるんじゃない?
0889名無しさん@お腹いっぱい。2012/10/19(金) 21:00:08.05
checkoutに--set-depthというオプション無いみたい。
0890名無しさん@お腹いっぱい。2012/10/19(金) 21:46:15.81
checkoutの方は --depth= だった。
不正確でごめん。

>>888
そう。
886には「移行した」とあるので、
チェックアウトは既にしてあると思って書いてた。
0891名無しさん@お腹いっぱい。2012/10/19(金) 22:40:19.16
FREEBSD(32bit)のC言語で以下の問題わかる方お願いします。

(1)int型変数の下位8bitをゼロ拡張して32bitにせよ
(2)int型変数の下位8bitを符号拡張して32bitにせよ
(3)int型変数の下位16bitをゼロ拡張して32bitにせよ
(4)int型変数の下位16bitを符号拡張して32bitにせよ
(5)int型変数を符号拡張して拡張部分を別のint型変数に入れ、2変数で合計64bitにせよ

ただし、
if文等での条件判断を用いてはいけない
一時変数を使わず与えられた変数だけで処理すること
ステートメント数の少ないプログラムを最適な解答とする

----
できれば今週末までにお願いします。
0892名無しさん@お腹いっぱい。2012/10/19(金) 22:41:33.04
>>891
改変コピペ
http://toro.2ch.net/test/read.cgi/unix/1013185055/213
0893名無しさん@お腹いっぱい。2012/10/19(金) 23:56:30.28
>>891
学校の課題か?
0894名無しさん@お腹いっぱい。2012/10/19(金) 23:57:09.82
ネタのつもりだろ。
0895名無しさん@お腹いっぱい。2012/10/20(土) 08:50:13.64
半端なビット数で、例えば12bitを符号拡張して32bitにしろ、
ただしif文、?演算子、一時変数使うな、
だったらいいパズル問題になるな。
0896名無しさん@お腹いっぱい。2012/10/20(土) 11:10:52.77
シフトするだけでは?
0897名無しさん@お腹いっぱい。2012/10/20(土) 11:19:27.07
もちろんシフト演算子も禁止で
0898名無しさん@お腹いっぱい。2012/10/20(土) 11:22:33.25
>>896
多ビットシフトはCPUによってはクロック数がかかる。
もっと速い最適解があるよ。
0899名無しさん@お腹いっぱい。2012/10/20(土) 11:28:13.23
ビットフィールド使うだけ。つまらん。
int main()
{
struct {int a : 12;} a;
a.a=0xfff;
printf("%x\n", a.a);
a.a=0x7ff;
printf("%x\n", a.a);
}
0900名無しさん@お腹いっぱい。2012/10/20(土) 11:39:10.48
>>899
ビットフィールドのビット位置は実装依存だから不可。不正解。
0901名無しさん@お腹いっぱい。2012/10/20(土) 11:42:42.51
>>899
「一時変数使うな」に反してるから不正解では?
0902名無しさん@お腹いっぱい。2012/10/20(土) 11:57:40.35
シフト禁止は後出しすぎじゃね?
ま、1048576倍して、1048576分の1でいいかな。
0903名無しさん@お腹いっぱい。2012/10/20(土) 12:00:29.18
32bit処理系のint型って、最初から32bitじゃなかったっけ?
0904名無しさん@お腹いっぱい。2012/10/20(土) 12:01:36.28
>>884
>>top(1)
> SIZE is the total size of the process (text, data, and stack),
> RES is the current amount of resident memory
> (both SIZE and RES are given in kilobytes)
0905名無しさん@お腹いっぱい。2012/10/20(土) 12:28:49.14
>>902
乗除算は余計遅いからNG
0906名無しさん@お腹いっぱい。2012/10/20(土) 12:39:02.45
>>900
ビットフィールドを別の参照方法で参照しているわけじゃないから全然問題ない。お前がCを理解していないのはわかった。
「一時変数使うな」には反しているが。
0907名無しさん@お腹いっぱい。2012/10/20(土) 12:58:08.11
>>902
同じ数で掛けて割ると、gccだと最適化で消えちゃって駄目だわ。
カッコで括っても不可避。
0908名無しさん@お腹いっぱい。2012/10/20(土) 13:31:09.94
ここ何のスレだっけ
0909名無しさん@お腹いっぱい。2012/10/20(土) 14:03:35.85
>>907
それはない

#include <stdio.h>
int main(void){
printf("%d\n", 2000*1048576/1048576);
printf("%d\n", 4000*1048576/1048576);
}

gcc -O2

2000
-96
0910名無しさん@お腹いっぱい。2012/10/20(土) 14:18:38.31
>>909
gcc -v は?
0911名無しさん@お腹いっぱい。2012/10/20(土) 14:20:57.83
gcc -v
Using built-in specs.
Target: amd64-undermydesk-freebsd
Configured with: FreeBSD/amd64 system compiler
Thread model: posix
gcc version 4.2.1 20070831 patched [FreeBSD]
0912名無しさん@お腹いっぱい。2012/10/20(土) 14:26:21.89
>>909
定数でやっちゃ駄目。変数で実験すること。

#include <stdio.h>

int func(int i){
printf("%d?n", i*1048576/1048576);
}

int main() {func(4000);}

gcc -O2
4000 ← (笑)
0913名無しさん@お腹いっぱい。2012/10/20(土) 14:36:49.35
しょうがないからこれで

#include <stdio.h>
int func1(int i) {
return i*1048576;
}
int func2(int i) {
return i/1048576;
}
int main(void) {
printf("%d\n", func2(func1(4000)));
}
0914名無しさん@お腹いっぱい。2012/10/20(土) 15:50:44.09
いくら話題が無いからって、おまいらつられすぎww
キャスト使えば一発だろJK

#include <stdint.h>

int func1(int i) { return ( uint8_t)i; }
int func2(int i) { return ( int8_t)i; }
int func3(int i) { return (uint16_t)i; }
int func4(int i) { return ( int16_t)i; }
int func5(int i, int *j) { *j = i / 4294967296ULL; return i; }

main() {
int j = 0xcafebabe;
printf("%08x\n", func1(0xdeadbeef));
printf("%08x\n", func2(0xdeadbeef));
printf("%08x\n", func3(0xdeadbeef));
printf("%08x\n", func4(0xdeadbeef));
printf("%08x, ", func5(0xdeadbeef, &j));
printf("%08x\n", j);
}
0915名無しさん@お腹いっぱい。2012/10/20(土) 16:15:50.31
>>914
12bit符号拡張は?
0916名無しさん@お腹いっぱい。2012/10/20(土) 16:19:15.24
初心者が逃げ出すぞ…
0917名無しさん@お腹いっぱい。2012/10/20(土) 17:48:11.34
よくわからないね

プログラムの見かた・考えかた | 1.6 符号拡張/ゼロ拡張
http://nonkisoft.blog134.fc2.com/blog-entry-9.html
0918名無しさん@お腹いっぱい。2012/10/20(土) 18:04:42.32
符号拡張?

a = 10010100 10110101 00110110 11101011

b = a & 00000000 00000000 00000000 10000000

c = b * 00000001 11111111 11111111 11111111

d = a | c


ゼロ拡張?

a = 10010100 10110101 00110110 11101011

b = a & 00000000 00000000 00000000 11111111
0919名無しさん@お腹いっぱい。2012/10/20(土) 19:40:35.84
>>887
チェックアウト済みの場合は
svn update --set-depth empty いらないディレクトリ
すれば良いみたい。

portsもsvnsyncする事にしてsync中。昨日の朝開始して、やっと2/3弱まで到達。
初期syncは2日かかりそう。
0920名無しさん@お腹いっぱい。2012/10/20(土) 22:07:28.01
svnsyncはレポジトリから全部ひっぱるのでなく、
ときどきtarballが作られてftpサイトに置かれるからそれを元にするのがいい。
svnmirror-*-rXXXXXX.tar.xz てやつ(*はbase/doc/ports、XXXXXXはリビジョン)。
0921名無しさん@お腹いっぱい。2012/10/21(日) 15:43:29.15
すでにFreeBSDが入っているHDDに、改めてインストールする時は
一度HDDの中身を全消去しないと駄目ですか?
ユーザー用データの入っているパーティション等は、消さずに済めば楽なのですが
0922名無しさん@お腹いっぱい。2012/10/21(日) 16:00:09.29
できるけど、どうせミスって消すはめになるから、バックアップしとけ
0923名無しさん@お腹いっぱい。2012/10/21(日) 17:13:59.69
sysinstallなら・・
0924名無しさん@お腹いっぱい。2012/10/21(日) 18:10:16.55
メモリが4GB以下のPCにamd64の方をインスコする意味ってあんま無い?
0925名無しさん@お腹いっぱい。2012/10/21(日) 18:20:41.98
いやべつにそれほどでも
0926名無しさん@お腹いっぱい。2012/10/21(日) 19:38:15.22
関数引数がレジスタ渡しになるから速くなるんだっけ?
0927名無しさん@お腹いっぱい。2012/10/21(日) 19:45:21.11
x86-64が使えないCPUのマシンにメモリを8GB積んでFreeBSDを走らせる意味って
あんまりない?
0928名無しさん@お腹いっぱい。2012/10/21(日) 20:06:55.60
PAEでいいじゃん
0929名無しさん@お腹いっぱい。2012/10/21(日) 20:08:12.31
IA32なら
0930名無しさん@お腹いっぱい。2012/10/21(日) 20:14:52.03
マックのスペックちら見したらじーおんにメモリ64「GB」だったでござる
0931名無しさん@お腹いっぱい。2012/10/21(日) 20:21:38.77
Linuxは64bitにするとスピードアップする

BSDもそうだと信じたい
0932名無しさん@お腹いっぱい。2012/10/21(日) 20:35:53.86
http://www.systemworks.co.jp/pms_s974x.php

これなんて1TB入るけど?
0933名無しさん@お腹いっぱい。2012/10/21(日) 20:44:59.60
90万以上するとか…
家に一台サーバー欲しいと思ってたけど
個人の手には届かん
0934名無しさん@お腹いっぱい。2012/10/21(日) 21:11:01.07
メモリ1GBしか積んでないからi386の方インスコする事にする
0935名無しさん@お腹いっぱい。2012/10/21(日) 21:14:18.27
後から拡張する予定を見越してamd64のほうを入れておくても
0936名無しさん@お腹いっぱい。2012/10/21(日) 21:37:42.56
7年前の構成のPCでこれ以上拡張しように無くて
PC更新したらどのみちOS入れ直しだから・・・
0937名無しさん@お腹いっぱい。2012/10/21(日) 21:39:29.43
port は portsnap で更新する様にしたけど、
src の更新って、みなさんどうしています?
0938名無しさん@お腹いっぱい。2012/10/21(日) 22:23:23.75
svn
0939名無しさん@お腹いっぱい。2012/10/21(日) 22:31:57.40
>>938
どうもです。(8.3-stable環境です)
src の Makefile って、
make update で csup 呼ぶのですよね。
subversion を呼んでくれる様にすれば、
シームレスに移行できるとおもうのですが、
難しいのでしょうかね?
0940名無しさん@お腹いっぱい。2012/10/21(日) 23:26:44.34
>>939

echo "SVN_UPDATE=YES" >> /etc/make.conf
cd /usr/src
make update
0941937&9392012/10/22(月) 00:18:32.21
>>940
ご教示ありがとうございます。
未だやっていないんだけど、
これって、cvs で更新してきたこれまでの src/
そのままでいけますか?
(新たに src/ を作成する必要なし?)
0942937&939 etc.2012/10/22(月) 00:20:36.43
>>941
ローカルの更新自体は cvs じゃなくて、csup ッス
0943937&939 etc.2012/10/22(月) 00:26:44.01
940 の /etc/make.conf 追記しても、
ports/ での
cd /usr/ports
make update
は csup のままですよね?
0944名無しさん@お腹いっぱい。2012/10/22(月) 00:59:54.31
>>943

いやそこまでこだわるなら、Makefile* と /usr/share/mk/ 以下読んで理解したほうがいいんじゃねーのと思うが
csupを一切使いたくないなら
echo "SUP_UPDATE=no" >>make.conf
じゃないかね
0945名無しさん@お腹いっぱい。2012/10/22(月) 17:19:56.20
portsからxintedをインストールしたんですが
sample.confってどこにあるんでしょうか
0946名無しさん@お腹いっぱい。2012/10/22(月) 17:22:31.88
LAN内に2つのマシンがあります。
1つはFreeBSDで中にjailが1つあり、そのjailはWEBサーバが走ってます
inet 192.168.nnn.xxx netmask 0xffffff00 broadcast 192.168.nnn.255
inet 192.168.nnn.yyy netmask 0xffffffff broadcast 192.168.nnn.yyy(こっちがjail、ドメインexample.com)

もう1つはwindowsで192.168.nnn.zzz

windowsからhttp://example.com/foo.phpにアクセスすると30秒くらいで処理が完了します。
しかし、http://192.168.nnn.yyy/foo.phpでは1秒で処理か完了します。
これはfoo.phpのみの症状でbar.phpは、外からでも中からでも1秒で処理が完了します。

ルーターが原因かなと思い、別のに変えても同じ症状でした。
あとなにかいじってみる箇所ってありますでしょうか?
レス数が900を超えています。1000を超えると表示できなくなるよ。