スーパーユーザーなら知っておくべきLinuxシステムの仕組み
Brian Ward(著)
,柴田 芳樹(著)
/インプレス
作品情報
Linuxの動作・構成・設定とその関係が理解できる! 各テーマについて背景・理論・実例を解説。<英語版はのべ5万部超のベストセラー! Linuxで実践したいことができるように内部動作を把握しよう> 取り上げる主なテーマは、システムの全体像、コマンドとディレクトリ、ディスクとファイルシステム、デバイス、カーネルやシステムの起動、プロセスと資源、ネットワークと設定、ファイル転送と共有、ユーザー環境、開発ツール・コンパイル、仮想化など。【本書「まえがき」より】この本の章を三つの基本部分にグループ分けすると、最初は入門であり、Linuxシステムの全体像を示して、Linuxを使っていく上で必要なツールを用いたハンズオン(具体的手法)を提供しています。次に、デバイス管理からネットワーク設定、そして、システム起動時の一般的な順序といったシステムの各部分の詳細を説明します。最後に、動作中のシステムを見て、基本的なスキルを学び、さらに、プログラマが使うツールについて学びます。【推薦の言葉】Linuxに興味があるのなら必読の書籍です――『LinuxInsider』。Linuxアーキテクチャのあらゆる角度から多くの情報を提供しています――『Everyday Linux User』。詳細に深入りせずに、内部で何が行われるかについて必要な理解を得られます。この本は、Linuxの書籍の中でもとても新鮮で、全面的に推薦します――Phil Bull、『Ubuntu Made Easy』の共著者、Ubuntuドキュメンテーションチーム。Linuxに基づくオペレーティングシステムの透明な深みへ飛び込んで、すべてがどのようにつなぎ合わされているのかを示しています――『DistroWatch』。必要不可欠な書籍として書棚に置かれることでしょう――『MagPiマガジン』
もっとみる
商品情報
- 著者
- Brian Ward, 柴田 芳樹
- ジャンル
- コンピュータ・情報 - コンピュータ・インターネット
- 出版社
- インプレス
- 書籍発売日
- 2022.03.08
- Reader Store発売日
- 2022.03.08
- ファイルサイズ
- 153.2MB
- ページ数
- 496ページ
※この商品はタブレットなど大きなディスプレイを備えた機器で読むことに適しています。
文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。
この作品のレビュー
平均 4.5 (3件のレビュー)
-
またまた後輩くん達へのプレゼント用に購入。立上げから運用に至るまでが書かれているので、結構使えるかなと。
投稿日:2022.12.10
# 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でファイルやフォルダが何であるか分かっているくらいで十分とのこと。以前読んだときはそれほど簡単な内容に思えなかった記憶がある。続きを読む投稿日:2022.12.25
新刊自動購入は、今後配信となるシリーズの最新刊を毎号自動的にお届けするサービスです。
- ・発売と同時にすぐにお手元のデバイスに追加!
- ・買い逃すことがありません!
- ・いつでも解約ができるから安心!
※新刊自動購入の対象となるコンテンツは、次回配信分からとなります。現在発売中の最新号を含め、既刊の号は含まれません。ご契約はページ右の「新刊自動購入を始める」からお手続きください。
※ご契約をいただくと、このシリーズのコンテンツを配信する都度、毎回決済となります。配信されるコンテンツによって発売日・金額が異なる場合があります。ご契約中は自動的に販売を継続します。
不定期に刊行される「増刊号」「特別号」等も、自動購入の対象に含まれますのでご了承ください。(シリーズ名が異なるものは対象となりません)
※再開の見込みの立たない休刊、廃刊、出版社やReader Store側の事由で契約を終了させていただくことがあります。
※My Sony IDを削除すると新刊自動購入は解約となります。
お支払方法:クレジットカードのみ
解約方法:マイページの「予約・新刊自動購入設定」より、随時解約可能です続巻自動購入は、今後配信となるシリーズの最新刊を毎号自動的にお届けするサービスです。
- ・発売と同時にすぐにお手元のデバイスに追加!
- ・買い逃すことがありません!
- ・いつでも解約ができるから安心!
- ・優待ポイントが2倍になるおトクなキャンペーン実施中!
※続巻自動購入の対象となるコンテンツは、次回配信分からとなります。現在発売中の最新巻を含め、既刊の巻は含まれません。ご契約はページ右の「続巻自動購入を始める」からお手続きください。
※ご契約をいただくと、このシリーズのコンテンツを配信する都度、毎回決済となります。配信されるコンテンツによって発売日・金額が異なる場合があります。ご契約中は自動的に販売を継続します。
不定期に刊行される特別号等も自動購入の対象に含まれる場合がありますのでご了承ください。(シリーズ名が異なるものは対象となりません)
※再開の見込みの立たない休刊、廃刊、出版社やReader Store側の事由で契約を終了させていただくことがあります。
※My Sony IDを削除すると続巻自動購入は解約となります。
お支払方法:クレジットカードのみ
解約方法:マイページの「予約自動購入設定」より、随時解約可能ですReader Store BOOK GIFT とは
ご家族、ご友人などに電子書籍をギフトとしてプレゼントすることができる機能です。
贈りたい本を「プレゼントする」のボタンからご購入頂き、お受け取り用のリンクをメールなどでお知らせするだけでOK!
ぜひお誕生日のお祝いや、おすすめしたい本をプレゼントしてみてください。※ギフトのお受け取り期限はご購入後6ヶ月となります。お受け取りされないまま期限を過ぎた場合、お受け取りや払い戻しはできませんのでご注意ください。
※お受け取りになる方がすでに同じ本をお持ちの場合でも払い戻しはできません。
※ギフトのお受け取りにはサインアップ(無料)が必要です。
※ご自身の本棚の本を贈ることはできません。
※ポイント、クーポンの利用はできません。クーポンコード登録
Reader Storeをご利用のお客様へ
ご利用ありがとうございます!
エラー(エラーコード: )
ご協力ありがとうございました
参考にさせていただきます。