天の月

ソフトウェア開発をしていく上での悩み, 考えたこと, 学びを書いてきます(たまに関係ない雑記も)

入門モダンLinux - Forkwell Library #23に参加してきた

forkwell.connpass.com

こちらのイベントに参加してきたので、会の様子と感想を書いていこうと思います。

会の概要

以下、イベントページから引用です。

これまで Forkwell のイベントで登壇されたエキスパートの方々は、先達が記した書籍から「気づき」を得て実践し、振り返り、再現性のある「学び」として身に付けていく中で、実績を築いてこられました。

しかし、日々限られた時間の中で知識や情報をアップデートし続けるのはそう簡単ではありません。Forkwell Library では、著者・訳者・実践者らを登壇者として招き、そんな思いを抱えた開発者の皆さまが「学びのきっかけ」を得られる勉強会を目指します。

Linuxはサーバ、組み込み機器、スーパーコンピュータなどにおいて存在感を示してきました。近年では、オンプレミスのシステムだけではなく、クラウドサービスでも広く使われています。 今回の第23回目では、時代の変化に柔軟に対応できるLinux技術者を目指すなら必読の一冊である入門 モダンLinux ―オンプレミスからクラウドまで、幅広い知識を会得する-を取り上げます。 Linuxの知識を体系的に整理したい、最新動向が知りたい、運用を改善したい、効率的に開発を行いたい、といった要望をかなえる内容となる本書の訳者である、sat氏と大岩氏をお迎えしこの本の魅力について語っていただきます。

会の様子

入門 モダンLinuxとはどんな本なのか?

時を経ても変わらない知識×最新知識、初心者向け×上級者向けという2軸を考えたとき、本書は時を経ても変わらない知識と最新知識をカバーし、レベルとしては初心者と上級者のちょうど中間的な立ち位置にあるということでした。

また、豊富な参考文献が含まれているのが特徴で、章ごとに数十冊のリファレンスがついているということでした。

本の見どころ

1章でLinux入門とあって初心者向けかと思いきや2章でいきなりLinuxカーネルについて触れだすストロングスタイルなところが全体的に魅力だということでした笑
また、全体を通して原著で直されていないバグなどを見つけたり、訳者補足などを充実させている点も魅力だということでした。

以下、訳者のお二人がおすすめだと思う章を幾つかピックアップして簡単に見どころを記載していきます。

第二章...CPUアーキテクチャRISC-V, eBPFについて触れられている

第三章...fishシェルやターミナルマルチプレクサについて説明されている。また、ツール群を多数紹介している(なぜかほとんどがRust製ばかり)

第六章...パッケージ管理としてflatpak, snap, apkなど珍しいものが多数紹介されている。また、コンテナもdocker以外のもの(containerd, podman...)が多数紹介されている。

第七章...ネットワークの基本からスタートし、wiresharkといったツールの説明もされる。また、ip_local_reserved_portsについての補足も追加している。

第九章...高度なトピックを多数扱っている。Firecracker, bottlerocketといった絶対エンドユーザー触らないだろうというネタが紹介されている。

本書の前に読むとよい本

本書が難しすぎると感じた場合は以下の本を読むとよいということでした。

  • 新しいLinuxの教科書
  • 本気で学ぶLinux実践入門

本書の後に読むとよい本

本書を読んだ後にステップアップしたい人は以下の本を読むとよいということでした。

  • スーパーユーザーなら知っておくべきLinuxシステムの仕組み
  • Linuxのしくみ
  • 入門Rust(おまけ)

翻訳しようと思ったきっかけ

元々オライリー編集者と長い付き合いが大岩さんにあり、読んでて楽しかったので翻訳したということでした。

また、ちょうど本の執筆の話もちょうど同時期にあったそうで、ヘルプを武内さんにお願いしたそうです。

翻訳の中で気をつけたこと/苦労したこと

武内さんは今回翻訳初挑戦だったということもあって、以下の点に気をつけたそうです。

  • 意訳につとめる。「翻訳です」みたいな表現は避ける
  • 専門用語の翻訳には気をつける

また、どこが完成なのかがよくわからなくなってしまったり、翻訳してから一定間を空けた2稿でやり直しが大量に出てしまった点は非常に苦労したそうです。

読者のコメント

読者のコメントの紹介がありました。ポジティブな意見としては、

  • 参考文献が豊富
  • Linuxを長年使ってきたのに知らないことが多くあった
  • 本文でわかりにくいところの補足がありがたかった
  • 分厚くない
  • 翻訳がわかりやすい

があり、ネガティブな意見としては、

  • たまに翻訳の品質が中学生レベル
  • 物理的に薄く内容も薄い

という話が挙がっていたそうです。

Q&A

発表の後はQ&Aセッションがありました。以下、Q&Aの内容を常体かつ一問一答形式で書いていきます。

今と昔でLinuxで大きく変わったことは?キャッチアップは何をしているか?
  • サーバや組み込みに広がっただけではなく、分散システムを前提とした部分でLinuxが使われたようになりコンテナ技術がものすごく使われているのは大きな変化だと思う。
  • 大昔は日本語変換が普通にできないという時代もあったのでそれよりはよくなったと思う。キャッチアップは本を書いたりするときに色々調べたりしている。
普段使っているディストリビューションは?

Fedora/Ubuntu

翻訳には専用ツールを使ったのか?

DeepLやChatGPTをたまに使ったくらい。

システムの監視について本書は触れられているのか?

オブザーバビリティのところで節単位でしっかり触れられている。

POSIXにないモダンな機能は書いてあるか?

誰しもが知らない機能の説明が書いてある。

systemdやipなどが新しいLinuxで変わっているが、systemdやip以外に新しいコマンドはあるか?

exa, bat, ripgrepなど。書籍でも紹介されている。

SELinuxはもう必要ないと思うか?

普段はあまり使っていないが、依然必要なものだと思う。周りはまだ使っている。

WindowsLinuxの違いは何か?

何もかもが違うので回答不能。ぜんぜん違うものだがWindowsLinuxに近づいている感じはある。

ご自身が普段使っているPCはLinux

Windowsを使っている笑
ただしほとんどsshLinuxに繋いでいる。

CentOSは今もう使っていないのか?

使われる数はかなり減っている感じがある。

目次を見るとコンテナのところにLXDがなかったが6章あたりで何か書かれている?

特に書いてないと思ってもらって構わない。アプリケーションコンテナに寄った本だと思ってもらえば。

ChatGPTのほうが本よりも情報収集しやすいツールになっている可能性はあるか?

ChatGPTはハルシネーションがあるので現時点だと全然信用できないなあと思って見ている。

翻訳ポリシーはどう決めたのか?すり合わせた?

二人で取り決めたりはしていないが、これはたまたま二人の価値観がぴったりあっていた感じがあったからだと思っている。

Dockerはなぜここまで流行ったのか?

インストールするための手順が煩雑だったり、ライブラリを一つのアプリのために結局持ち歩かないといけなかったりしてしまい手間がかかったりしていたという問題が解消されたからだと思う。

本書にも書いてあるので確認してほしい。

コンテナの仕組みついて学びたい時に良い本は?

TenForwardさんの本やLinuxのしくみが良いと思う。

Linuxを学ぶ意義は何か?そもそもLinuxを学ぶとはどういうことなのか?

楽しいから。あとは折角のOSSなのでパッチを送ってもらいたい。

fishの記法でzshbashとの互換がないのはつらいのだが、これは意図的なものなのか?

意図的だと思うし、互換を消したからこそ使いやすいみたいな話はある。ただ、一から覚えるのは結構大変。

本業と執筆の両立はどうやってしたのか?

半年前後でやっていたのでだいぶハイスピードで訳せた。とにかく早く出したいというモチベーションがあった。

スケジュール調整せずに、自転車操業で気が向いた時にめちゃくちゃ訳すようにした。

会全体を通した感想

質問の量が過去見た中でも一番多く、盛り上がりを感じました。

ちょうど読み進めている最中なのですが、結構マニアックな知識も多くて面白いので、引き続き読み進めていきたいと思います。