メモ的ななにか

@Maleic1618

ひとりRFCの旅 introduction && RFC1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION

こんにちは、まれいんです。

この記事は ひとりRFCの旅 Advent Calender 1日目の記事です。 こんな誰得アドベントカレンダーに興味を持って下さり、ありがとうございます。

qiita.com

今回はDNSの基本中の基本、RFC1035を見て行こうと思います。

私自身は既に読んだことがあるのですが、wire formatあたりはよく出てくることになるので復習を兼ねて簡単に紹介します。

続きを読む

OSSにPR送ってきた

日記です

Contribute先を決める

正直一番大変だと思う。 貢献できるOSSの見つけ方 -完結編- / How to find "Good First Issues" Final - Speaker Deck を参考にgoofiを使ってはみたものの、使ったことがないOSSだとcontributeする気にならないのが問題。

…だったら使ってるパッケージで探せばいいか、ということで。

$ dpkg -l | less

上から全部見ていって、これいいやんというパッケージがあったらgithubのissueを確認して出来そうなものがあるかチェックをしました。 そうしたところ、翻訳があまりされてなさそうなパッケージがあったのでそれをすることに決定。

翻訳する

Contributor向けの文章があったりなかったりするので、ドキュメントは軽く目を通しておく。 特にPRのルールがあったりなかったりするようなので、要注意らしい。

その後、やり方をぐぐりつつpoeditを使って翻訳用のpotファイル、poファイルを使って翻訳をスタート。 ドキュメントじゃなくてソフト内で使われる文章の翻訳でした。

文章がプルダウンメニューとか設定の説明文だとか、どこに使われるかによって文体を変えなくてはいけないので、 ちょっとした文章でもソースを確認してました。 また、自分が使ってない機能もあり、自分で試したりソースを読んだり。

3, 4日くらい仕事後に家で翻訳したらさっくり終わりました。 あとはforkしてcommitしてpull request送るだけ。 先人のPRコメントを見てノリを把握して送っときました。

1日後に無事merge。やったー。 issueみたら他にもできそうなのあったので続けていきたい。

switchのnat越え

業務用ルーターをゲットしたので家で設定したところ今まで出来ていたSplatoonが出来なくなった。
なんでも、NAT越えに失敗するらしい。

とりあえず公式のQ&Aを見に行く。

【Switch】エラーコード「2618-0513」が表示されました。どうしたらいいですか?

NATタイプはD。

家のインターネット環境はIPv4だし(というかIPv6にしようとしたらSwitchは対応してないらしい)、ルーターにはグローバルが落ちてきてる。うーん。

結論から言うと、ルーターの設定をNAPTで変換するとき、ポートをできるだけNAPT後も変わらないよう変更したら解決した。(これをやったらNATタイプがBになった)
変換テーブルのキャッシュが残っていることがあるので、設定後は再起動した方が良さそう。

他の方は参考にならなさそうだが、一応残しておく。

UDPのポートを全部飛ばすのを推奨している人もいるようだが、他の機器のUDPが全部死ぬのでやめた方がいいように思う。

パッと思いつくのはDNS, NTP, DHCPらへんか。

なんでもいいからaptでインストールしたい

おことわり

責任取りません。頑張って

環境:

$ date
2018年  6月  4日 月曜日 21:54:43 JST

$ cat /etc/debian_version
buster/sid

つらい

  • せっかくだしRustをちょっと触ってみるか(ミーハー)
  • なるほどcargoってのが便利なのか〜〜〜
  • Debian GNU/Linuxではstableではパッケージを提供していないだと!?
  • でもtestingにあるじゃーん!
  • Pinning面倒だから、この際全部パッケージアップグレードしちゃえ!(2000個位を一気にapt upgrade -y ッターン)
  • Error: broken pip(チーン

解決策

1. Aptitude先生

Aptitude先生はaptとかよりも高度な依存解決機能があります!!!天才!!!

$ sudo aptitude upgrade -y

→依存関係の解決が終わらないので寝る →置きたらaptitudeがメモリ(12GB+swap17GB)を食い尽くして死亡

2. dpkg --force-all先生

もうどうしようもないので強制インストールすればええやん!!!

$ apt download [package name]/testing
$ sudo dpkg --force-all -i hogehoge.deb

なおdpkg先生は依存関係を直すとかは考えてくれません。apt先生お呼びです!!!

$ sudo apt install -f

ところでなんでか古いパッケージインストールしようとしてるんですけど????なんで???(多分backportsかstretch/updateのやつ)

3. hold先生

更新なんかやめちまえ!!!

$ echo [package name] hold | sudo dpkg --set-selections
$ dpkg --get-selections | grep hold
gstreamer1.0-plugins-ugly:amd64         hold
libgstreamer-plugins-bad1.0-0:amd64     hold

〜完〜

終わりに

言語環境整えたいときはlxcとかdockerとかのコンテナ使ってメインの環境荒らさずにやろう!!!!!!!!!