トップページunix
301コメント83KB

FreeBSD current 思えば遠くへ来たもんだ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2009/06/05(金) 06:00:09
思えば遠くへ来たもんだ ふるさと離れて16年目
思えば遠くへ来たもんだ この先どこまで行くのやら

>> Shut up and code!!!

前スレは>>2-5あたり
0174名無しさん@お腹いっぱい。2010/11/28(日) 23:42:19
>>173
OpenSolarisのBEの機能まで持ってきて欲しいなぁと思うけど
標準のブートローダがgrubじゃないからなぁ…
0175名無しさん@お腹いっぱい。2010/12/17(金) 00:49:24
みなさんcurrentにして
バリバリソースに目通したりしてるの?
それか最新の情報を追うため程度なのかな
0176名無しさん@お腹いっぱい。2010/12/20(月) 18:23:19
>>175
人それぞれでしょ
0177名無しさん@お腹いっぱい。2010/12/21(火) 00:20:02
必要に応じて自分でパッチあてたりするだろ
0178名無しさん@お腹いっぱい。2010/12/28(火) 13:38:28
⊂⌒ヽ          (⌒⊃
  \ \  /⌒ヽ  / /
 ⊂二二二( ^ω^)ニニ二⊃
     \ \_∩_/ /
      (  (::)(::)  )
       ヽ_,*、_ノ  ボンバヘッ!!!今日もcurrent
   ///
 ///
0179名無しさん@お腹いっぱい。2010/12/29(水) 14:57:51
currentを使っておきながらACPIを使う場合はdevice acpiと書くことになったことに
今の今まで気づいてなかった自分は死んだ方がいい
0180名無しさん@お腹いっぱい。2010/12/29(水) 22:40:42
http://docs.FreeBSD.org/cgi/mid.cgi?201012291225.oBTCPSYC000560
Subject: svn commit: r216796 - in head/sys/ufs: ffs ufs
From: Konstantin Belousov <kib@FreeBSD.org>
URL: http://svn.freebsd.org/changeset/base/216796
| Add kernel side support for BIO_DELETE/TRIM on UFS.

http://docs.FreeBSD.org/cgi/mid.cgi?201012291231.oBTCVInI000796
Subject: svn commit: r216798 - in head/sbin: dumpfs newfs tunefs
From: Konstantin Belousov <kib@FreeBSD.org>
URL: http://svn.freebsd.org/changeset/base/216798
| Add support for FS_TRIM to user-mode UFS utilities.
0181名無しさん@お腹いっぱい。2010/12/30(木) 08:26:45
r216695とr216728の間のrtldを使ってるとfirefoxでflashの一部が表示されない。
一部のってのがミソで大半は動くんだ、蛙男商会とかの派手なやつも。
動かないのは楽天のトップのflash bannerとか。
いやあ、遠回りしたわ。
0182名無しさん@お腹いっぱい。2010/12/30(木) 11:14:32
>>180
明示的にブロック解放を通知してくれるとVMMもうれしい気がする
ATAは対応するコマンドあるようだけど、SCSIにはないのかな
0183名無しさん@お腹いっぱい。2011/01/12(水) 13:53:51
buildworld + buildkernel でだいたい36 〜 40 分ぐらい
0184名無しさん@お腹いっぱい。2011/01/12(水) 13:54:57
うわっ…私のbuildworld、
遅すぎ…?
0185名無しさん@お腹いっぱい。2011/01/12(水) 14:17:02
やめろw
0186名無しさん@お腹いっぱい。2011/01/12(水) 17:52:29
Beastieのことなんかぜんぜん好きじゃないんだからねっ!!
0187名無しさん@お腹いっぱい。2011/01/13(木) 12:23:04
Sun Fire v120 (UltraSparcIIe 648MHz )だと12 〜13時間ぐらい
0188名無しさん@お腹いっぱい。2011/01/17(月) 15:24:58
BSDinstall試してみた人いる?
インストール慣れてればsysinstallより使い勝手よさそうだし、jail環境やら
ディスクイメージにインストールできたりするそうでなかなかよさげなんだけど。
0189名無しさん@お腹いっぱい。2011/02/28(月) 07:21:50.25
そういえば, ここ数年, sysinstall触った記憶がないな…
0190名無しさん@お腹いっぱい。2011/02/28(月) 21:05:20.67
ZFS on GPTにするつもりだと、インストールメディアで起動してもfixitへ直行だしな……
0191名無しさん@お腹いっぱい。2011/03/02(水) 22:43:10.29
Capsicumキタ━━━━━━(゚∀゚)━━━━━━ !!!!!
0192名無しさん@お腹いっぱい。2011/03/05(土) 05:09:27.91
src.confにWITH_ICONV=yesしてmake worldした。
0193名無しさん@お腹いっぱい。2011/03/15(火) 12:31:29.62
FreeBSD初心者スレから追い出されてきました。

opensshのsshdにログインしたshellではsu可能、
dropbearのsshdにログインしたshellではsuがセグメントフォルトする。
考えられる理由はなんでしょうか?

$ uname -a
FreeBSD gate 9.0-CURRENT FreeBSD 9.0-CURRENT #1 r219237M: Mon Mar 7 12:46:41 JST 2011 root@ i386
0194名無しさん@お腹いっぱい。2011/03/15(火) 12:50:42.86
current使いなら自分で解決しろOR調べろっていわれるのがオチ
0195名無しさん@お腹いっぱい。2011/03/15(火) 13:06:32.68
検索は予想通りヒットせず、解析が困難だから一応聞いてみたのだ。
suはsetuidなプログラムだから、core出来ない、gdbできない、trussは動作が異なる。
0196名無しさん@お腹いっぱい。2011/03/15(火) 13:09:44.58
Currentは初心者にはお勧めできないから追い出されたわけじゃないな
0197名無しさん@お腹いっぱい。2011/03/15(火) 13:16:53.52
>195
kern.sugid_coredump=1 すれば core は出るよ。
0198名無しさん@お腹いっぱい。2011/03/15(火) 13:17:07.59
env に差はないの?
ppid, pgidは?
fdはどうなってる?
結局forkされるわけだからそのあたり重点的に調べればなにかわかるかもねー
0199名無しさん@お腹いっぱい。2011/03/15(火) 13:42:09.31
>>197
やってみたけど、ulimitのコアサイズが0になっている所為かcoreができない。
特権が無いからunlimitedにできない。
でも、OpenSSHからログインしたシェルでコアサイズを0にしてもセグメントフォ
ルトは発生しない。
0200名無しさん@お腹いっぱい。2011/03/15(火) 13:42:45.17
>>198
特に怪しい環境変数はない。
念のためOpenSSHの方の環境変数を移植してみたけど、現象変わらず。
$ env
USER=x
HOME=/home/x
OLDPWD=/etc/home/x
LOGNAME=x
TERM=xterm
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/x/bin
SHELL=/bin/sh
PWD=/tmp

$ id
uid=1001 gid=1001 groups=1001,0
で同一。

$ fstat -p $$
USER CMD PID FD MOUNT INUM MODE SZ|DV R/W
x sh 6343 root / 2 drwxr-xr-x 512 r
x sh 6343 wd /var 1037 drwxrwxrwt 512 r
x sh 6343 text / 53874 -r-xr-xr-x 114408 r
x sh 6343 0 /dev 56 crw--w---- pts/0 rw
x sh 6343 1 /dev 56 crw--w---- pts/0 rw
x sh 6343 2 /dev 56 crw--w---- pts/0 rw
x sh 6343 10 /dev 56 crw--w---- pts/0 rw
やっぱり(PID以外)同一。
0201名無しさん@お腹いっぱい。2011/03/15(火) 14:30:51.08
特権が使える環境でテストすればいいんじゃないかな
0202名無しさん@お腹いっぱい。2011/03/15(火) 14:49:04.48
suが入力待ちにでもなってくれればgdbでアタッチできるんだけど、
即終了しちゃうからなあ。
coreサイズ制限しないようにdropbearなおしてみよう。
0203名無しさん@お腹いっぱい。2011/03/15(火) 18:00:38.74
原因判明。setlogin(2)してないセッションだとgetlogin(2)がNULLを返し
NULLを返されると思っていないsuがセグメントフォルトを起こす。suのバグ。

・OpenSSHでログインしたセッション:
$ id -p
uid x
groups users wheel

・dropbearでログインしたセッション:
$ id -p
id: getlogin: Unknown error: 0
0204名無しさん@お腹いっぱい。2011/03/15(火) 18:02:20.61
訂正
× NULLを返されると思っていないsu
○ NULLを返された時の処理が間抜けなsu
0205名無しさん@お腹いっぱい。2011/03/15(火) 18:06:45.38
パッチ
--- /usr/src/usr.bin/su/su.c (revision 219237)
+++ /usr/src/usr.bin/su/su.c (working copy)
@@ -255,8 +255,8 @@
/* get current login name, real uid and shell */
ruid = getuid();
username = getlogin();
- pwd = getpwnam(username);
- if (username == NULL || pwd == NULL || pwd->pw_uid != ruid)
+ if (username == NULL ||
+ (pwd = getpwnam(username)) == NULL || pwd->pw_uid != ruid)
pwd = getpwuid(ruid);
if (pwd == NULL) {
#ifdef USE_BSM_AUDIT
0206名無しさん@お腹いっぱい。2011/03/15(火) 18:11:36.19
さっさとsend-prするのが義務だ
0207名無しさん@お腹いっぱい。2011/03/15(火) 18:12:56.60
ここがオレのsend-pr先だ。
0208名無しさん@お腹いっぱい。2011/03/15(火) 18:39:01.09
そんなこといって、実のところはsend-prするとにちゃんねらーなのがばれるのが
嫌なだけなんだろ?
0209名無しさん@お腹いっぱい。2011/03/15(火) 18:41:46.00
あったりまえじゃん。
0210名無しさん@お腹いっぱい。2011/03/15(火) 19:03:19.78
捨てアドで適当な偽名で出せよ
0211名無しさん@お腹いっぱい。2011/03/15(火) 19:14:11.59
> id: getlogin: Unknown error: 0
これもバグだな。正しくerrno返してない。
0212名無しさん@お腹いっぱい。2011/03/15(火) 19:20:05.68
getloginはerrnoセットしないんじゃない?
0213名無しさん@お腹いっぱい。2011/03/15(火) 19:27:18.26
errnoセットしないシステムコールってアリか?
0214名無しさん@お腹いっぱい。2011/03/15(火) 19:28:33.27
>>205って何が変わったの?と思ったが、usernameのNULLチェックが先に来るからってことか。
分かりにくいw
0215名無しさん@お腹いっぱい。2011/03/15(火) 19:38:41.01
条件の多い if 文の中で副作用のある式を書くのは良くないな
0216名無しさん@お腹いっぱい。2011/03/15(火) 19:44:02.11
>>215
別にそれ自体は問題ないだろ。
ただし、>>205はpwdがセットされないケースがあるのに、
それを参照してる点でダメ。
0217名無しさん@お腹いっぱい。2011/03/15(火) 19:49:32.62
参照してる?どこで?
0218名無しさん@お腹いっぱい。2011/03/15(火) 19:56:55.18
>>216
いや、NULLならショートカットで問題ないでしょ。

元のコードを見ずに書くけど、getpwnam(username)の前でpwdにNULLが入ってるなら
if (username == NULL)
pwd = getpwnam(username);
if (pwd == NULL || pwd->pw_uid != ruid)
pwd = getpwuid(ruid);
の方が見やすくない?

というか、変数の宣言だけして初期化もせずいきなり比較するようなコードが結構あって泣いたw
0219名無しさん@お腹いっぱい。2011/03/15(火) 20:00:00.39
username != NULLだったw
0220名無しさん@お腹いっぱい。2011/03/15(火) 20:37:54.35
>>216のような初心者には理解しにくいコードだからダメと言いたいのだろうか?
申し開きがあるなら聞いてやろう。w

>>218
> getpwnam(username)の前でpwdにNULLが入ってるなら
入ってないからダメ。
0221名無しさん@お腹いっぱい。2011/03/15(火) 21:19:06.80
215, 217を書いたのは自分だけど、実際勘違いを生じさせてるコードは保守性の面から
良いコードとは言えないぜ。

あ、>>216がわなびーちゃんだって言いたいだけならべつにいいんだけどw
自分もそう思うしさwww
0222名無しさん@お腹いっぱい。2011/03/15(火) 21:19:09.78
>>220
> >>216 ?
02232162011/03/15(火) 21:24:44.23
usernameがNULLになったらpwdは未初期化で最後のifがどうなるかわかんないだろ?
それともcurrentだと初期化してるの?
それとも>>205だと問題なく動くのに俺が読み間違えてるの?
0224名無しさん@お腹いっぱい。2011/03/15(火) 21:34:11.01
>>223
うん、お前がヘッポコなだけ。>>205で問題なく動く。

usernameがNULLならusername == NULLでifが成立する(それ以降は評価しない)から
pwd = getpwuid(ruid);が実行される。

お前、罰ゲームでsend-prな。
02252162011/03/15(火) 21:37:25.94
OTZ
へっぽこですた
02262162011/03/15(火) 21:43:56.83
罰ゲームちゃんとやるから、current以外でも落ちるかどうか検証求む
0227名無しさん@お腹いっぱい。2011/03/15(火) 21:55:18.40
>>220
でも元のコードがpwdに必ずgetpwnam(username)で値を突っ込むんだから、
pwdをNULLで初期化しておいてusernameがNULLでないならgetpwnamして
その結果がNULLだったり->pw_uidとruidが不一致だったりしたらgetpwuidの方が
見やすくない?

pwd = NULL;
if (username != NULL)
pwd = getpwnam(username);
if (pwd == NULL || pwd->pw_uid != ruid)
pwd = getpwuid(ruid);
0228名無しさん@お腹いっぱい。2011/03/15(火) 22:31:45.16
最小な変更
- pwd = getpwnam(username);
+ pwd = getpwnam(username ? username : ":");
0229名無しさん@お腹いっぱい。2011/03/15(火) 23:36:50.22
8.1だと問題なくsuできるが何が違うんだ?idでもちゃんと名前が出る。
/bin/sh, /bin/cshで確認。
0230名無しさん@お腹いっぱい。2011/03/16(水) 00:16:48.60
dropbearのsshdにログインした?
0231名無しさん@お腹いっぱい。2011/03/16(水) 00:20:01.41
/etc/rc.d/sshd stop
/usr/local/etc/rc.d/dropbear start
してからログインしたよ。
dropbearのプロセスが増えていったのも確認した。
0232名無しさん@お腹いっぱい。2011/03/16(水) 00:32:52.54
currentはutmpまわりの扱い変わったから、その影響かな。
w(1)では誰もログインしてねーや。
0233名無しさん@お腹いっぱい。2011/03/17(木) 03:45:36.32
>>228
NULLがfalseって保証がなかったりすることもあるから!= NULLであることを確認した方が良いよね。
0234名無しさん@お腹いっぱい。2011/03/17(木) 08:07:18.17
>>223
えっ?
0235名無しさん@お腹いっぱい。2011/03/17(木) 08:08:19.73
× >>223
>>233
えっ?
0236名無しさん@お腹いっぱい。2011/04/03(日) 04:57:59.07
currentってどこを見ると実装予定の新機能や今の開発方針とかがわかるの?
0237名無しさん@お腹いっぱい。2011/04/06(水) 15:01:52.05
今のcurrentでGNU binutils-2.17/GCC-4.2.2 とLLVM-2.9/clang-2.9だと
どっちがどのくらいいいかわかるベンチマーク結果とかどっかにありますか?
0238名無しさん@お腹いっぱい。2011/04/06(水) 16:12:39.52
svn2cvs 止まってる?
csup で r220346 以降が落とせなくてしょんぼり
0239名無しさん@お腹いっぱい。2011/04/06(水) 22:08:53.87
まだ直った形跡が無い…
mergemaster が面倒になるし鯖にいらん負荷かけるから Subversion でチェックアウトしたくないんだがなぁ
0240名無しさん@お腹いっぱい。2011/04/06(水) 22:10:55.26
解決策: いらん負荷かけたくない鯖でcurrentを使わない
0241名無しさん@お腹いっぱい。2011/04/06(水) 22:20:09.10
>>240
いや、 svn.freebsd.org の負荷の話
0242名無しさん@お腹いっぱい。2011/04/06(水) 22:31:12.99
うちでは、最初の一発めの負荷は許してもらうってことで、
数年前からこんなエントリーが crontab に
29 * * * * root /usr/local/bin/svnsync sync file:///home/SVN/freebsd/base >/dev/null 2>&1
0243名無しさん@お腹いっぱい。2011/04/06(水) 23:41:46.91
たまにsvnレポジトリのスナップショットをtarballにして配ってるじゃん。
あれを始点にすればいいんじゃないのかな。やったことないけど。
0244名無しさん@お腹いっぱい。2011/04/07(木) 00:02:05.81
え、鯖にガシガシ負荷を掛けてほしいからSubversionへ移行したんじゃないの?
cvsup-mirrorのミラー鯖はSubversionへ移行したころから更新されたファイルはすべて
チェックサムの不一致でファイル全体をダウンロードし直すという超負荷掛けまくり状態になってるよ?
0245名無しさん@お腹いっぱい。2011/04/07(木) 00:59:52.38
負荷が問題になってくるならそのうちsvn-mirror.jp.freebsd.orgとか出来るんじゃない
0246名無しさん@お腹いっぱい。2011/04/07(木) 01:41:24.64
できるころにはsvn2gitとかでgitに移行してそうな気がするけどな。
0247名無しさん@お腹いっぱい。2011/04/07(木) 11:04:59.43
今様子見たら直ってた
まあ、2度あることは3度あるもんだし、引き続き Subversion 使ったアップデートのあり方も考えとくとするよ

そういや、本家の wiki にこんな情報が
ttp://wiki.FreeBSD.org/SubversionPrimer
0248名無しさん@お腹いっぱい。2011/04/07(木) 11:28:55.69
svk は開発者がもうあんまりやる気ないぜ、って言っちゃってるからなあ。
自分は hgsubversion で hg に変換して使ってる。
0249名無しさん@お腹いっぱい。2011/04/09(土) 03:06:32.91
>>237
前者はCeleron 1.7GHzでやって、後者はCore i3 530でやってるが後者が速い
0250名無しさん@お腹いっぱい。2011/04/09(土) 04:12:41.38
うふふ
0251名無しさん@お腹いっぱい。2011/04/10(日) 11:21:02.81
>>247
ttp://twitter.com/clusteradm
ここによると、2度どころか結構ひんぱんに svn2cvs って止まってるっぽい
そろそろ git-svn あたりに切り替える潮時かなぁ、気が進まんけど
0252名無しさん@お腹いっぱい。2011/04/10(日) 11:43:50.46
いまなおしているところですからBY simon
0253名無しさん@お腹いっぱい。2011/04/11(月) 21:54:31.92
>>237
こんなの?
http://blog.vx.sk/archives/25-FreeBSD-Compiler-Benchmark-gcc-base-vs-gcc-ports-vs-clang.html
0254名無しさん@お腹いっぱい。2011/04/25(月) 05:24:50.74
Switch the GENERIC kernels for all architectures to the new CAM-based ATA stack.
http://lists.freebsd.org/pipermail/svn-src-head/2011-April/026801.html

ついに危険なアップデートキター

> If you are using ATA device names in /etc/fstab or other places,
> make sure to update them respectively
> (adX -> adaY, acdX -> cdY, afdX -> daY, astX -> saY,
> where 'Y's are the sequential numbers for each type in order of detection,
> unless configured otherwise with tunables, see cam(4)
> ).
>
Yを決める検知順がよくわからんが、惨事が起きそうw
使ってるのがSCSIなdaXなら関係ない話だよな。
0255名無しさん@お腹いっぱい。2011/04/25(月) 07:57:36.52
プリフィックスが変わるだけじゃなくて、ユニットナンバーも変わるから厄介だよね。
すでにadaに移行してるから高みの見物しよう。
0256名無しさん@お腹いっぱい。2011/04/25(月) 08:48:16.86
rootパーティションをzfs化してる人も大丈夫かな。
Port Multiplierを使いたいからCAM化したときに、案の定ユニットNo.の設定をしくじった
もんなぁ。インストールしたままリカバリ方法知らないって人は悲鳴がでそうな気がする。
0257名無しさん@お腹いっぱい。2011/04/25(月) 09:18:33.35
ラベルとかid使って指定してれば問題ない
0258名無しさん@お腹いっぱい。2011/04/25(月) 09:41:08.33
じゃ、ラベルとかid使って指定する手順書作ってやれよ。
0259名無しさん@お腹いっぱい。2011/04/25(月) 09:52:09.24
current使ってることを自覚させるにはいい機会。
手順書が必要になるような奴がcurrent使うなよw
0260名無しさん@お腹いっぱい。2011/04/25(月) 10:09:07.46
まあその手順書はいずれもうちょっと広い範囲で必要になる可能性もあるし
0261名無しさん@お腹いっぱい。2011/04/25(月) 10:31:50.93
glabel 使えばすっきり分かりやすいぜ!

glabel 最強!


って思ってたんだが dd if=/dev/da0 of=/dev/da1 とかで
本体を量産・微調整しようとするとハマるね…

zfsroot もそうだけど
0262名無しさん@お腹いっぱい。2011/04/25(月) 11:44:39.27
>>260
「9.0Rはクリーンインストール推奨」なんてことにはなりそう。
0263名無しさん@お腹いっぱい。2011/04/25(月) 11:51:45.03
>>261のような特殊なのは自己解決するとして>>257が手順書作れば
大部分は大丈夫だろう。
0264名無しさん@お腹いっぱい。2011/04/25(月) 17:27:04.24
えっ?
dd (dd_rescue でも cstream でも)で量産ってやらない?

もちろん一般向け手順書じゃーないとは思うけどさ
0265名無しさん@お腹いっぱい。2011/04/27(水) 03:30:47.64
>>254からちょっと安全になったようだ
http://lists.freebsd.org/pipermail/svn-src-head/2011-April/026903.html
> - see cam(4)).
> + see cam(4)). There will be symbolic links created in /dev/ to map
> + old adX devices to the respective adaY. They should provide basic
> + compatibility for file systems mounting in most cases, but they do
> + not support old user-level APIs and do not have respective providers
> + in GEOM. Consider using updated management tools with new device names.
> +
> + It is possible to load devices ahci, ata, siis and mvs as modules,
> + but option ATA_CAM should remain in kernel configuration to make ata
> + module work as CAM driver supporting legacy ATA controllers. Device ata
> + still can be used in modular fashion (atacore + ...). Modules atadisk
> + and atapi* are not used and won't affect operation in ATA_CAM mode.
0266名無しさん@お腹いっぱい。2011/04/27(水) 15:05:56.18
ATA_CAM の /dev/adX はあたかも古いドライバが動いてるようにはふるまってくれないぞってことっすね
0267名無しさん@お腹いっぱい。2011/05/08(日) 23:47:25.45
zfsでsuiddir使えないの?
0268名無しさん@お腹いっぱい。2011/05/13(金) 16:20:52.44
ZFS v31がくるまでPEFS使ってみようかと考えてるんだけどどんなもんだろうね
0269名無しさん@お腹いっぱい。2011/05/21(土) 10:45:02.75
かなりよい
0270名無しさん@お腹いっぱい。2011/05/21(土) 12:02:07.51
来たもんだ
0271名無しさん@お腹いっぱい。2011/05/21(土) 17:54:00.15
NetBSDとFreeBSDの二択ならどっちを選ぶ。
理由もつけてね。
0272名無しさん@お腹いっぱい。2011/05/21(土) 17:57:55.91
初心者なのでPC-BSDを選んでみる
0273名無しさん@お腹いっぱい。2011/05/21(土) 21:16:03.82
currentで冒険したいってことなら4.4
■ このスレッドは過去ログ倉庫に格納されています