X



初心者もOK! FreeBSD質問スレッド その123
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
垢版 |
2018/03/28(水) 08:08:35.65
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
0116名無しさん@お腹いっぱい。
垢版 |
2018/09/17(月) 18:17:29.73
自殺をしたら、地獄に落ちて苦しむか、生前よりもさらに辛い状態で生まれてくるか、
生前にクリアできなかった課題と全く同じ課題をクリアするために、
再び生まれてくることになるのでしょうか?
0118107
垢版 |
2018/09/17(月) 21:30:07.91
rootでも日本語入力を使うかもと思い設定していたのを思い出して.xinitrcをみたら あ り ま し た
fcitx -r -d
fcitx
mozc restart
と何やらわけのわからんことをすると書き込みができるようになりました
どこでどうググったのかも記憶からすっ飛んでますが結果オーライってことで
今日も飲んでますがもう消しませんw
0119名無しさん@お腹いっぱい。
垢版 |
2018/09/18(火) 22:19:20.27
長い上に自分もよくわかっていなくてとりとめがなくてすみません

1.高機能で使いやすいデバッグ環境。例外を多用したコードやx86/AMD64混合コードのデバッグも支援してくれる
2.メモリマップに関するドキュメント
3.メモリ管理周りのAPIに関するドキュメント
4.例外処理に関するドキュメント
あたりを用意したいです

やりたいことは32bit組み込みシステム(非x86)用コードの簡易的なデバッグです
アプリケーション本体はAMD64で32bit越えのアドレス空間を確保して4GBより後ろにロード。ワークRAMも同様に4GBの後ろに確保
デバッグ対象である実機用のコード(x86)は実機と同じアドレスにロード、デバッグコード用のワークRAMも実機と同じアドレスに確保
実機のI/O(メモリマップドI/O)はページ違反例外の捕捉やmmap(ユーザーコードとメモリアクセスをリンクさせる方法とかないんですかね)でエミュレート
I/O周りのエミュレートが何とかなるならデバッグ用のコードを別プロセスとして実行しデバッガをアタッチでも可(暴走等に強くなる)

みたいなことができないかなと
リンカ・ローダ実践開発テクニック
ttps://shop.cqpub.co.jp/hanbai/books/38/38071.html
を読んで思いました(この本はFreeBSDで実験している)

仮想メモリ空間を持つOS上の方が強力な保護能力を得られますし、実機でデバッグするより使えるツール類も豊富なはず・・・と考えたのですが
具体的にどのような環境を構築すればいいのかよくわかりません。最初自分がよく使うWindowsでの構築を検討したのですがメモリマップが不明なことと
VSのリンカでロードするアドレスを変更したりする方法がわからなかったので中断しています。デバッガが豊富なのは魅力なのですが

FreeBSDで構築するとどんな感じになるのでしょうか・・・
扱う情報量的にもGUIは必須?デバッガは何が良い(gdbは有名くらいしか知らない)?技術的なドキュメント類はどこにある?
FreeBSDを動かした経験がないわけではないけどCLI止まりだしプログラム開発でバリバリ使ったこともないので細かいところは全然わからないです
0120名無しさん@お腹いっぱい。
垢版 |
2018/09/18(火) 22:56:03.68
よくわかんないけど、実機がx86で組込みシステムが非x86で、
それぞれOSがどうなってて、メモリがどれだけ種類があって、
どんな言語で開発して、結局どのコードがデバッグ対象なのか、
みたいなところがわけわからなくなったので、ついていってない。

よくわかんないけど、QEMUでエミュレートする環境を作るんだろうか。
でも例外バリバリとかできるかどうかもよく知らない。
0121119
垢版 |
2018/09/18(火) 23:57:48.73
わかりにくくてすみません

デバッグ用のマシンはAMD64を予定でOSは未定、デバッグ対象である組み込みシステムは非x86でOSなし
言語はRust/C/アセンブラあたりになりそう
デバッグ対象は組み込み向けとして下位4GB内で走るx86コード。この部分をx86としている理由は実機とビット長を
あわせた方がソースコードレベルの互換性が高まると考えたためです
あくまで簡易デバッグでありソースコードレベルで期待した動作をしているか確認することが目的で、機械語レベルの
デバッグは実機でやります

実行空間はOSがアプリケーション向けとして提供してくれる仮想メモリ空間を使えないかなと
0122119
垢版 |
2018/09/19(水) 00:12:40.53
あとデバッグしたいコードは組み込みシステムで使用するコードのうちマルチメディアデータを扱う部分考えています
GUI周りと画像や音声データなどを扱うコードです
実機だと大容量のデータを流し込んでその結果をキャプチャしたりするのは純正のデバッグシステムがあっても容易じゃないので
PCでやった方が楽なんじゃないかと考えました
0123名無しさん@お腹いっぱい。
垢版 |
2018/09/19(水) 00:37:30.80
その簡易でバッグっていう余分なステップを踏む必要はあるのかなあ。
それによって何を期待できるの?
実機とはコードが違うのに多用する例外まで確認できるようなものなの?
0124119
垢版 |
2018/09/19(水) 08:03:10.70
リアルタイムでないとデバッグできない部分以外の処理はソースコードレベルで意図した動作をする状態にしたいです
全部一気に書いて関連するデータも用意してほぼ一発で動かすとか自分ではほぼ無理・・・
処理単位に分けて実装、デバッグしてある程度完成度を高めてから合わせないと出来上がる気がしないです
かといってPCみたいにハードウェアが高度に抽象化されているわけではないのでI/Oレジスタへのアクセスもあるていど
シミュレーションできるとより好ましいです

例外というのはたとえば組み込みシステムのI/Oがマッピングされているアドレスを未割り当てにした状態で
そこへアクセスするとメモリアクセス違反例外が発生しますよね。これをトラップして適切に処理し復帰させると
デバッグ対象のコードからするとあたかもI/Oレジスタがマッピングされているように見せかけることができそうだと考えました
この部分は自分がそう思いついただけでよりスマートな方法があるのかもしれませんが
0125名無しさん@お腹いっぱい。
垢版 |
2018/09/19(水) 11:38:05.08
FreeBSD-11.2-R の環境に、USB-LANを2つ付けています。
普段は、USB-LAN(1)が ue0、USB-LAN(2)が ue1 となるのですが、
希に、ue0 と ue1 が逆になってしまうことがあります。
固定することは可能でしょうか?
0127名無しさん@お腹いっぱい。
垢版 |
2018/09/19(水) 17:08:46.58
>>126 リブート
0131名無しさん@お腹いっぱい。
垢版 |
2018/09/19(水) 20:08:08.81
>>129
devd.conf の条件だけで完全に特定する必要はないよ。
ともかくコマンドが実行されるようにできれば、
それをシェルスクリプトにして、渡されたデバイスのMACアドレスをみてつける名前を決めるとかすればいい。
0132名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 18:31:00.67
初心者向けのサイトとか本があればおしえて欲しい
解像度が高すぎて文字がみえないんだけどどこから設定できますか
0133名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 18:58:36.50
ハンドブック英語版が初心者にも優しく詳しさも随一。
あと、ここにはエスパーはいないので、初心者もOKだけど質問は限りなく詳細に。
0135名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 20:53:45.82
ああそうですコンソールです
0136名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 21:14:31.82
多分UEFI起動でvtコンソールだよね? フォントが /usr/share/vt/fonts にあるから例えば
vidcontrol -f /usr/share/vt/fonts/gallant
とかするとそのフォントが使われます。
0138名無しさん@お腹いっぱい。
垢版 |
2018/09/20(木) 21:22:53.87
ありがとうございます
コマンドをいれたらできました
0146名無しさん@お腹いっぱい。
垢版 |
2018/10/19(金) 10:38:51.57
+-------------------+ +---------------+
| 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
で起動に失敗しますが、失敗の原因がさっぱり分かりません。

そもそも上記のような構成は構築可能でしょうか?
0148名無しさん@お腹いっぱい。
垢版 |
2018/10/21(日) 17:57:17.66
FreeBSD11.2R i386 を運用中ですが、amd64 へ切り替えるにはクリーンインストールするしかないですか?

freebsd-update のようにバイナリだけ差し替える方法はないものでしょうか?
0150名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2018/10/22(月) 10:25:53.48
>>147
ありがとうございます。正にその図の通りです。
PPP接続試験環境を構築したいんです。
図左のPCにFreeBSD 10.4 UEFI版をインストールしWindows10と
マルチブート環境を構築しようとしたのですが、インストール後、
FreeBSDを起動する方法が分からず、VirtualBoxで接続試験環境を構築できないかな?
と考えた次第です
0151名無しさん@お腹いっぱい。
垢版 |
2018/10/22(月) 17:56:50.78
>>146
自己レスです。起動失敗の原因は既にpppoedが起動していたからでした。
/etc/rc.d/pppoed stop で、プロセスが停止しないことが原因でした。
しかしVirtualBox上での接続はまだ実現していません。
0152147
垢版 |
2018/10/22(月) 20:29:41.96
>>150
em0の線の先にはdhcpサーバ機能付きのインターネットルータがあるんよね?
それでもし
「ルータのローカル側の接続口がひとつしかなくて、
幸いwin10プリインストール機にはlanアダプタが2個あるので
それをつかってFreeBSD機とwin機を(ハブを買い足すことなく)常時接続したい」
というのであれば、vitrualboxとpppはやめて
win機をブリッジ動作させればいいのではと思うんだけど
0153名無しさん@お腹いっぱい。
垢版 |
2018/10/23(火) 10:34:48.42
>>152
>『PPP接続試験環境を構築したいんです。』

ちなみにem0の先は、
OCN ---(ppp)--- FreeBSD 8.3 --- em0

この古すぎる FreeBSD 8.3 の交代機の試験環境構築が目的です。
vitrualboxは、疑似OCN。
0154名無しさん@お腹いっぱい。
垢版 |
2018/10/23(火) 12:44:01.93
やはりそうですかね。
10.4Rから11.2R に上げたタイミングでPhantomjsがx86だけ動かなくなったので、amd64に上げるか迷っているのですが、もう暫く様子を見てみます。
0156147
垢版 |
2018/10/23(火) 23:28:09.12
>>153
あぁppp使用ありきでしたか
自分はpppは経験ないのでここから先は他の人に任せたいですが
virtualboxのホスト=win、ゲスト=FreeBSDでルーター構築は何回かやったので2点だけ
・virtualboxのゲスト別設定→ネットワーク→アダプター→高度→プロミスキャス
 を一時[すべて許可]に変更
・winホストのセキュリティーソフトのファイアウォールが動いてるなら一時off
0160名無しさん@お腹いっぱい。
垢版 |
2018/10/25(木) 17:09:03.50
今ある3.28じゃなく3.31を使いたいってこと?
自分でコンパイルすればいいんじゃなかろうか。
あとbugzillaに投げれば完璧。
0161名無しさん@お腹いっぱい。
垢版 |
2018/10/27(土) 14:36:23.15
>>160
そうです。
バグ報告ができるほどスキル高くないんで
そういうエディションがないならあきらめます。

FreeBSDのGNOMEフレーバーとか誰か作ってくれないかなぁ(他力本願)
0163名無しさん@お腹いっぱい。
垢版 |
2018/11/02(金) 10:02:59.64
超昔はpicobsdあったけど、その後出てきたnanobsdはiso前提。
今もnanobsdあるか、あったとしてビルドできるかは知らない。
ports見てみて。
0167名無しさん@お腹いっぱい。
垢版 |
2018/11/19(月) 19:52:11.12
最近、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を強制再インストールしてみましたが同様です。
0168名無しさん@お腹いっぱい。
垢版 |
2018/11/21(水) 21:32:05.82
最近のFreeBSDをMBRディスクにマルチブートでインストールするときの条件や手順ってどこかにありませんか?
ググってもGPTディスクだったり古いバージョンだったりして参考にならないです

とりあえずやったこと
Win7、Win8.1が入っているディスクにFreeBSD11.2-R i386をインストール→再起動
起動しない→ググる。最近のはboot0を書き込まないらしいとの情報を見つける
fdisk -B -b /boot/boot0 /dev/ada0
でboot0を書き込む→FreeBSDを選択しても#が出るだけで起動しない
0170名無しさん@お腹いっぱい。
垢版 |
2018/11/22(木) 15:27:30.12
Windowsのブートメニューをmsconfigで編集するとFreeBSDパーティションのブートローダに処理を渡せるんじゃなかったっけ
記憶がめちゃくちゃ怪しいけど
0173名無しさん@お腹いっぱい。
垢版 |
2018/11/24(土) 18:17:02.56
誤って libexec/ld-elf.so.1 を移動してしまい、FreeBSDがloginすら出来なくなってしまいました。
LiveCDを作成し起動したLiveCDからアクセスしようと

zpool import -f -o altroot=/mnt zroot

と入力しましたが、failed to create mountpoint と出てマウントできません。
LiveCDからzfsをマウントするにはどのようにすればいいでしょうか?

教えて下さい。よろしくお願い致します。
0174名無しさん@お腹いっぱい。
垢版 |
2018/11/24(土) 23:38:18.71
>>173
「-o altroot=/mnt」のかわりに「-R /mnt」を使ってもだめ?
だめなら「zpool import failed to create mountpoint」でぐぐって試した方が早いかもな
0175名無しさん@お腹いっぱい。
垢版 |
2018/11/25(日) 00:09:57.93
>>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 だけが見えない状況です。
0176名無しさん@お腹いっぱい。
垢版 |
2018/11/25(日) 00:41:43.63
>>175
自己解決しました。

zfs umount zroot/ROOT/default と手動でマウントすることで見えるようになりました。

ありがとうございました。
0180名無しさん@お腹いっぱい。
垢版 |
2018/11/26(月) 21:39:03.65
tail -F でファイルを監視して書き込まれたものをwhile read line で取り出してるシェルスクリプトを
daemon でデーモン化して有るんだけど
daemon を止めるとシェルスクリプト自体は停止できるんだけど、 tailコマンドが実行されたまま残る
ファイルに何か書き出されるとpipeが壊れてるので止まるって状況なんだけど
shを止められたら、そこから起動しているコマンドも一緒に殺す方法無いですか?

プロセスグループ殺したいけど、 Linuxみたいに /bin/kill -- でプロセスグループ殺せるわけでも無く…
0182名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 01:37:04.13
プロセスグループとしてマイナスにしていないからとか?
$ kill -- -PGID

あるいは実はプロセスグループに含まれていないとか
0183183
垢版 |
2018/11/28(水) 09:35:54.43
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 したときに "<" になるんでしょうか・・・
0184名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 11:57:56.45
インデックス的には配信済みだけど肝心のパッケージがまだ配信されてないとかではないでしょうか
パッケージ自体を直接持ってきてインストールしてもダメでしょうか
0186183
垢版 |
2018/11/28(水) 15:33:56.16
# 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.

確認すべき箇所等あったら教えてください。
0189名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 18:18:50.68
>>186
/usr/ports/INDEX-* の構成
/etc/pkg/FREEBSD.conf, /usr/local/etc/pkg.conf, /etc/portsnap.conf の中身
このへんの整合性がfreebsd-update後に乱れて手動で調整する必要が
あったような 詳しくは思い出せないスマン

>>180
pkill って関係あるんかな 外してたらスマン
0190名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 18:37:47.52
latest にしたいなら pkg の設定を latest にすればいいだけ
freebsd-update で /etc/ が書き変わったならメッセージが出たはず
0191名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 18:59:31.85
pkg version は INDEX ファイルが存在するならそれを利用する
つまり pkg で取ってくるバイナリとの整合性はない

ports には quarterly はなく最新だけ
portsnap.conf で関係するのは INDEX ファイルを更新するかどうか
0192名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 19:16:24.71
>>189
pkillってpidで指定する代わりにプロセス名を指定するやつ

pkill -KILL zsh
すると問答無用ですべてのzshをKILLしてくれるぞ
0196183
垢版 |
2018/11/28(水) 22:22:36.58
>>187-191
>>188がビンゴでした!ありがとうございました!
/etc/pkg/FREEBSD.conf, がquarterlyになってました。

>>191 の「pkg version は INDEX ファイルが存在するなら&#12316;」のINDEXは
/usr/ports/INDEX-11 とかのことですか?
portsnapを毎日回してるので最新バージョンに差違があるんでしょうか。

とりまこのまま使ってみます。あざした。
0197名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 22:24:03.46
FreeBSDのデスクトップ環境を試用してみたいのですがおすすめはありますか?
軽めで安定している物を希望します。LinuxだとLXDEが有名ですしFreeBSDにも対応しているようですが
メンテナンス体制に不安ありなんて話も目にするのでよりよいのがあれば・・・
0198名無しさん@お腹いっぱい。
垢版 |
2018/11/28(水) 22:34:10.58
>>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を殺せれば目的果たせるんだけど…
死んでくれない…
0201名無しさん@お腹いっぱい。
垢版 |
2018/11/30(金) 19:43:34.91
何で FreeBSD の firefox はメニューの一番下が Restart なの?
常識なさすぎ。頭悪すぎ。ホント止めて欲しいわ。
0205名無しさん@お腹いっぱい。
垢版 |
2018/12/01(土) 01:43:38.42
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のインストール例が見つからなかったり
0208名無しさん@お腹いっぱい。
垢版 |
2018/12/01(土) 09:47:42.62
FreeBSDのkill(システムコール)ってPIDを負にしたときPGID扱いにする記載がないな(Linuxにはある)
プロセスグループの意味ないじゃん、っておもたら別にkillpgってのがあるのか
0210205
垢版 |
2018/12/01(土) 12:58:59.75
>>206,207
ありがとう。両方やってみましたが変わらずの
ELF interpreter /libexec/ld-elf.so.1 not found, error 8
で動きませんでした
0213205
垢版 |
2018/12/01(土) 20:52:50.30
たぶんi386互換機能かLinux互換機能の問題と推測していますが
amd64環境下でこれらの機能を使った場合にアプリからシステムが
どう見えるのかに関する資料ってありませんかね?

どちらか、もしくは両方が不適切な状態になっていると仮定すると
説明つきますが、確認する方法がわかりません
0215名無しさん@お腹いっぱい。
垢版 |
2018/12/02(日) 02:08:40.61
>>205 >>210 >>213
amd64でi386-wineか。pkgでi386-wine-devel-3.3,1を使ってるよ。
amd64のインストール時に「Distribution Select」で「lib32」を
入れ忘れている、という凡ミスではなかろうね?
入れましたよ、ならごめん。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況