【感想・ネタバレ】スーパーユーザーなら知っておくべきLinuxシステムの仕組みのレビュー

あらすじ

※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。

Linuxの動作・構成・設定とその関係が理解できる! 各テーマについて背景・理論・実例を解説。<英語版はのべ5万部超のベストセラー! Linuxで実践したいことができるように内部動作を把握しよう> 取り上げる主なテーマは、システムの全体像、コマンドとディレクトリ、ディスクとファイルシステム、デバイス、カーネルやシステムの起動、プロセスと資源、ネットワークと設定、ファイル転送と共有、ユーザー環境、開発ツール・コンパイル、仮想化など。【本書「まえがき」より】この本の章を三つの基本部分にグループ分けすると、最初は入門であり、Linuxシステムの全体像を示して、Linuxを使っていく上で必要なツールを用いたハンズオン(具体的手法)を提供しています。次に、デバイス管理からネットワーク設定、そして、システム起動時の一般的な順序といったシステムの各部分の詳細を説明します。最後に、動作中のシステムを見て、基本的なスキルを学び、さらに、プログラマが使うツールについて学びます。【推薦の言葉】Linuxに興味があるのなら必読の書籍です――『LinuxInsider』。Linuxアーキテクチャのあらゆる角度から多くの情報を提供しています――『Everyday Linux User』。詳細に深入りせずに、内部で何が行われるかについて必要な理解を得られます。この本は、Linuxの書籍の中でもとても新鮮で、全面的に推薦します――Phil Bull、『Ubuntu Made Easy』の共著者、Ubuntuドキュメンテーションチーム。Linuxに基づくオペレーティングシステムの透明な深みへ飛び込んで、すべてがどのようにつなぎ合わされているのかを示しています――『DistroWatch』。必要不可欠な書籍として書棚に置かれることでしょう――『MagPiマガジン』

...続きを読む
\ レビュー投稿でポイントプレゼント / ※購入済みの作品が対象となります
レビューを書く

感情タグBEST3

Posted by ブクログ

# 1周目 読み終えた 2022-12-25
Linuxの世界に完全に移り住んでから結構経つ。特に意識してLinuxを使うためのトレーニングをしてきたことはなく、まとまって取り組むのは今回が初めてだった。なんとなく使えてるからまあいいか、みたいな感じで使ってきていた。改めて気づいたことは、偏りがあるということ。主にプログラミング環境として共にしてきたため、システム管理やカーネルに近いところといった部分へのスキル配分ができてなかった。各章で話題が変わるごとに、やたら難しく感じたり、そうでもなかったりした。そうした偏りに気づいたことはなかなかの収穫だった。難しく感じたところに少しスキルポイントを配分していって、偏りを修正していこうと思う。この本は平均的なバランスの取れたLinuxユーザーになるための評価基準として活用できそうだ。


## 全体的な感想
情報が新しい。最新のディストリビューションで実験しながら読み進めても一致しないところがなかった。加えて、古くなったもの、古くなりつつあるものにも言及がある。

一度で理解するには詳細過ぎるところがある。初心者向けの装いをしている割に、かなり奥深くまで踏み込んでいる。軽い気持ちで手に取るとしっぺ返しを食らう。

緩急が激しい。読者の背景にもよるが、詳細すぎて難しい章から妙に基礎的に見える章までばらつきがある。カーネルに近いところやsystemdが絡むシステムの管理を扱う3章から8章までが難解に感じた。特にデバイスというタイトルの3章は全く理解できなかった。他の章は平均的な難易度だった。


## 5章の残りを読んだ
§5.4 ブートローダ から。Grubの設定、インストール、その仕組み。ちゃんとした解説を読むのは初めて。分かりやすかった。まだUEFIでの仕組みの理解は怪しい。セキュアブートについて少し書かれていた。最近PCを新調して、セキュアブートに引っかかってOSがインストールできない事態になった。オフにすればよかったのだけど、してもいいのかどうか判断がつかず、いくつか試して、Ubuntu 22.10が成功したのでそのまま使っている。その前のPCではデフォルトでオフになっていたため問題に気が付かなかった。また、BIOSはShift、UEFIはEscを長押しするとGrubのメニューに入れる、ということを知った。OSを選択できなくなるのが不便なのでタイムアウトを0にしていなかったけど、0でも問題なさそうだ。


## 3章の残りを読んだ
§3.5.2 udevd
§3.6 詳細:SCSIとLinuxカーネル

全く意味がわからない。何の話をしているかさえわからない。この3章がこの本の中で一番とっつきにくく、難しく感じた。デバイスドライバをかじったことがないと理解できないのではないだろうか。2章からの落差がすごい。


## 17章を読んだ
「仮想化技術」

システム仮想マシンとコンテナ。システム仮想マシンとはVirtualBoxのような形態の仮想化のこを指している。QEMU/KVMやVirtualBoxには何度もお世話になってきて、ちゃんとした訓練をしたわけではないけど、特に不便もなく使ってきていた。書いてあることも素直に読める内容だった。コンテナの代表格はもちろんDockerになる。
ちょっと触ったことある程度で、いい加減ちゃんと使い方を覚えないといけないとは思っていた。習熟度の違いからか、なかなか理解が難しいところがあった。どうも、この本全体を通してそのような傾向がある。つまり、普段から接している領域のトピックはあまり苦労せずに理解できて、そうではないところはなかなか難しい。内容そのものに難易度のばらつきがあるためかと思っていたけど、そうではなく、実は割と均一で、読み手の方の経験に左右されているのではないかと思い始めた。この本を通して理解がしやすかったとか難しかったとかの感触から、どの程度通っているかの指標になる。もし、15章とかの内容の難易度が基準であったとするなら、この本自体がかなり基本的なところの内容ということになる。どの章に置いても理解できる程度にまではなっていなければならない基礎知識だとみなしたほうがいい。この章のコンテナについても、Dockerでしばらく遊んだあとに読み直せば、また全然違った印象になるだろうと思う。


## 16章を読んだ
「Cソースコードからのソフトウェアのコンパイル」

autoconfがメイン。何度も使ってきたconfigureスクリプトがautoconfでパッケージ化されたものだということすら知らなかった。もっと詳しくなるには自分でautoconfを利用してみる必要もありそうだ。ただ、CMakeの方がはるかに使いやすいので、わざわざautoconfを採用するちょっと動機が弱い。自身のソフトウェアを配布するために利用するよりも、広く使われている優れた既存のソフトウェアを理解するために習得しておくことが主な目的となりそうだ。


## 15章を読んだ
「開発ツール」

最も馴染み深い内容だった。概要と注意点をまとめたもの。最初にプログラミングの経験は必要ないと書かれていたけど、本当に経験がない人が読んでもなかなか厳しいものがあるように思う。ちょうど自分が3章、6章あたりで感じたような、一体何の話をしているのだろうという感じになりそうに思える。それでも、プログラミングを完全に避けてLinuxを使い続けるのは困難なので、欠かすことのできない章だ。


## 14章を読んだ
「Linuxデスクトップと印刷の概要」

この本の良いところの一つは情報が新しいところ。XとWaylandが混在している現状がちゃんと反映されていて、実用的だ。D-BusとかWaylandって何なのという疑問が少し解消された。Xの細かなユーティリティが紹介されていて、知らないものもあった。


## 13章を読んだ
「ユーザー環境」

かなり短い章だった。主にスタートアップファイルの話。LD_LIBRARY_PATHを設定してはいけないとある。やってしまっていたので見直そう。大体デフォルトのままで、必要になったらその場しのぎの設定を追加するという典型的な未熟者の使い方をずっと続けてきた。こういうのはよくない、やたらめったらPATHを変更したりするべきではないとある。理想的なスタートアップファイルを構成するのはなかなか難しい。


## 12章を読んだ
「ネットワークでのファイル転送と共有」

rsyncは用途が広いので、積極的に使ってマスターしておくのが良い。選択肢は色々あるけど、ファイル共有という目的だけなら、SSHFSだけで事足りそうだ。


## 11章を読んだ
「シェルスクリプトの概要」

一気に難易度が下がった。新たな発見もいくつかあった。例えば LANG=C man man のようなコマンドが、サブシェルの記法を簡略化した構文だということ。基本は大体は見についているものとみなしても良いのかも。というのは浅はかかもしれない。
タイトルは概要となっているので、まだまだ学ぶことはありそうだ。例えば、awkやsedを使うシーンは結構あるのに、まだちゃんとやったことがない。


## 10章を読んだ
「ネットワークのアプリケーションとサービス」

やっと水面下から抜け出して、地上に戻ってきた感じがする。もうここからはさほど苦労しなくても読み進められそうだ。と思っていたところ、SSHの暗号化の仕組みで混乱した。セキュリティの話題などもあって、特に興味が湧いた。ネットワークのプログラミングもやりたい。


## 9章を読んだ
「ネットワークとその設定の理解」

身近なところであるのと、関心があるためか、意識を途切れさせずに読み進めることができた。今まで読んだことのあるネットワークの解説の中では、最良の部類に入るものだった。少しでも予備知識があれば、過剰なまでに詳細であってもプラスに働くようだ。3章以降がやたら難解に感じられたのは、まだそれを読み解くだけの予備知識を持っていないからだと分かった。もし準備ができていれば、この章と同じくらいの収穫を得られたのではないかと思える。


## 8章を読んだ
「プロセスと資源利用の詳細」

topを始めとした監視のためのツールの詳解から始まる。

top
lsof
strace
ltrace
ps m
top -p pid
time
renice
uptime
psでページフォルトの情報を得る: ps -o pid,min_flt,maj_flt pid
vmstat
iostat
iotop

最後はcgroupで締める。実際にどうやって活用するのかイメージできず、よく分からなかった。それを除けば比較的わかりやすい章だった。


## 7章を読んだ
「システム設定:ロギング、システム時間、バッチジョブ、ユーザー」

この章は比較的わかりやすく、置いてきぼりになることはなかった。それでも、§7.9のユーザーアクセスの話題以降は難しかった。そこは高度な話題になるからスキップしてもいいと警告があったので、初見で理解できなくても仕方ない。

journalctlはシステムに問題が起こったとき、問題の特定と解決のための強力なツールになる。このツールの存在を知れたことが、今のところ最も実利用に即した情報だったように思う。


## 6章を読んだ
「ユーザー空間の開始の仕組み」

主にsystemdの仕組み。もともと難しい上に、詳細すぎてついていけない。欲を言えば、いきなり最深部に飛び込むのではなく、まず表面をざっと解説してから中に入っていく流れにして欲しい。System V initは直感的で分かりやすい。この本は見た目に反して全く初心者向けではないと思い始めた。


## 5章 途中まで読んだ
「Linuxカーネルの起動の仕組み」

§5.3まで読んだ。§5.4からブートローダーの話になるが、遠慮なく6章に進めばいいと書いてあるのでそうする。


## 4章を読んだ
「ディスクとファイルシステム」

良かった、3章みたいについていくのがやっとというような展開ではなかった。ちゃんと順を追ってわかりやすく進めてくれている。実際にfdiskやpartedディスクをいじくり回すことで、内容が正しいことを体感できる。3章がよく分からなかったのは、デバイスに関する知識がかけていたせいだったのだろう。ずっとその状態が続くのかという不安は解消された。…と思ったけど、LVMのところでちょくちょく理解できないところがあった。§4.6は、初めて読む場合は先に次の章を読むようにと書かれていたけど一応読んでみたらやはり理解できな部分があった。


## 3章の途中まで読んだ
「デバイス」

何か言っているのはわかるのだけど、なぜその話をしているのかすら見えてこない。実際に手を動かしてみると、書いてあることと一致する結果が得られるので、何かしら分かったような感触は得られる。なんとかそれでごまかしながら読み進めた。

§3.5.2で、次の章を読んでから戻ってくることを進められているのでそれに従って次に進むことにした。


## 2章を読んだ
「基本コマンドとディレクトリ階層」

コンパクトにまとまっていてなかなか良い感じ。必要最小限に抑えられている。標準的なガイドで、特に変わったことはなかった。


## 1章を読んだ
「Linuxシステムの全体像」

情報の密度が高い。ぎちぎちに詰め込んである。まえがきで言っていたLinuxの経験があまりない人、例えば、GUIしか使ったことがなく、lsを一度も叩いたことのないような人でも理解できるのかどうか、はなはだ疑問だ。逆に、ここをすんなり飲み込めるようであれば、幸先の良いスタートを切れたと言える。


## まえがきを読んだ
4章まで読んであったけど、時間が空いてしまって覚えていないので、最初から読み直すことにした。この本を読むのにプログラマである必要はなく、基本的なスキルすら必要としないと書かれている。GUIでファイルやフォルダが何であるか分かっているくらいで十分とのこと。以前読んだときはそれほど簡単な内容に思えなかった記憶がある。

0
2024年01月24日

Posted by ブクログ

Linux四半世紀、つまみ食い、つぎはぎで使ってきたので、久しぶりにまとまったものを読めて良かった。systemdって、そんなに根本的な役割だったんだな。表面的にしか見てなかった。それでも使えるsystemdがすごい。だいたいお馴染みのコマンドが出てくるけど、firewall-cmdがなかった。入ってても良かったかなと思った。初心者が読むには難しすぎるかなと思ったので、何年かLinuxを触ってる人が、確認のために読むと良いと思った。

0
2022年07月31日

「IT・コンピュータ」ランキング