パスワードを忘れた? アカウント作成
20144353 journal
日記

uratanの日記: FreeBSD 14.0-RELEASEと格闘開始 33

日記 by uratan

家庭内サーバーの刷新を目論み、出たばかりの14.0Rとの格闘を開始しました。
いっとう最初に入れた package は telnetd です、はい。もう標準ではないんだってさ。
そんな old man な私は i386/32bit が好みなんですが、boot message に
"WARNING: 32-bit kernels are deprecated and may be removed in FreeBSD 15.0."
なんて(2回も)出て来まして、……。(猶予がまだ4年あるということにしておこうか、でも"非推奨"かぁ…)
バージョン 4つ違いと 8年前の記憶の掘り起こしがなかなかヘビーですが、まあちまちまやりますわ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by jizou (5538) on 2023年12月11日 21時45分 (#4577617) 日記

    WSLもいまいち使いにくくて、生のLinux か FreeBSD で遊びたいと思ってるけど、
    なかなか手が出せなくて。
    古き良き環境は、FreeBSDのほうが楽しそう。

    • 最近の流行りか仮想マシンのイメージも用意されているようなので
      '生'とは微妙に異なりますが生活マシンの片隅で走らせておくのも
      それはそれで一興かも。
      FreeBSD 14.0-RELEASE [freebsd.org] virtual machine images may be downloaded from: ...

      #8.xR の頃実家に帰省する際には仮想マシンに入れたFreeBSD持って
      #帰ってたな、まあ使いはしないのだけど。(大学一年の夏休みの帰省に
      #教科書を宅配便で送ったけどダンボール開けもせず送り返したごとく)

      親コメント
  • by Anonymous Coward on 2023年11月24日 10時50分 (#4568899)

    UNIX互換OS初心者です。
    LinuxにするかFreeBSDにするか迷ってます。

    経験者でもFreeBSDは難しいですか?

    • FreeBSD使いですが、

      デスクトップで使うつもりなら止めておけ

      サーバで使う場合でもnpmでお手軽に、といったときに
      Linuxしか考慮されていない場合が結構ある

      一方得意分野もあって、個人的にわかる範囲だとZFS
      ZFSの機能を使ったiocageというjail(仮想化)がお手軽に作れてスナップショットも楽ちんで便利
      Dockerとの比較は知らん。

      昔はネットや各種媒体での情報はFreeBSD>個々のLinuxディストリ(当時だとRedHat, Slackware, Debian, Turbo)だったけど
      今ではUbuntu>>>Debian>FreeBSDくらいなのがなぁ。
      でも得意分野にあたると結構情報豊富

      親コメント
    • 他の方のコメントも参考にされて、好みと直感で
      「これに決めた!」で いいんじゃないでしょうか。

      「格闘」と書いたのは、バグや問題があったら
      自力でねじ伏せる つ も り で やっているからです。

      例えば ちょうど今、'setenv LC_CTYPE ja_JP.SJIS' な状態で 'printenv' すると
      tcsh が core 吐いて telnet 接続もろとも落ちる問題に直面中です。
      とりあえず "alias printenv 'printenv | cat'" しておくと (coreは吐くけど)
      telnet 接続は保持される(なんで?)ので当座はこれで誤魔化し、いずれ
      tcsh のソースを落として自分で debug するのでしょう、たぶん…。
       (UTF-8 には絶対行かないし bash に移行もしない!)

      あと UNIX互換OS遣いを目指すなら まずは vim を習得しておいて
      損はないです。Mac なら Terminal.app で vim 使えるはずだし、
      win機でも cmd.exe ベースで行けます。
       (私の vim環境構築方法等は こちら [aid.her.jp]に、古いけど)
      私は vim を使うために生きていて vim に生かされています。(古いけど)

      親コメント
      • by Anonymous Coward

        >tcsh が core 吐いて telnet 接続もろとも落ちる問題に直面中です。
        % file core
        を実行して、本当に core が tcsh 由来か見たほうが良いんじゃないかな、telnet のバグかもしれないし、端末の設定かもしれないし。

        • file名が tcsh.core なんで犯人は tcsh だと思われます。
          どうも tcsh が死んで、それは exit するのと同じなので
          telnet 接続が切れるのは至極当然なのですが、
          Tera Term のウィンドウが消えるので 情報もとれず
          とっちらかって「とんでもないことが起こった!」と
          パニクってたよう。(新しい環境は何もかも疑わしいから つい…)
          んで alias で パイプを使うと、(たぶん)サブシェルで実行されて
          死ぬのはサブシェルなので 親tcsh は生き残る、ような感触です。
          が、他が落ち着いたら色々よく見てみますね。

          # SAMBA の smbd が定期的に disk アクセスするようで
          # HDD が stand-by に行かないのが今の hottest topic!

          親コメント
          • <tcsh問題>
            /usr/src/tools/tools/locale/etc/final-maps/ の
            map.SJIS と map.eucJP で以下の違いがあり、
             |<YEN_SIGN> \x5c ⇔ <REVERSE_SOLIDUS> \x5c
             |<OVERLINE> \x7e ⇔ <TILDE> \x7e
            文字名を euc に倣った /usr/share/locale/ja_JP.SJIS/LC_CTYPE を作ったら
            落ちなくなりました。副次効果として、コマンドラインで '\' を打つと "\134"、
            '~' を打つと "\176" 表示となっていた問題と、prompt に cwd が '~' 表示
            されている際に コマンドラインの行編集でカーソルがずれる問題も解消。
            …本来は <YEN_SIGN> <OVERLINE> を正しく扱うように tcsh 側を直すべきだとは
             思います。 (ちなみにソースは /usr/src/contrib/tcsh/ にあったわ)

            <smbd問題>
            smbd は複数のデーモン間の通信に socket(/var/db/samba4/private/msg.sock/*) を
            使っており /var/db/samba4/ 以下を memory-disk に置き換えたら HDD が
            ちゃんと寝るようになった。(今ひとつ気に入らないが…)

            # smbd(v4.16.11)が死にまくるのと RealTek 用の re0 ドライバが
            # watchdog timeout しまくるのが 今の hottest topic!
            親コメント
            • <tcsh問題>
              tcsh は NLSの isprint() 等の返す値に そのまま従っているだけ
              っぽい感触、話がシステムサイドに広がりそう。
               (SJIS の '\','~' が print不可文字ってなるんだけど…)
              printenv で落ちる訳はまだ (/usr/src/... にソースはあったけど
              (個別の) Makefile がなくて make の仕方がわからない)

              <re0ドライバ問題>
              RealTek社 御謹製の FreeBSD 用 re0ドライバってのが見つかって
              無理やり差し替えてみたら調子良さげ

              <smbd死亡問題>
              samba416-4.16.11.pkg から samba413-4.13.17_6.pkg に
              乗り換えてみたけど 死ぬのは同じよう、ただここまで
              ファイルコピー失敗/ファイル破損には一切なっていない。
               (Explorer から プロパティを取って ファイルカウント
                してる時に死ぬと誤報告になるよう)

              # 22個 計 330GB のテストファイル群を rm * するだけなのに
              # 90秒もかかるとか、現行 10.2R サーバーに比べて disk
              # アクセスが 1.5倍ぐらい遅いのが 今の hottest topic!

              親コメント
              • <tcsh問題>
                bugzillaにProblem Report [freebsd.org]投げたら反応があった。

                <smbd死亡問題>
                なんか書き込みは上位レイヤーでリトライしてエラーにならないけど、
                読み込みはあっさりエラーになるような感触、どうしたものか…

                そしてええかげんスラドのトップから消えて欲しいんだけど この日記…
                (ええ格好しい ちょっと疲れました)

                # rm * 90秒がまだ手付かずで hottest topic!

                親コメント
              • <rm * 90秒問題>
                22ファイル 330GB の rm * が 90秒かかる問題は、UFS filesystem の
                soft update オプションの入れ忘れで、tunefs で ON にしたら
                瞬速・同等になった…。

                現行 10.2R サーバーに比べて disk アクセスが 1.5倍ぐらい遅いような
                気がする問題は、使っている disk の回転数が 7200vs5400 と違うので
                そのせいだけっぽい。

                # smbd死亡問題が片付けばシステム側は一息つくんだが…
                # あと 作業メモ.txtが 手元win/現サーバー/評価win
                # /14.0Rマシンに、さらに あちこちの dir に
                # 散らかっちゃてるのが地味に結構問題

                親コメント
              • <smbd死亡問題>
                なんか smbd には、vfs objects = cap の時に
                (タイミングによって) dir 読み出しに失敗して
                死亡するバグが samba3 の頃から潜在的にある、
                ような感触。
                    (現サーバーの samba36も、8年間で 75回死んでた)
                ただ Explorer でのファイルコピーでは、src/dst
                どっち方向でも Explorer が きっちりリトライするので
                顕在化しない(ファイルロストしない)、
                ような感触。
                ただ Explorer での「プロパティ」表示では (なぜか)
                リトライが入ってなくて、失敗した分が算入されず
                総ファイル数・総容量が目減りして報告される、
                ような感触。 (これちょっと心当たりある)

                14.0R で発生頻度がうんと上がったところを
                リトライなんてしない UnxUtils diff.exe が
                顕在化してくれてるよう。

                親コメント
              • <smbd死亡問題>
                (上で「dir 読み出しに失敗して」と書いたけど、正確には
                 「dir 読み出し処理でトチ狂って」です、disk から読めない
                 わけではないはずなので)
                で、
                cmd.exe から xcopy.exe でのコピー(sambaから読み出し)では
                エラー中断するケースとリトライして満了するケースがあった。
                diff.exe でも「なんかヘン」と「そんなファイルないよ」と
                エラーが 2種類あったので それで対応が違うものと思われ。

                ここまで unix charset / dos charset = cp932 でやってたので、
                ascii にして vfs objects = cap ありなしの比較をしてみたところ、
                xxx charset = ascii でも vfs objects = cap ありだと死亡する。

                ディレクトリスキャンのような(ファイルの中身にアクセス
                しないので)dir読み出し要求が高速に繰り返されるケースに
                特に弱い、ような感触。
                 (コピー開始直後の「準備しています」ではよく死ぬけど
                  コピー(読み出し)が始まると死なないとか)
                また面白いのは、explorer で問題ディスク上をマウスポインタで
                hover させるだけで死ぬこと。
                (たぶんヒント表示のためディレクトリスキャンするからと思われ)

                親コメント
              • <smbd死亡問題>
                とりあえずProblem Report [freebsd.org]書いたけれど誰も構ってくれなさそうな感じ。
                portsで自分用smbd作ってdebug-printfで追いかけてみてるけど…まあわからんわからん。
                (条件と被害は限られるみたいだしバグ入り10.2Rを8年使ってきたのだから目を瞑るか…)

                親コメント
              • <smbd死亡問題>
                なんとか回避策に たどり着いた [freebsd.org]けど…
                 (山手線を東京から秋葉原まで時計回りで行った気分)

                # cap_readdir() で d_name[256] があるのに無視して newnamelen
                # まるまる余計にメモリ確保したり d_name[] に 2回 memcpy()したり
                # d_namlen は古い名前のままだったり、capdecode() は ':' があると
                # 問答無用でポインタ+=3してたり CAP 周り結構粗いヨ…

                親コメント
              • <smbd死亡問題>
                とりあえず反映される方向に行った [freebsd.org]みたい…。(i386限定で)

                # pnmscale がもう廃止されてて、ソースから作っても
                # 同じ画像バイナリにならないのが今の hottest topic!
                # -O2 有り無しで浮動少数加減算結果が変わるってなんかヘンだよね?

                  - * - * -

                さて、そんな戦う(時もある)アラ還ロートルな私も実はここしばらく
                Free でして、どなたか仕事をさせてくれる人は居ませんか?
                 (ワケ有りアリアリ かつ 注文も多いですけど)
                to山KEN富yam市内に居ます、通いを希望だけど車ありません、
                最寄り駅は桜橋。連絡先は私の"ホームページ [aid.her.jp]"の一番下に、
                私の素性も そこで感じ取ってもらえると助かります…。

                親コメント
              • 14.0R amd64 を試してみてるけど watchdog timeout も一切無く
                smbd もなぁ~んの問題もなく動きますねぇ…。
                 (そういう問題だったのか… orz)

                cc -m32 で 32bitソースもそのまま compile できて
                (32bitバイナリにはなるけど そのまま)動くし
                こりゃ考え直すべきなのかなぁ…。

                親コメント
              • <smbd死亡問題>
                読み出し側で segmentation fault してるのだろうとの見解が…。
                struct dirent の d_name[]は 型としては最大255文字の領域を持つ/持てるが、
                実使用においては名前の文字分しか確保されないため、
                memcpy() でコピー長を無暗に sizeof(struct dirent)すると
                readdir()が確保した以上の領域を読み出す場合があると…。
                というところで Samba Team に報告されました [samba.org]。

                <pnmscale画像バイナリ違い問題>
                -O2 の pnmscale を objdump してアセンブラコードを眺め中…。
                今 "intel表記とatt表記でsrc/dst記述順が逆になるのね" な所。

                親コメント
              • <pnmscale画像バイナリ違い問題>
                コンパイラが最適化の過程で float指定の変数を勝手に double扱い
                している(しかも関数を展開した結果 関数をまたいでまで)ことがわかり、
                コンパイラの扱いに合わせて float→double を明示的に指定して様子見中。
                今たたき台の画像で画素値 1違いが2000ドット(180万ドット中)ほど残ってる状態…。
                (最適化ありで有効数字勝手に増やしていいのか? は…)

                  - * - * -

                というところで、スラド閉じるそうで、みなさんお元気で~。

                親コメント
      • by Anonymous Coward
        「格闘」頑張ってください! あとVim遣いを目指したらいいとのアドバイスありがとうございます。
      • by Anonymous Coward

        イマドキ vim なんてサーバの上で config を直接いじるときに使わざるを得ないもの。じゃないですかねぇ。
        VSCode が便利に使えるし。インフラエンジニアとしてだったら覚えててもいいかなという程度では。
        VSCodeは vim キーバインドにして使っているオジサンです。

    • by Anonymous Coward

      > 経験者でもFreeBSDは難しいですか?
      FreeBSDだと、Linuxほどモダンにはなっていないので、昔ながらの(BSD系)Unix との親和性は高いかと思います。
      但し情報量がだいぶ減ったので、色々な情報を得るのに苦労するかもしれません。
      SVR4系UNIXだと、FreeBSD との乖離は大きいので、思いきってLinuxに行っちゃうのも手かも。

    • by Anonymous Coward

      初心者はWindows使っときゃいいんだよ(ニッコリ
      CygwinとかMSYS2入れて頑張ればいい

      たとえばCygwin入れるとするだろ
      するとその遅さにげんなりする
      なぜならlibcに相当するのがcygwin*.dllだから
      CygwinはWindows上でUnixソフトウェアをそのまま構築することに重点を置いてデザインされているから、基本MSYSより安定してるが速度など二の次なわけだ
      遅いのはしゃーない

      だからMSYS2入れる
      MSYS2はWindows APIネイティブで構築することに重点を置いてデザインされているから速度的にはMSYS2の圧勝
      しかし初心者はそこからハマる
      なぜならばlibc相当品にいにしえのMSVCRT*.DLLを使うか、

      • by Anonymous Coward

        あいつ…

      • by Anonymous Coward
        鉄の掟の人が実在するとは! でも勉強になりました。ありがとうございます。
      • by Anonymous Coward

        CygwinとかMSYS2

        そんなもん今更使うなよ。
        素直にWSL使え。
        Windows上で楽に各種Linux環境が使える。

        • by Anonymous Coward

          WSLとWindowsTerminalとGoogle日本語入力の組み合わせにイライラする羽目になり、Git for Windows(MSYS2サブセット)とwsltty(Cygwinサブセット)の混在にイライラする羽目になり、純MSYS2にwslbridge2を入れてminttyからWSLを使っている。

  • by Anonymous Coward on 2023年12月13日 19時42分 (#4578905)

    FreeBSDはZFS倉庫として利用しています。
    OpenBSDは業務用途として利用しています。

    ただ、UbuntuやDebianと比較すると
    よわよわざぁこ❤️

    なので、GPUやnpmを利用する環境では
    FreeBSDやOpenBSDは使っていません

    まぁ、OpenBSDからリモート接続してくらいなので
    OpenBSDはおすすめです^^

  • by Anonymous Coward on 2023年12月13日 19時48分 (#4578908)

    タイトルのとおり
    皆さん諦めてFreeBSD 15を使ってください。

typodupeerror

物事のやり方は一つではない -- Perlな人

読み込み中...