FreeBSD current 思えば遠くへ来たもんだ
■ このスレッドは過去ログ倉庫に格納されています
思えば遠くへ来たもんだ ふるさと離れて16年目 思えば遠くへ来たもんだ この先どこまで行くのやら >> Shut up and code!!! 前スレは>>2-5 あたり >>148 ディスクがちゃんとphysical 4096 bytes/sectorと返してくれれば ちゃんとそのように扱えますが、 EARSが嘘つきなので未検証、というところでうやむやです。 WD15EARS-00Z5B1は4096を返すらしいので、小石を投げ込んでみれば動き出すでしょう。 http://docs.FreeBSD.org/cgi/mid.cgi?4B349ABF.2070800 http://undeadly.org/cgi?action=article&sid=20100417195756 zpool upgradeして、zfsboot更新するの忘れた。 http://docs.FreeBSD.org/cgi/mid.cgi?20100910150438.GA64519 Subject: LSI 6Gb SAS driver committed From: "Kenneth D. Merry" <ken@freebsd.org> Date: Fri, 10 Sep 2010 09:04:38 -0600 対応カードはLSISAS2004/2008/2108/2116/2208。 (mps_pci.c::mps_identifiers[]) ものすごくCURRENTっぽいコードのようです。 libusbの更新の影響でコンパイル通らなくなった。 最低i386とamd64でコンパイル通る事確認してからコミットしやがれ。 自分で修正したのを憶えとかなきゃなんないから面倒くせーんだよ。 netdump はやく使えるようになるといいなあ。 いつものことながら rwatson のつっこみがするどすぎてメゲないといいけど。 けどつっこみの内容は正しいからなあ。いつものことながら。 うっはっは、久しぶりに current 生活にうつってみれば、 multiuser modeに移れない (運良くログインまで進んでもすぐに時計が噴詰まる) single user modeのままで各種デーモン動かして何とか動く状態にするも そんな状態で world + kernel を再構築すると今度はネットワーク接続で panic。 なんかおれ、ワクワクしてきた |||orz ちなみに7年落ちwinXPマシンホストなVMware player 3.1.2 上の話。 それVMWare Playerのダメ出ししているだけだから おおすげえ、と思ったらフレームの巻き戻し実装がないのかよw いちばんやっかいな部分があとまわしか 大体の内容は先月のテスト呼びかけ↓ Tested wanted: BSD-licensed libgcc replacement, libcompiler_rt http://lists.freebsd.org/pipermail/freebsd-current/2010-October/020676.html の通りみたいだ。 最近(といっても2,3年)コンパイルエラーや全然動かなくなるの、めっきり減ったな。 小耳に挟んだ程度で申し訳ないが、 200余のカーネルパッチでLinuxが随分高速化するらしいんだが、 FreeBSDはなんかめぼしい高速化の話とかはあったりするんだろうか。 高速化以外でもいいけど。 # uname -v FreeBSD 9.0-CURRENT #0: Thu Nov 18 19:39:31 JST 2010 root@localhost:/usr/obj/usr/src/sys/GENERIC # clang -v FreeBSD clang version 2.8 (tags/RELEASE_28 115870) 20101007 Target: x86_64-undermydesk-freebsd9.0 Thread model: posix # ふむ 日頃current使ってる人ってどういう環境で使ってるの? マルチブート? 仮想環境? currentオンリー? 複数あるマシンのうちの一つをcurrentにする 仮想環境はどうなんだろう? >>163 あのLinuxのパッチは、 既にタスク(スレッド)のグループ単位でスケジュールするスケジューラがあった。 どうグルーピングするかはスケジューラ関連サブシステムの作り方次第。 という下敷があるもとで、 端末単位でスレッドをグルーピングすることで、make -j64とか実行してるのは ひとまとめでスケジュールされることになり、他の端末のスレッドには影響を 与えにくくなる。 っていうもの。要はデスクトップ向けにかなり特化したチューニング。 端末単位でまとめるってのが肝なんだけど、そんなことでいいのか?ってことで Linuxの人達の中でも賛否両論がある。 バックグラウンド作業の影響で端末操作が遮られたりレスポンスが悪くなると 作業効率や正確性が極端に悪くなるから、それが防止できればかなりうれしい ってことか。 >>165 会社、自宅、併せて5台管理してるけど、 もう10年以上はcurrentオンリー。 逆にリリース主体で使おうと思うと、バージョンアップを 迫られた時に変更点を考慮しなきゃならない事が多くて 煩わしい。 自分はstableを適当なタイミングで更新してるんだけど currentに切り替えてみようかなあ。とりあえずはマルチブートで…… ZFS だと snapshot 機能でbuildworld の前の状態を保存しておけば 以前に比べると割と気楽に追っ掛けられるかもね >>173 OpenSolarisのBEの機能まで持ってきて欲しいなぁと思うけど 標準のブートローダがgrubじゃないからなぁ… みなさんcurrentにして バリバリソースに目通したりしてるの? それか最新の情報を追うため程度なのかな ⊂⌒ヽ (⌒⊃ \ \ /⌒ヽ / / ⊂二二二( ^ω^)ニニ二⊃ \ \_∩_/ / ( (::)(::) ) ヽ_,*、_ノ ボンバヘッ!!!今日もcurrent /// /// currentを使っておきながらACPIを使う場合はdevice acpiと書くことになったことに 今の今まで気づいてなかった自分は死んだ方がいい 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. r216695とr216728の間のrtldを使ってるとfirefoxでflashの一部が表示されない。 一部のってのがミソで大半は動くんだ、蛙男商会とかの派手なやつも。 動かないのは楽天のトップのflash bannerとか。 いやあ、遠回りしたわ。 >>180 明示的にブロック解放を通知してくれるとVMMもうれしい気がする ATAは対応するコマンドあるようだけど、SCSIにはないのかな buildworld + buildkernel でだいたい36 〜 40 分ぐらい Beastieのことなんかぜんぜん好きじゃないんだからねっ!! Sun Fire v120 (UltraSparcIIe 648MHz )だと12 〜13時間ぐらい BSDinstall試してみた人いる? インストール慣れてればsysinstallより使い勝手よさそうだし、jail環境やら ディスクイメージにインストールできたりするそうでなかなかよさげなんだけど。 そういえば, ここ数年, sysinstall触った記憶がないな… ZFS on GPTにするつもりだと、インストールメディアで起動してもfixitへ直行だしな…… Capsicumキタ━━━━━━(゚∀゚)━━━━━━ !!!!! src.confにWITH_ICONV=yesしてmake worldした。 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 current使いなら自分で解決しろOR調べろっていわれるのがオチ 検索は予想通りヒットせず、解析が困難だから一応聞いてみたのだ。 suはsetuidなプログラムだから、core出来ない、gdbできない、trussは動作が異なる。 Currentは初心者にはお勧めできないから追い出されたわけじゃないな >195 kern.sugid_coredump=1 すれば core は出るよ。 env に差はないの? ppid, pgidは? fdはどうなってる? 結局forkされるわけだからそのあたり重点的に調べればなにかわかるかもねー >>197 やってみたけど、ulimitのコアサイズが0になっている所為かcoreができない。 特権が無いからunlimitedにできない。 でも、OpenSSHからログインしたシェルでコアサイズを0にしてもセグメントフォ ルトは発生しない。 >>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以外)同一。 suが入力待ちにでもなってくれればgdbでアタッチできるんだけど、 即終了しちゃうからなあ。 coreサイズ制限しないようにdropbearなおしてみよう。 原因判明。setlogin(2)してないセッションだとgetlogin(2)がNULLを返し NULLを返されると思っていないsuがセグメントフォルトを起こす。suのバグ。 ・OpenSSHでログインしたセッション: $ id -p uid x groups users wheel ・dropbearでログインしたセッション: $ id -p id: getlogin: Unknown error: 0 訂正 × NULLを返されると思っていないsu ○ NULLを返された時の処理が間抜けなsu パッチ --- /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 そんなこといって、実のところはsend-prするとにちゃんねらーなのがばれるのが 嫌なだけなんだろ? > id: getlogin: Unknown error: 0 これもバグだな。正しくerrno返してない。 getloginはerrnoセットしないんじゃない? >>205 って何が変わったの?と思ったが、usernameのNULLチェックが先に来るからってことか。 分かりにくいw 条件の多い if 文の中で副作用のある式を書くのは良くないな >>215 別にそれ自体は問題ないだろ。 ただし、>>205 はpwdがセットされないケースがあるのに、 それを参照してる点でダメ。 >>216 いや、NULLならショートカットで問題ないでしょ。 元のコードを見ずに書くけど、getpwnam(username)の前でpwdにNULLが入ってるなら if (username == NULL) pwd = getpwnam(username); if (pwd == NULL || pwd->pw_uid != ruid) pwd = getpwuid(ruid); の方が見やすくない? というか、変数の宣言だけして初期化もせずいきなり比較するようなコードが結構あって泣いたw >>216 のような初心者には理解しにくいコードだからダメと言いたいのだろうか? 申し開きがあるなら聞いてやろう。w >>218 > getpwnam(username)の前でpwdにNULLが入ってるなら 入ってないからダメ。 215, 217を書いたのは自分だけど、実際勘違いを生じさせてるコードは保守性の面から 良いコードとは言えないぜ。 あ、>>216 がわなびーちゃんだって言いたいだけならべつにいいんだけどw 自分もそう思うしさwww usernameがNULLになったらpwdは未初期化で最後のifがどうなるかわかんないだろ? それともcurrentだと初期化してるの? それとも>>205 だと問題なく動くのに俺が読み間違えてるの? >>223 うん、お前がヘッポコなだけ。>>205 で問題なく動く。 usernameがNULLならusername == NULLでifが成立する(それ以降は評価しない)から pwd = getpwuid(ruid);が実行される。 お前、罰ゲームでsend-prな。 罰ゲームちゃんとやるから、current以外でも落ちるかどうか検証求む >>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); 最小な変更 - pwd = getpwnam(username); + pwd = getpwnam(username ? username : ":"); 8.1だと問題なくsuできるが何が違うんだ?idでもちゃんと名前が出る。 /bin/sh, /bin/cshで確認。 /etc/rc.d/sshd stop /usr/local/etc/rc.d/dropbear start してからログインしたよ。 dropbearのプロセスが増えていったのも確認した。 currentはutmpまわりの扱い変わったから、その影響かな。 w(1)では誰もログインしてねーや。 >>228 NULLがfalseって保証がなかったりすることもあるから!= NULLであることを確認した方が良いよね。 currentってどこを見ると実装予定の新機能や今の開発方針とかがわかるの? 今のcurrentでGNU binutils-2.17/GCC-4.2.2 とLLVM-2.9/clang-2.9だと どっちがどのくらいいいかわかるベンチマーク結果とかどっかにありますか? svn2cvs 止まってる? csup で r220346 以降が落とせなくてしょんぼり まだ直った形跡が無い… mergemaster が面倒になるし鯖にいらん負荷かけるから Subversion でチェックアウトしたくないんだがなぁ 解決策: いらん負荷かけたくない鯖でcurrentを使わない >>240 いや、 svn.freebsd.org の負荷の話 うちでは、最初の一発めの負荷は許してもらうってことで、 数年前からこんなエントリーが crontab に 29 * * * * root /usr/local/bin/svnsync sync file:///home/SVN/freebsd/base >/dev/null 2>&1 たまにsvnレポジトリのスナップショットをtarballにして配ってるじゃん。 あれを始点にすればいいんじゃないのかな。やったことないけど。 え、鯖にガシガシ負荷を掛けてほしいからSubversionへ移行したんじゃないの? cvsup-mirrorのミラー鯖はSubversionへ移行したころから更新されたファイルはすべて チェックサムの不一致でファイル全体をダウンロードし直すという超負荷掛けまくり状態になってるよ? 負荷が問題になってくるならそのうちsvn-mirror.jp.freebsd.orgとか出来るんじゃない できるころにはsvn2gitとかでgitに移行してそうな気がするけどな。 今様子見たら直ってた まあ、2度あることは3度あるもんだし、引き続き Subversion 使ったアップデートのあり方も考えとくとするよ そういや、本家の wiki にこんな情報が ttp://wiki.FreeBSD.org/SubversionPrimer svk は開発者がもうあんまりやる気ないぜ、って言っちゃってるからなあ。 自分は hgsubversion で hg に変換して使ってる。 ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる