本書は、これから仕事でLinuxを使おうという方はもとより、現場で日々Linuxを使っている方にも役立つ、Linuxのコア技術・カーネルのしくみや、ディストリビューションの最新動向と進化の歴史、UNIXコマンドやシェルスクリプトの実践的な基礎など、必須知識とノウハウが満載です。
Webサーバーをはじめよう。Linuxサーバーの基礎からわかって安心。練習問題&解答・解説集付き。
サーバー構築・運用管理・セキュリティ・トラブル対策etc。いま現場で必要なLinuxの基礎知識を完全理解。現場で最低限知っておきたいポイントがわかる!
解くだけでみるみる合格力がつく!
大好評のスピードマスター問題集が、Ver4.5に対応して登場!
Linux教育に定評のある著者が、最新試験(Version 4.5)を
徹底的に分析し、書き下ろした試験対策問題集です。
試験別、分野別に対策問題があり、それぞれの試験ごとの
模擬試験も掲載されています。各問ごとに詳しい解説があり、
問題を解いていくことで確実に実力が付きます。
LPIが行っている厳正な審査に合格した
「LPI認定トレーニングマテリアル」です。
〈対応試験〉
201試験 LPI Level2 Exam 201/202試験 LPI Level2 Exam 202
【本書の特徴】
●Version4.5に完全対応
●LPIの審査を通った「LPIC認定教材」(LATM)
●問題→解答・解説がテンポよく読み進められる
●(201)7章+模試(202試験)6章+模試で完全網羅
●LPIアカデミック認定校の講師による信頼の解説
●問題の重要度が一目で分かる
【目次】
第1部 201試験
第1章 キャパシティプランニング
第2章 Linuxカーネル
第3章 システムの起動
第4章 ファイルシステム
第5章 高度なストレージとデバイスの管理
第6章 ネットワークの構成
第7章 システムの保守
201試験 模擬試験
第2部 202試験
第1章 ドメインネームサーバ
第2章 Webサービス
第3章 ファイル共有
第4章 ネットワーククライアント管理
第5章 電子メールサービス
第6章 システムセキュリティ
202試験 模擬試験
第1部 201試験
第1章 キャパシティプランニング
第2章 Linuxカーネル
第3章 システムの起動
第4章 ファイルシステム
第5章 高度なストレージとデバイスの管理
第6章 ネットワークの構成
第7章 システムの保守
201試験 模擬試験
第2部 202試験
第1章 ドメインネームサーバ
第2章 Webサービス
第3章 ファイル共有
第4章 ネットワーククライアント管理
第5章 電子メールサービス
第6章 システムセキュリティ
202試験 模擬試験
バイナリ解析とは、バイナリプログラムとそれに含まれているマシンコードやデータの性質を解析する科学と技術のことだ。セキュリティの脆弱性を狙う攻撃やマルウェアなど、悪意をもつソフトウェアに対処するには、バイナリプログラムの本当の性質を突き止める、そのプログラムが実際に実行することを突き止める必要がある。
本書は、バイナリプログラムの基礎知識、静的解析や動的解析といったバイナリ解析の基本から、ソースプログラムがなくてもバイナリプログラムの内容を書き換えるバイナリ計装といった高度な手法まで、リバースエンジニアリングの範囲を超えて実践的に解説する。
セキュリティエンジニアやセキュリティ研究者、ハッカーやペネトレーションテストの担当者、リバースエンジニア、マルウェアアナリスト、そしてコンピュータサイエンスの学生など、バイナリ解析に興味をもつすべての人を対象とした、最も魅力的で最も手ごわいテーマであるバイナリ解析入門の決定版である。
第I部 バイナリフォーマット
第1章 バイナリを解剖する
第2章 ELFフォーマット
第3章 入門:PEフォーマット
第4章 libbfdを使ってバイナリローダーを作成する
第II部 バイナリ解析の基礎
第5章 Linuxでの基本的なバイナリ解析
第6章 逆アセンブリとバイナリ解析の基礎
第7章 ELFにコードを注入する
第III部 高度なバイナリ解析
第8章 逆アセンブリのカスタマイズ
第9章 バイナリ計装
第10章 動的テイント解析
第11章 libdftを使った実用的な動的テイント解析
第12章 シンボリック実行
第13章 Tritonを使ったシンボリック実行
第IV部 付録
付録A 速習:x86アセンブリ
付録B libelfを使ってPT_NOTEを上書きする
付録C バイナリ解析ツール
付録D 参考文献
Linux活用のための実用情報誌【特集1】「やりたい!」を実現する6つの目的別 Linux環境構築ガイド【特集2】図解でマスター「WSL2」
本書は、LinuxがエンタープライズシステムのOSとして利用されるケースが増えている今日、システム構築に関わるOSやハードウェアの基礎知識をはじめ、エンタープライズシステムに欠かせない高可用性、さらにはパフォーマンスやケーススタディまで、システムの運用管理における知識にも言及した、高い網羅性を持つ解説書です。これまでDBエンジニアとしてDB環境の構築/運用に携わったことのある技術者、もしくはこれから初めてこれらの業務に携わるという技術者向けに最適の1冊です。誰も教えてくれなかったLinux-OS+オープンソースDBによるエンタープライズ構築運用の勘所をしっかり押さえた本書を読めば、LinuxがDBサーバーOSとしていかに最適か分かるはずです。
Linuxのmanページプロジェクト主催者によるLinuxプログラマ必携のリファレンス。Linux開発者(主にシステムプログラマとアプリケーションプログラマ)にとって、プログラミングする上で必要な情報を一冊で網羅。本書で扱う内容は広範囲にわたり一冊でLinuxプログラミングのほぼすべての情報を知ることができます。Linux/UNIX開発者のバイブルとなる一冊。
本書ではLinuxを扱う上で必要となる設定ポイントなどをまとめています。ハードウェアとLinuxの関わり、Linuxカーネルやシェルへの理解を深めた上で、設定ファイルや起動スクリプトの作成について解説します。またサーバとしてよく使われているApacheやPostfixなどのアプリケーションの他に日本語環境やX Windowの設定、認証などについても丁寧に解説を進めています。「Linuxをインストールしたがどのように扱ってよいかわからない」「Linuxはどのような構造で動いているか興味がある」という方にお薦めです。
Linuxって何? コマンドって何? といった初心者でもOK! 実際にコマンド入力を試しながら、操作方法を学べます。
Chapter01 Linuxとは? Linuxコマンドとは?
Chapter02 ユーザ管理
Chapter03 ディレクトリ・ファイルの操作はどうする?
Chapter04 テキスト処理とファイル処理
Chapter05 パッケージとその管理
Chapter06 ハードウェア関連コマンド
Chapter07 ネットワーク系コマンド
Chapter08 シェルスクリプトで簡単プログラミング入門
Chapter09 gitコマンドも覚えよう
Chapter10 システム管理系コマンド
Appendix01 WSL関連の操作
Appendix02 ソースからのインストールで一連のコマンドを覚えよう
本書は1日目〜6日目の6分冊として提供します。各パートは4つのセクションからなり、実際の入門講座でも使用できるように、ひとつのセクションが約1時間を目安に完了するように構成されています。
まず1日目では、終了した段階で、コマンドライン操作の基本が理解できていることを目標に、ターミナルエミュレータの基本操作を説明します。1時間目では、導入編としてUNIX系OSの概要について説明。2時間目では、いよいターミナルエミュレータを起動しシェルコマンドを実行する方法について解説します。3時間目では、ファイルシステムの階層構造とディレクトリ操作について、4時間目ではテキスト補完や履歴などシェルを活用する上で欠かせない基本テクニックについて説明します。
豊富な問題と仮想マシンで合格レベルの技術が身につく!
本書は、コマンドライン経験がまったくない人向けに、マンガでLinuxのコマンドを解説しています。ディレクトリの探り方、Webサーバーのインストール、SSHによる遠隔ログインといった基礎を説明します。
本書は、Linuxの基本とコマンドの使い方をわかりやすく解説した入門書です。Linuxのインストール・基本コマンドの使い方から、現代の開発・運用の現場で必要とされる機能まで、豊富な実行例を交えながら丁寧に解説します。また、本書を使って学習するための仮想マシンファイルをダウンロードすることも可能。書籍に掲載された実行例をそのまま試せるので、コマンドの使い方やオプション指定時の動作の違いなど、実際に手を動かしながらしっかりと学ぶことができます。
第1章 Linuxの基本
第2章 Linux環境の準備
第3章 bashシェルの基本
第4章 ファイルとディレクトリ
第5章 vimの利用
第6章 応用的なファイル操作
第7章 アカウントの管理
第8章 パーミッションとユーザー権限の切り替え
第9章 bashシェルの活用
第10章 プロセスとサービスの管理
第11章 シェルスクリプト
第12章 日時情報の管理とジョブのスケジューリング
第13章 ファイルシステム管理
第14章 パッケージ管理
第15章 ネットワーク管理
第16章 リモート接続
第17章 バージョン管理
第18章 Debian環境の利用
本書は、サーバOSの標準であるCentOSに対応した、Linuxサーバエンジニアのための入門書です。Linuxとは、CentOSとは、ネットワークとはといった基本から始まって、各種サーバの構築や管理・運用までひととおり学べる内容となっています。もちろん、実際にサーバを構築する際にも十分に役に立つ内容となっています。LPIなどの受験対策にもおすすめです。最新のCentOS 8に対応し、クラウド時代に即した管理にも言及しています。
Chapter 1 予備知識
Chapter 2 構築の準備
Chapter 3 CentOS 8のインストール
Chapter 4 デスクトップの基本操作
Chapter 5 コマンドラインからの操作
Chapter 6 最初にやっておくべきこと
Chapter 7 CentOS 8のセキュリティ
Chapter 8 リモートからの管理
Chapter 9 NFSサーバを使う
Chapter 10 DHCPサーバ
Chapter 11 Windowsファイル共有サーバ
Chapter 12 DNSキャッシュサーバ
Chapter 13 DNSコンテンツサーバ
Chapter 14 メールサーバ
Chapter 15 Webサーバ
Chapter 16 サーバ仮想化
Chapter 17 トラブル時の対応
Chapter 18 運用と管理
Chapter 19 SSL/TLS証明書の作成
豊富な図解とイラストで超わかる!コマンドラインの基本と操作が、この一冊でしっかり身につきます。Linuxに触れるのがはじめての初心者、サーバー管理者など上を目指す初級者、Linuxコマンドに触れるすべてのビギナーに最良の入門書!コマンドによる“ファイル操作”“テキスト編集”から“ネットワーク”“システム管理”までしっかり学べます。Debian系、Red hat系対応。
本書はパート1(1日目)〜パート6(6日目)の6分冊として提供します。各パートは4つのセクションからなり、実際の入門講座でも使用できるように、ひとつのセクションが約1時間を目安に完了するように構成されています。
5日目であるパート5では、Linuxにおけるシステム管理の基本について説明する。まず1時間目では、ユーザとグループの管理について解説します。
2時間目と3時間目ではファイルを安全に管理するのに不可欠な、アクセス権や所有者/所有グループの変更方法について解説します。
4時間目ではファイルサイズやディスクの使用状況の調べ方やログファイルの確認方法について解説します。
「Linuxのデバイスドライバは、難しくてよく分からない」と思っている開発者も多く、著者がデバイスドライバの開発業務に関わったときも、アプリ開発とは概念が異なるためなかなか理解できず、仕事で泣かされていたそうです。
それくらい、ハードウェアとの橋渡しをするデバイスドライバ開発は、プログラミングの知識だけでなくハードウェアの知識も必要となってくるので、技術も知識も必要になります。
しかし、本書を読み返すことで、デバイスドライバの基礎が習得でき、「よく分からない」から「なんとなく分かった」にステップアップできます。実際にプログラムを動かしながら、デバイスドライバの基礎を取得できれば、後は応用していくだけです。
本書は、筆者が実際に試行錯誤して得た知識と、経験を元にて、デバイスドライバ開発の基本的な考え方をやさしく解説しています。デバイスドライバ開発をこれから始めるプログラマーや技術者も、基礎からやさしく学ぶことができます。
なお、本書に掲載のLinuxカーネルのソースコードは、カーネル・バージョン「5.11」をベースとした、ARM向けのものを採用。また、Linuxディストリビューションは、「Ubuntu 18.04」を使用しています。
第1章 デバイスドライバの概念
第2章 開発環境の構築
第3章 デバイスドライバの基本
・hello, world.
・ソースファイルとMakefile
・デバイスドライバの登録方法
・システムコール
・ハードウェアの制御
・デバッグ方法
第4章 Device Tree
第5章 セキュアブート
UNIX/Linuxシステムプログラミングをはじめよう
本書は、2007年にピアソン・エデュケーションから発行された『例解UNIXプログラミング教室 -システムコールを使いこなすための12講ー』の改訂版です。
本書は、UNIX/Linuxの機能を使ったC言語プログラミングを解説するものです。UNIXは、ファイルの操作やプロセスの制御、プロセスへのシグナル、ネットワーク通信、端末の操作など、多くの高度な機能を持っています。しかし、システムコールによって、このような機能を利用したプログラムを正しく動作するようつくるためには、UNIXの隠れた概念や制約について知っている必要があり、それらを網羅的に覚えるのは困難です。
本書は、この概念や制約が、それぞれのシステムコールの動作に及ぼす影響を全部覚えるといったアプローチはとっていません。むしろ、必要なときに必要なシステムコールが分かり、それをどう使えばよいのか、そして、その機能には当然どのような制限があるのかが分かるようになるように、UNIXの基本概念とプログラマから見えるUNIXの概観をつかめるよう解説しました。
本書は単なるインタフェースの解説書ではありません。インタフェースの説明をしつつ、 UNIXの概観(エッセンス)を読者に理解してもらうことで、できるだけ楽に、しかも確かなUNIXシステムプログラミングができるようになってもらうことを目指しました。また、豊富なサンプルコードと演習問題を掲載し、実践的なプログラミングの助けとなるようにしています。
<このような方におすすめ>
・C言語の基本を学習し終えた学生、プログラミング入門者
・システムプログラミングのスキルをさらに磨きたいソフトウェアエンジニア
・組込みプログラムやデバイスドライバの開発に必要な基礎知識を学びたいエンジニア
<おもな改訂内容>
・第0章 UNIXの基礎とシェルの新設:UNIXシステムプログラミングを学ぶ準備として、UNIX にまだ慣れていない読者のために、UNIXとはどのようなものか、どのように操作するかを説明する第0章を新設しました。
・用語の見直し:旧版では提案も含めて読者にわかりやすい用語を目指していましたが、この新版では、わかりやすさを保ちつつ、広く使われている語を用いるようにしました。
UNIX自体がすでに成熟しているため、システムプログラミングの部分については小規模な改善を行いました。
なお、すべてのコードは以下のサイトからダウンロードできます。
https://github.com/kazutomi/reikai-unix-code-samples
第0章 UNIX の基礎とシェル
第1章 C の復習 (1):マニュアルの読み方,エラー処理,構造体,共用体
第2章 C の復習 (2):ポインタ,バイトオーダ,複雑な型
第3章 低水準入出力
第4章 標準入出力ライブラリ
第5章 プロセス
第6章 ファイルシステム
第7章 ファイル記述子のコピーとパイプ: dup , dup2 , pipe
第8章 ソケット通信入門
第9章 シグナルと競合状態
第10章 端末 (1) :端末,端末ラインディシプリン, termios 構造体
第11章 端末 (2) :エスケープシーケンス, curses ライブラリ,擬似端末
第12章 非局所脱出: setjmp, longjmp
参考文献
用語集
索引