初心者もOK! FreeBSD質問スレッド その123
■ このスレッドは過去ログ倉庫に格納されています
FreeBSD 関連の質問はここでどうぞ. 望んでいる回答が来なくても怒らないでね. 事前にハンドブック閲覧や過去ログ検索等の自助努力をすることが望ましいです. 分からなければ仕方がないので, 初心者でもとりあえず質問してみて下さい. トラブルの場合, 再現性情報(ハードウェア・ソフトウェア・エラーメッセージ)の記載は必須. sysutils/sysinfo あたりがおすすめ 名前欄に !id:on でIDが出ます IDが無いと誰が誰だか分からないので必要に応じてIDを表示させて下さい The FreeBSD Project http://www.freebsd.org/ja/ FreeBSD ハンドブック http://www.freebsd.org/doc/ja/books/handbook/ 前スレ 初心者もOK! FreeBSD質問スレッド その122 https://mevius.5ch.net/test/read.cgi/unix/1486758875/l50 よくわかんないけど、実機がx86で組込みシステムが非x86で、 それぞれOSがどうなってて、メモリがどれだけ種類があって、 どんな言語で開発して、結局どのコードがデバッグ対象なのか、 みたいなところがわけわからなくなったので、ついていってない。 よくわかんないけど、QEMUでエミュレートする環境を作るんだろうか。 でも例外バリバリとかできるかどうかもよく知らない。 わかりにくくてすみません デバッグ用のマシンはAMD64を予定でOSは未定、デバッグ対象である組み込みシステムは非x86でOSなし 言語はRust/C/アセンブラあたりになりそう デバッグ対象は組み込み向けとして下位4GB内で走るx86コード。この部分をx86としている理由は実機とビット長を あわせた方がソースコードレベルの互換性が高まると考えたためです あくまで簡易デバッグでありソースコードレベルで期待した動作をしているか確認することが目的で、機械語レベルの デバッグは実機でやります 実行空間はOSがアプリケーション向けとして提供してくれる仮想メモリ空間を使えないかなと あとデバッグしたいコードは組み込みシステムで使用するコードのうちマルチメディアデータを扱う部分考えています GUI周りと画像や音声データなどを扱うコードです 実機だと大容量のデータを流し込んでその結果をキャプチャしたりするのは純正のデバッグシステムがあっても容易じゃないので PCでやった方が楽なんじゃないかと考えました その簡易でバッグっていう余分なステップを踏む必要はあるのかなあ。 それによって何を期待できるの? 実機とはコードが違うのに多用する例外まで確認できるようなものなの? リアルタイムでないとデバッグできない部分以外の処理はソースコードレベルで意図した動作をする状態にしたいです 全部一気に書いて関連するデータも用意してほぼ一発で動かすとか自分ではほぼ無理・・・ 処理単位に分けて実装、デバッグしてある程度完成度を高めてから合わせないと出来上がる気がしないです かといってPCみたいにハードウェアが高度に抽象化されているわけではないのでI/Oレジスタへのアクセスもあるていど シミュレーションできるとより好ましいです 例外というのはたとえば組み込みシステムのI/Oがマッピングされているアドレスを未割り当てにした状態で そこへアクセスするとメモリアクセス違反例外が発生しますよね。これをトラップして適切に処理し復帰させると デバッグ対象のコードからするとあたかもI/Oレジスタがマッピングされているように見せかけることができそうだと考えました この部分は自分がそう思いついただけでよりスマートな方法があるのかもしれませんが FreeBSD-11.2-R の環境に、USB-LANを2つ付けています。 普段は、USB-LAN(1)が ue0、USB-LAN(2)が ue1 となるのですが、 希に、ue0 と ue1 が逆になってしまうことがあります。 固定することは可能でしょうか? 何をした時に逆になるの?ソレをしなければよさそうなものだが ifconfig name を実行してお好みの名前をつけるように devd.conf に書けばできるんでは。 同じデバイスだと識別できなかったような気が…できるのかな >>129 devd.conf の条件だけで完全に特定する必要はないよ。 ともかくコマンドが実行されるようにできれば、 それをシェルスクリプトにして、渡されたデバイスのMACアドレスをみてつける名前を決めるとかすればいい。 初心者向けのサイトとか本があればおしえて欲しい 解像度が高すぎて文字がみえないんだけどどこから設定できますか ハンドブック英語版が初心者にも優しく詳しさも随一。 あと、ここにはエスパーはいないので、初心者もOKだけど質問は限りなく詳細に。 多分UEFI起動でvtコンソールだよね? フォントが /usr/share/vt/fonts にあるから例えば vidcontrol -f /usr/share/vt/fonts/gallant とかするとそのフォントが使われます。 gallant より terminus-b32 か vgarom-16x32 の方が大きかった。 ありがとうございます コマンドをいれたらできました vidcontrol -i mode で出てきた数字をvidcontrolに渡せば解像度を変えられるはず UEFIなvtだとそれやっても何も出てこなくない? +-------------------+ +---------------+ | Windows 10 | | FreeBSD 11.2| | +--------------+ | | | | |VirtualBox | | | | | |FreeBSD 11.2| | ppp | | ---+-|em0 em1|-+-----+ pppd | | | pppoed | | | | | +--------------+ | | | +-------------------+ +----------------+ VirtualBoxのFreeBSDでpppoedを起動すると # /etc/rc.d/pppoed start Starting pppoed .:pppoe-829: Cannot LISTEN on netgraph node: File exists で起動に失敗しますが、失敗の原因がさっぱり分かりません。 そもそも上記のような構成は構築可能でしょうか? >>146 ↓こゆこと? FreeBSD11.2R i386 を運用中ですが、amd64 へ切り替えるにはクリーンインストールするしかないですか? freebsd-update のようにバイナリだけ差し替える方法はないものでしょうか? >>147 ありがとうございます。正にその図の通りです。 PPP接続試験環境を構築したいんです。 図左のPCにFreeBSD 10.4 UEFI版をインストールしWindows10と マルチブート環境を構築しようとしたのですが、インストール後、 FreeBSDを起動する方法が分からず、VirtualBoxで接続試験環境を構築できないかな? と考えた次第です >>146 自己レスです。起動失敗の原因は既にpppoedが起動していたからでした。 /etc/rc.d/pppoed stop で、プロセスが停止しないことが原因でした。 しかしVirtualBox上での接続はまだ実現していません。 >>150 em0の線の先にはdhcpサーバ機能付きのインターネットルータがあるんよね? それでもし 「ルータのローカル側の接続口がひとつしかなくて、 幸いwin10プリインストール機にはlanアダプタが2個あるので それをつかってFreeBSD機とwin機を(ハブを買い足すことなく)常時接続したい」 というのであれば、vitrualboxとpppはやめて win機をブリッジ動作させればいいのではと思うんだけど >>152 >『PPP接続試験環境を構築したいんです。』 ちなみにem0の先は、 OCN ---(ppp)--- FreeBSD 8.3 --- em0 この古すぎる FreeBSD 8.3 の交代機の試験環境構築が目的です。 vitrualboxは、疑似OCN。 やはりそうですかね。 10.4Rから11.2R に上げたタイミングでPhantomjsがx86だけ動かなくなったので、amd64に上げるか迷っているのですが、もう暫く様子を見てみます。 >>153 あぁppp使用ありきでしたか 自分はpppは経験ないのでここから先は他の人に任せたいですが virtualboxのホスト=win、ゲスト=FreeBSDでルーター構築は何回かやったので2点だけ ・virtualboxのゲスト別設定→ネットワーク→アダプター→高度→プロミスキャス を一時[すべて許可]に変更 ・winホストのセキュリティーソフトのファイアウォールが動いてるなら一時off へのレス がヘルスに見えてしまった、膿んでいるのか 多少不安定でもいいので最新のGNOMEが使えるFreeBSDエディションってありませんかね。 今ある3.28じゃなく3.31を使いたいってこと? 自分でコンパイルすればいいんじゃなかろうか。 あとbugzillaに投げれば完璧。 >>160 そうです。 バグ報告ができるほどスキル高くないんで そういうエディションがないならあきらめます。 FreeBSDのGNOMEフレーバーとか誰か作ってくれないかなぁ(他力本願) 1FD(くらいに収まる)FreeBSDって今のバージョンで作れないん? 超昔はpicobsdあったけど、その後出てきたnanobsdはiso前提。 今もnanobsdあるか、あったとしてビルドできるかは知らない。 ports見てみて。 portsじゃなくて、ベースシステムにあるな man picobsdとman nanobsd 最近、firefox起動中に、forefox hogeとやってもhogeを開いてくれなくなったのですが、 俺環の問題でしょうか? 症状としては、firefox起動中にfirefoxを起動すると、30秒くらい黙った後に JavaScript error: jar:file:///usr/local/lib/firefox/omni.ja!/components/XULStore.js, line 60: Error: Can't find profile directory. とstderrに出て、ダイアログウィンドウで Firefox is already running, but is not responding. To open a new window, you must first close the existing Firefox process, or restart your system. と表示されて、OKするとstatus 0で終了します。 元のfirefoxはそのまま動いています。 環境は11.2-RELEASE-p4です。 プロファイルを全削除しても同じです。 firefoxとfirefoxが依存しているpkgを強制再インストールしてみましたが同様です。 最近のFreeBSDをMBRディスクにマルチブートでインストールするときの条件や手順ってどこかにありませんか? ググってもGPTディスクだったり古いバージョンだったりして参考にならないです とりあえずやったこと Win7、Win8.1が入っているディスクにFreeBSD11.2-R i386をインストール→再起動 起動しない→ググる。最近のはboot0を書き込まないらしいとの情報を見つける fdisk -B -b /boot/boot0 /dev/ada0 でboot0を書き込む→FreeBSDを選択しても#が出るだけで起動しない Win95 の頃と同じように mbm で Win10 とデュアルブートできているが Windowsのブートメニューをmsconfigで編集するとFreeBSDパーティションのブートローダに処理を渡せるんじゃなかったっけ 記憶がめちゃくちゃ怪しいけど >>169 ,170 ありがとう。とりあえず起動までこぎ着けた 誤って libexec/ld-elf.so.1 を移動してしまい、FreeBSDがloginすら出来なくなってしまいました。 LiveCDを作成し起動したLiveCDからアクセスしようと zpool import -f -o altroot=/mnt zroot と入力しましたが、failed to create mountpoint と出てマウントできません。 LiveCDからzfsをマウントするにはどのようにすればいいでしょうか? 教えて下さい。よろしくお願い致します。 >>173 「-o altroot=/mnt」のかわりに「-R /mnt」を使ってもだめ? だめなら「zpool import failed to create mountpoint」でぐぐって試した方が早いかもな >>174 -R /mnt でも同じでした。 代わりに、 mkdir /tmp/mnt zpool import -R /tmp/mnt としたらマウントは出来ましたが、 /tmp/mnt/zroot 以下が空です。 他にマウントされた、 /tmp/mnt/tmp /tmp/mnt/usr /tmp/mnt/var は中身が見えますが、肝心の /tmp/mnt/zroot だけが見えない状況です。 >>175 自己解決しました。 zfs umount zroot/ROOT/default と手動でマウントすることで見えるようになりました。 ありがとうございました。 FreeBSDでDockerを使ってみたいのですがこのサイトを参考にしても構わないでしょうか? https://wiki.freebsd.org/Docker?action=refresh tail -F でファイルを監視して書き込まれたものをwhile read line で取り出してるシェルスクリプトを daemon でデーモン化して有るんだけど daemon を止めるとシェルスクリプト自体は停止できるんだけど、 tailコマンドが実行されたまま残る ファイルに何か書き出されるとpipeが壊れてるので止まるって状況なんだけど shを止められたら、そこから起動しているコマンドも一緒に殺す方法無いですか? プロセスグループ殺したいけど、 Linuxみたいに /bin/kill -- でプロセスグループ殺せるわけでも無く… >>180 bash 前提だけど↓じゃだめ? trap 'kill $(jobs -p)' EXIT プロセスグループとしてマイナスにしていないからとか? $ kill -- -PGID あるいは実はプロセスグループに含まれていないとか FreeBSD 11.2-RELEASE-p4 10.2からfreebsd-updateでバージョンアップしました。 # pkg version すると wget-1.19.5 < と表示されますが pkg upgrade をしても Your packages are up to date. と出てupgradeされません。 pkg update -F しても一緒。 http://pkg.freebsd.org/freebsd:11:x86:64/latest/All/ を見ると wget-1.19.5_1.txz があるので 1.19.5 が最新版ぽいのですが、そうするとなんで # pkg version したときに "<" になるんでしょうか・・・ インデックス的には配信済みだけど肝心のパッケージがまだ配信されてないとかではないでしょうか パッケージ自体を直接持ってきてインストールしてもダメでしょうか wget-1.19.5 < needs updating (index has 1.19.5_1) pkg upgrade wget Installed packages to be UPGRADED: wget: 1.19.5 -> 1.19.5_1 # wget http://pkg.freebsd.org/freebsd:11:x86:64/latest/All/wget-1.19.5_1.txz # pkg install ./wget-1.19.5_1.txz # pkg version wget-1.19.5_1 = で最新になりました・・・でも pkg version で "<" になっているパッケージが他にも有ります。 インデックス (http://pkg.freebsd.org/freebsd:11:x86:64/latest/packagesite.txz ?) を見ると "tiff":{"origin":"graphics/tiff","version":"4.0.10"} pkg version した結果は tiff-4.0.9_1 < pkg upgrade しても Your packages are up to date. pkg upgrade tiff しても Your packages are up to date. 確認すべき箇所等あったら教えてください。 単に他の引っかかってるヤツもwgetすりゃイイんじゃねえの? latest じゃなくでデフォルトの quarterly のままという落ちだろ >>186 /usr/ports/INDEX-* の構成 /etc/pkg/FREEBSD.conf, /usr/local/etc/pkg.conf, /etc/portsnap.conf の中身 このへんの整合性がfreebsd-update後に乱れて手動で調整する必要が あったような 詳しくは思い出せないスマン >>180 pkill って関係あるんかな 外してたらスマン latest にしたいなら pkg の設定を latest にすればいいだけ freebsd-update で /etc/ が書き変わったならメッセージが出たはず pkg version は INDEX ファイルが存在するならそれを利用する つまり pkg で取ってくるバイナリとの整合性はない ports には quarterly はなく最新だけ portsnap.conf で関係するのは INDEX ファイルを更新するかどうか >>189 pkillってpidで指定する代わりにプロセス名を指定するやつ pkill -KILL zsh すると問答無用ですべてのzshをKILLしてくれるぞ >>181 どうも駄目っぽい jobs -pで何も帰ってこないです… ありがとうです。もうちょい調べてみます >>187-191 >>188 がビンゴでした!ありがとうございました! /etc/pkg/FREEBSD.conf, がquarterlyになってました。 >>191 の「pkg version は INDEX ファイルが存在するなら〜」のINDEXは /usr/ports/INDEX-11 とかのことですか? portsnapを毎日回してるので最新バージョンに差違があるんでしょうか。 とりまこのまま使ってみます。あざした。 FreeBSDのデスクトップ環境を試用してみたいのですがおすすめはありますか? 軽めで安定している物を希望します。LinuxだとLXDEが有名ですしFreeBSDにも対応しているようですが メンテナンス体制に不安ありなんて話も目にするのでよりよいのがあれば・・・ >>182 死なないorz コード抜粋はこういう感じ pipe_action() { while read i do echo "$i" | 処理 done } ( tail -n 0 -F $TARGET_LOG | pipe_action )& PID=$! trap "kill -- -$PID;exit 1" 0 1 2 3 15 wait tailを殺せれば目的果たせるんだけど… 死んでくれない… >>197 Xfce 使ってるけど可もなく不可もなく… 安定性は問題無し 何で FreeBSD の firefox はメニューの一番下が Restart なの? 常識なさすぎ。頭悪すぎ。ホント止めて欲しいわ。 どのメニューのこと言ってるの> うちだと"QUIT"だの"close Tab"が出るけど >>198 スクリプトの中ではデフォルトではプロセスグループを作らない。 set -m でどうやろ? >>202 Menu BarをオンにしたときのFilesメニューかな FreeBSD 11.2-R amd64でi386-wineを使いたいんだがどうすればいいのだろうか #pkg install i386-wine だけだと #wine ELF interpreter /libexec/ld-elf.so.1 not found, error 8 と怒られて動かない ググるとこの組み合わせは鬼門らしい? 古いバージョンだとi386の環境を丸ごと用意しろとか出てくるし portsのインストール例ばかりでpkgのインストール例が見つからなかったり >>205 依存関係が解決出来てないのならportsから入れてみる portmaster emulators/i386-wine を試しなはれ うちは i386-wine-devel-3.3,1 を pkg install してあるけど、普通にあふと foobar2000 が動いてるで FreeBSDのkill(システムコール)ってPIDを負にしたときPGID扱いにする記載がないな(Linuxにはある) プロセスグループの意味ないじゃん、っておもたら別にkillpgってのがあるのか >>206 ,207 ありがとう。両方やってみましたが変わらずの ELF interpreter /libexec/ld-elf.so.1 not found, error 8 で動きませんでした >>208 man 1 kill のEXAMPLESを嫁 >>208 https://www.freebsd.org/cgi/man.cgi?query=kill& ;amp;apropos=0&sektion=2&manpath=FreeBSD+11.2-RELEASE&arch=default&format=html > For compatibility with System V, if the process number is negative but not -1, > the signal is sent to all processes whose process group ID is equal to the absolute value of the process number. > This is a variant of killpg(2). たぶんi386互換機能かLinux互換機能の問題と推測していますが amd64環境下でこれらの機能を使った場合にアプリからシステムが どう見えるのかに関する資料ってありませんかね? どちらか、もしくは両方が不適切な状態になっていると仮定すると 説明つきますが、確認する方法がわかりません >>203 #!/bin/shの直後に set -m追加で いけたー ありがとうございます >>205 >>210 >>213 amd64でi386-wineか。pkgでi386-wine-devel-3.3,1を使ってるよ。 amd64のインストール時に「Distribution Select」で「lib32」を 入れ忘れている、という凡ミスではなかろうね? 入れましたよ、ならごめん。 >>215 ありがとう。そのlib32の有無って後から確認する方法ってあります? デフォルトでONだという情報は見ていていじった記憶はないんだけど ひょっとしてOFFになっているのだろうか ls /usr/lib32 で *.so が出てくればええんでない? >>217 ありがとう。その情報が知りたかった 結果はまさかの空だったのでチェックが入っていなかったようだ lib32.txzを解凍するだけというわけにはいかないだろうし 全部消して再インストールしかないのかな ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる