Jailでresolv.confどないすんねん問題
jail中でpkg installできないと思ったらそもそも名前引けなかったみたいな事例、普通にresolv.conf書けば治るんですが、それはそれとして
こういう、Jail中のresolv.confはpublic DNSにしたら?みたいなクソどうでも良い回答でスレッドが終わってて悲しかったので一応言っとくと、
#!/usr/local/bin/zsh #This file is located /etc/resolvconf.conf for i in /var/jails/*/etc; do cp /etc/resolv.conf $i done
(ただしすべてのjail環境が/var/jailsの下にある場合)
以上です
Jailから出る
jailから外にpingが打ちたいねん
うちたい。
当方FreeBSD 10.2-RELEASE #0 r286666
ま、とりあえずjailたてようか
mkdir -p /var/jail/hoge cd /var/jail/hoge fetch http://そこらへん/base.txz tar xf base.txz vi etc/crontab #最終行を消せ!!!
ここが網走だ、覚悟しろ
jailの設定を/etc/rc.confに書くと計算機が爆発する
jailが増えるといずれrc.conf設定ファイルが摩擦熱で徐々に熱くなり、そのうち発火、最悪CPUのグリスに引火・爆発して周囲10kmが焼け野原になる。
これを避けるために発明されたのが/etc/jail.confというファイルだ。
これはこんな見た目をしている。
allow.raw_sockets = 0; allow.set_hostname = 0; allow.sysvipc = 0; mount.devfs; exec.start += "/bin/sh /etc/rc"; exec.stop = ""; baka { host.hostname = "baka"; path = "/usr/jail/hoge"; ip4.addr += "一億/16"; allow.sysvipc = 1; allow.raw_sockets = 1; }
ちなみに、/etc/rc.confに
jail_devfs_enable="YES" jail_sysvipc_allow="YES"
とか書いてても、上のallow.*みたいなのを書かないとpingが通らず(ping: socket: Operation not permitted とかみたいになる)、ユーザは禿げるし、ユーザが放った数多くのpingがネットワークカードに詰まって摩擦熱で徐々に熱くなり、最悪PCIスロットに詰まったホコリに引火・爆発して周囲30kmが焼け野原になる。
お土産
[/etc/rc.conf]
hostname="oyaga_bakanara_komo_baka" keymap="us.pc-ctrl.kbd" ifconfig_em0="DHCP" sshd_enable="YES" # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable dumpdev="AUTO" zfs_enable="YES" jail_enable="YES" jail_list="baka" ifconfig_em0_alias0="inet 一億/16"
FreeBSDにSSHしてgit diffした結果wwwww
こんな見た目になるンゴwwww
問題
何かしらないけどデフォルトの$PAGERがmore
とかいうゴミになっていた。
解決策
export PAGER=less
wpa_supplicant and WPA enterprise (like eduroam)
Like as wiki (WPA supplicant - ArchWiki) says, anyway you need to install wpa_supplicant.
Then, because Networkmanager can't handle with eduroam, you'll start to thinking about connecting to it by hand.
Write a configration file (eg: /etc/wpa_supplicant/wpa_supplicant.conf) like below:
network={ ssid="eduroam" scan_ssid=1 key_mgmt=WPA-EAP eap=PEAP identity="foo" password="bar" phase1="peaplabel=0" phase2="auth=MSCHAPV2" }
OK, configuration is done. Let's up wpa_supplicant.
% wpa_supplicant -B -i wlp3s0 -c /etc/wpa_supplicant/wpa_supplicant.conf
... and connect a client to wpa_supplicant.
% wpa_cli : : blah blah blah : :
You will get a prompt to put a command.
> list_networks # [list_network] is your input network id / ssid / bssid / flags 0 eduroam any > enable_network 0 OK : : blah blah :
If you have some configuration other than eduroam in wpa_supplicant.conf, it's ok.
Then you'll see some networks on list_networks
. Disable unneeded one with disable_network m
and choose eduroam with enable_network n
(if needed).
UEFI版 bitvisorのビルドの方法
Arch linux では UEFI ブートローダをビルドするのに必要な amd64-mingwなんちゃらかんちゃらmsvc-gcc を手に入れるのが地味に面倒くさくて雑な気持ちになったので、debian の docker を引っ張ってきてこんな感じにする。
apt-get update && apt-get install build-essential gcc-mingw-w64 gcc-mingw-w64 mercurial whiptail
それから bitvisor をビルドする。
それから、bitvisor/boot/uefi-loader で make してローダを爆誕させる。
これで沸いた bitvisor.elf と bitvisor/boot/uefi-loader/loadvmm.{efi}{dll} を /boot (など、EFIパーティションの場所)に放り込む。
イエー
しかし、UEFI版はMACでなければ動かないんじゃねーかという風の噂を耳にしたし、実際どうやってもloadvmm.efi中にコケるので動かないっす
UPDATE
わからんけどよく見たら機嫌が良くなって動くようになった。
ので、もうちょい詳しく書く。
loadvmm.efiの後、bitvisor.elfがロードされてうまく動くと、vmenterしたまま帰ってくるので、こうなる。
Shell> fs0: fs0:\> loadvmm.efi Loading...(snip) Starting Bitvisor (snip) (snip) (snip) (snip) : : Starting a virtual machine. fs0:\> ←←←←←ゲストモードになってからEFIシェルに帰ってくる!!!!!1111 fs0:\> startup.nsh ←←←←フツーに起動するとゲストモードに入ってる、ばんざい!
ということで、普段からbitvisor環境で立ち上がってくるようにしたい場合は、startup.nshの先頭にloadvmm.efiって書いておけば良いぞい。
SSHのpubkeyについて
ssh-keygenで作られた公開鍵のフォーマットどないなってんねん。
しかし、我々の知っている公開鍵ファイル(eg: .ssh/id_rsa.pub)はこのようになってるはずや:
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIBTKKjXHyWP6pv+Lmf0Y3URUQ21c7wY7VNzNMV1oMNzq9e3UXy0TyvMJcXJe5QDqoU/lPUk332JlBLTM2vJhZQCcsQSxUeA9s5h4twVvYW/+VC0WG3b+yioSacetioqx7CvVBOIyp2zIGgay1ykfxgaMm6BcPO9/t32IDohqwFNIw==
問い. この鍵はどうなってるのか
答え. ゴミ<space>[次の文字列のサイズ in byte :: 4byte][アルゴリズムの名前 in ascii (eg. ssh-rsa)][次の数字のサイズ in byte :: 4byte][e(positive)][次の数字のサイズ in byte :: 4byte][n(positive)] in Base64
最初の文字列ssh-rsaは次のbase64で表現されたバイナリに含まれるものと一致すべし。 次に続くのは上記のとおりバイナリ列であり、最初の4バイトはたいてい7とかかれている(00 00 00 07) - (これを aszと呼ぼう)。
次にaszバイト数だけ続くのはASCII文字列で、たいていssh-rsaなどとかかれている。
その次に4バイト分だけeのサイズがかかれており(eszとおく)、次にeがeszだけかかれている。
その次に4バイト分だけnのサイズがかかれており(nszとおく)、最後にnがnszだけかかれている。
- 注意 * nを正数として表現するため、実際のサイズよりもここに格納されている値のサイズのほうが1バイトだけ大きい。たとえばeszが257であれば、実際の鍵長は256バイト(2048 bit)である。
GhcModTypeが訳分からんところをハイライトする。
この記事は追記の事情により読む必要がないです。
質問
ghcmod-vimを入れて楽々Haskellライフが送れるようになりますが、 こんな風にGhcModTypeが訳分からんところをハイライトすることがあります。
さて、どうやって直すのでしょうか。
古い回答
`~/.vim/ftplugin/haskell.vim'を作って以下のように書け:
" Tab specific option set tabstop=8 "A tab is 8 spaces set expandtab "Always uses spaces instead of tabs set softtabstop=4 "Insert 4 spaces when tab is pressed set shiftwidth=4 "An indent is 4 spaces set shiftround "Round indent to nearest shiftwidth multiple
そうすると自然とghc-modと仲良くできるコードが手から沸いて出てくるようになる。
新しい回答
このブログを投稿した後、
え、それは普通にバグでは。
— いちにぃ (@itchyny) 2015, 3月 13
となり、
@ioriveur どうもghcmod.vim側で対応できることが分かったので、パッチ書いて出しておきます。
— いちにぃ (@itchyny) 2015, 3月 14
となって、
Fix for tab indent · 2929163 · eagletmt/ghcmod-vim · GitHub
からの、
Release v1.3.0 · eagletmt/ghcmod-vim · GitHub
で、
@ioriveur マージされたので、ghcmod.vimを最新版にして確認してみてください。
— いちにぃ (@itchyny) 2015, 3月 16
となりました。
ありがとう!拍手!!!えらい!!!!