本書は、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環境の利用
本書は、LinuxがエンタープライズシステムのOSとして利用されるケースが増えている今日、システム構築に関わるOSやハードウェアの基礎知識をはじめ、エンタープライズシステムに欠かせない高可用性、さらにはパフォーマンスやケーススタディまで、システムの運用管理における知識にも言及した、高い網羅性を持つ解説書です。これまでDBエンジニアとしてDB環境の構築/運用に携わったことのある技術者、もしくはこれから初めてこれらの業務に携わるという技術者向けに最適の1冊です。誰も教えてくれなかったLinux-OS+オープンソースDBによるエンタープライズ構築運用の勘所をしっかり押さえた本書を読めば、LinuxがDBサーバーOSとしていかに最適か分かるはずです。
Linux用のデバイスドライバを書くときのバイブルとして多くのプログラマに支持され活用されてきたロングセラー書『Linuxデバイスドライバ』の改訂版。今回の第3版はカーネル2.6に完全対応です。カーネル2.6で様々な機能が追加されたデバイスモデル、カーネルタイマ、メモリ管理、ブロックデバイスについて大幅に加筆修正したほか、TTYドライバ、USBドライバ、その他のLinuxデバイスモデルなどの解説を追加しました。x86以外のアーキテクチャについても触れています。
バイナリ解析とは、バイナリプログラムとそれに含まれているマシンコードやデータの性質を解析する科学と技術のことだ。セキュリティの脆弱性を狙う攻撃やマルウェアなど、悪意をもつソフトウェアに対処するには、バイナリプログラムの本当の性質を突き止める、そのプログラムが実際に実行することを突き止める必要がある。
本書は、バイナリプログラムの基礎知識、静的解析や動的解析といったバイナリ解析の基本から、ソースプログラムがなくてもバイナリプログラムの内容を書き換えるバイナリ計装といった高度な手法まで、リバースエンジニアリングの範囲を超えて実践的に解説する。
セキュリティエンジニアやセキュリティ研究者、ハッカーやペネトレーションテストの担当者、リバースエンジニア、マルウェアアナリスト、そしてコンピュータサイエンスの学生など、バイナリ解析に興味をもつすべての人を対象とした、最も魅力的で最も手ごわいテーマであるバイナリ解析入門の決定版である。
第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を扱う上で必要となる設定ポイントなどをまとめています。ハードウェアとLinuxの関わり、Linuxカーネルやシェルへの理解を深めた上で、設定ファイルや起動スクリプトの作成について解説します。またサーバとしてよく使われているApacheやPostfixなどのアプリケーションの他に日本語環境やX Windowの設定、認証などについても丁寧に解説を進めています。「Linuxをインストールしたがどのように扱ってよいかわからない」「Linuxはどのような構造で動いているか興味がある」という方にお薦めです。
本書は、これから仕事でLinuxを使おうという方はもとより、現場で日々Linuxを使っている方にも役立つ、Linuxのコア技術・カーネルのしくみや、ディストリビューションの最新動向と進化の歴史、UNIXコマンドやシェルスクリプトの実践的な基礎など、必須知識とノウハウが満載です。
サーバー構築・運用管理・セキュリティ・トラブル対策etc。いま現場で必要なLinuxの基礎知識を完全理解。現場で最低限知っておきたいポイントがわかる!
売上No.1のLPIC学習書!
レベル2 Version 4.5対応の最新版!
【概要】
LPIC(Linux技術者認定試験)は、世界共通基準でLinux技術力を認定する
試験で、非常に人気の高い資格です。本書は、その中級資格である
「レベル2」の最新バージョン4.5に対応した学習書です。
Version 4.5では、従来の出題範囲に新たな技術要素が多数追加されました。
本書は、LPI認定テキストとして出題範囲を完全網羅するとともに、
豊富な用例をまじえながらわかりやすく解説しています。LPIC試験の
対策書としてはもちろん、Linuxの学習書としても有用な1冊です。
【本書の特長】
・レベル2の「201試験」「202試験」の2試験に対応
・各章末に豊富な練習問題を掲載
・模擬試験1回分を掲載
・Linux実習環境を翔泳社Webサイトからダウンロード可
【目次】
序章 LPI認定試験の概要
第1部 201試験(LPI Level2 Exam 201)
第1章 キャパシティプランニング
第2章 Linuxカーネル
第3章 システムの起動
第4章 デバイスとファイルシステム
第5章 高度なストレージ管理
第6章 ネットワーク
第7章 システムメンテナンス
第8章 201模擬試験
第2部 201試験(LPI Level2 Exam 202)
第9章 DNS
第10章 Webサーバとプロキシサーバ
第11章 ファイル共有
第12章 ネットワーククライアント管理
第13章 メールサービス
第14章 システムセキュリティ
第15章 202模擬試験
付録 Linux実習環境の使い方
序章 LPI認定試験の概要
第1部 201試験(LPI Level2 Exam 201)
第1章 キャパシティプランニング
第2章 Linuxカーネル
第3章 システムの起動
第4章 デバイスとファイルシステム
第5章 高度なストレージ管理
第6章 ネットワーク
第7章 システムメンテナンス
第8章 201模擬試験
第2部 201試験(LPI Level2 Exam 202)
第9章 DNS
第10章 Webサーバとプロキシサーバ
第11章 ファイル共有
第12章 ネットワーククライアント管理
第13章 メールサービス
第14章 システムセキュリティ
第15章 202模擬試験
付録 Linux実習環境の使い方
Linuxのmanページプロジェクト主催者によるLinuxプログラマ必携のリファレンス。Linux開発者(主にシステムプログラマとアプリケーションプログラマ)にとって、プログラミングする上で必要な情報を一冊で網羅。本書で扱う内容は広範囲にわたり一冊でLinuxプログラミングのほぼすべての情報を知ることができます。Linux/UNIX開発者のバイブルとなる一冊。
Webサーバーをはじめよう。Linuxサーバーの基礎からわかって安心。練習問題&解答・解説集付き。
LinuCは、LPI-Japanが提供するLinux技術者認定資格試験です。日本の大手IT企業などを中心に採用・導入が進んでいます。本書はこのLinuC試験のうち、2020年4月に試験が改定されたLinuCレベル1バージョン10.0(101試験、102試験)の出題範囲をカバーする教科書です。実績ある講師によるわかりやすい解説で、資格取得に必要な確かな力を身につけることができます。改訂新版では、学習用OSとして仮想環境で動作するAlmaLinuxおよびDebian GNU/Linuxのイメージをダウンロード提供します。学習用環境を利用することで、コマンドの実行や設定ファイルの編集など、実際に手を動かしながら学ぶことが可能です。
■基礎編 Linuxの基本
Linuxカーネルとディストリビューション
仮想化環境の利用
Linuxのディレクトリ構造
Debian(CUI)環境へのログインとrootユーザー
AlmaLinux(GUI)環境へのログインと端末の起動
コマンド端末の使い方
主な基本コマンド
■1章 Linuxのインストールと仮想マシン・コンテナの利用
1.1 Linuxのインストール/起動/接続/切断/停止
1.2 仮想マシン・コンテナの概念と利用
1.3 ブートプロセスとsystemd
1.4 プロセスの生成/監視/終了
1.5 デスクトップ環境の利用
■2章 ファイルとディレクトリの操作と管理
2.1 基本的なファイル管理の実行
2.2 ファイルの所有者とパーミッション
2.3 ハードリンクとシンボリックリンクの作成
2.4 ファイルの配置と検索
■3章 GNUとUnixのコマンド
3.1 コマンドラインの動作
3.2 フィルタを使ったテキストストリームの処理
3.3 ストリーム、パイプ、リダイレクトの使用
3.4 正規表現を使用したテキストファイルの検索
3.5 エディタを使った基本的なファイル編集の実行
■4章 リポジトリとパッケージ管理
4.1 アプリケーション管理
4.2 aptコマンドによるパッケージ管理
4.3 Debianパッケージ管理
4.4 yumコマンドによるパッケージ管理
4.5 RPMパッケージ管理
■5章 ハードウェア、ディスク、パーティション、ファイルシステム
5.1 ハードウェアの基本知識と設定
5.2 HDD/SSDのレイアウトとパーティション
5.3 ファイルシステムの作成/管理/マウント
■101試験模擬問題
■6章 シェルおよびスクリプト
6.1 シェル環境のカスタマイズ
6.2 シェルスクリプト
■7章 ネットワークの基礎
7.1 インターネットプロトコルの基礎
7.2 基本的なネットワーク構成
7.3 基本的なネットワークの問題解決
7.4 クライアント側のDNS設定
■8章 システム管理
8.1 アカウント管理
8.2 ジョブ管理
8.3 ローカライゼーションと国際化
■9章 重要なシステムサービス
9.1 システム時刻の保守
9.2 システムのログ
9.3 メール配送エージェント(MTA)の基本
■10章 セキュリティ
10.1 セキュリティ管理業務の実施
10.2 ホストのセキュリティ設定
10.3 暗号化によるデータの保護
10.4 クラウドセキュリティの基礎
■11章 オープンソースの文化
11.1 オープンソースの概念とライセンス
11.2 オープンソースのコミュニティとエコシステム
■102試験模擬問題
本書は、サーバ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を使いこなすために必要な知識です。Linuxシステムがどのように機能しているかを知ることで、実践方法をユーザー自身が導き出せるようになります。
本書は、コマンドライン経験がまったくない人向けに、マンガでLinuxのコマンドを解説しています。ディレクトリの探り方、Webサーバーのインストール、SSHによる遠隔ログインといった基礎を説明します。
豊富な図解とイラストで超わかる!コマンドラインの基本と操作が、この一冊でしっかり身につきます。Linuxに触れるのがはじめての初心者、サーバー管理者など上を目指す初級者、Linuxコマンドに触れるすべてのビギナーに最良の入門書!コマンドによる“ファイル操作”“テキスト編集”から“ネットワーク”“システム管理”までしっかり学べます。Debian系、Red hat系対応。
「Linuxのデバイスドライバは、難しくてよく分からない」と思っている開発者も多く、著者がデバイスドライバの開発業務に関わったときも、アプリ開発とは概念が異なるためなかなか理解できず、仕事で泣かされていたそうです。
それくらい、ハードウェアとの橋渡しをするデバイスドライバ開発は、プログラミングの知識だけでなくハードウェアの知識も必要となってくるので、技術も知識も必要になります。
しかし、本書を読み返すことで、デバイスドライバの基礎が習得でき、「よく分からない」から「なんとなく分かった」にステップアップできます。実際にプログラムを動かしながら、デバイスドライバの基礎を取得できれば、後は応用していくだけです。
本書は、筆者が実際に試行錯誤して得た知識と、経験を元にて、デバイスドライバ開発の基本的な考え方をやさしく解説しています。デバイスドライバ開発をこれから始めるプログラマーや技術者も、基礎からやさしく学ぶことができます。
なお、本書に掲載のLinuxカーネルのソースコードは、カーネル・バージョン「5.11」をベースとした、ARM向けのものを採用。また、Linuxディストリビューションは、「Ubuntu 18.04」を使用しています。
第1章 デバイスドライバの概念
第2章 開発環境の構築
第3章 デバイスドライバの基本
・hello, world.
・ソースファイルとMakefile
・デバイスドライバの登録方法
・システムコール
・ハードウェアの制御
・デバッグ方法
第4章 Device Tree
第5章 セキュアブート
本書は1日目〜6日目の6分冊として提供します。各パートは4つのセクションからなり、実際の入門講座でも使用できるように、ひとつのセクションが約1時間を目安に完了するように構成されています。
まず1日目では、終了した段階で、コマンドライン操作の基本が理解できていることを目標に、ターミナルエミュレータの基本操作を説明します。1時間目では、導入編としてUNIX系OSの概要について説明。2時間目では、いよいターミナルエミュレータを起動しシェルコマンドを実行する方法について解説します。3時間目では、ファイルシステムの階層構造とディレクトリ操作について、4時間目ではテキスト補完や履歴などシェルを活用する上で欠かせない基本テクニックについて説明します。
Linux PCを最大限に使いこなす方法を紹介します。Linuxに興味を持った人や、Linuxをインストールしたけれど使い道がないと嘆いてる人に、おススメです!
■Linuxは「フリーソフト」が充実しています。主要なジャンルごとにお薦めのフリーソフトを厳選して紹介しています
■Linuxで新しい趣味を始めたり、スキルアップを目指したりしませんか?動画配信やプログラミング開発など、目的別Linux環境の構築方法を紹介しています
■PCでの手作業や処理の実行、クラウドや外部機器と連携した処理の実行などを自動化する方法が分かります
■すべての記事は2025年4月までサポートが保証されている「Ubuntu 20.04 LTS」で動作検証済みです
Linux専門誌の「日経Linux」に掲載した記事を選りすぐり、再検証・再編集してまとめました!
第1章 定番アプリの選び方&市販ゲームの楽しみ方
1-1 定番アプリをサーベイ&チョイス
GUIツールで簡単にインストール
Webブラウザー/動画再生/音楽再生/動画編集/付箋アプリ/テキストエディタ/ターミナル/コードエディタ/Markdownエディタ/ドキュメントビューアー
1-2 Linuxで市販ゲームを楽しむ方法
第2章 目的別Linux環境を構築する4つの方法
Linuxを活用した趣味やスキルアップ!
そのためのLinux環境の構築方法を紹介
2-1 デスクトップ環境
2-3 動画制作・配信環境
2-2 リモートワーク環境
2-4 プログラミング環境
コラム 最初に覚えておきたいLinuxコマンド(1)
ファイル操作編
第3章 面倒な作業を自動化する
「22」のレシピ
面倒な作業は自動化と連携で解決!
Linuxだから実現できる22のレシピ
3-1 GUI操作自動化ツール
3-2 ワークフローツール
3-3 IoT機器/ラズパイ
3-4 Python
3-5 AI
3-6 Chromebook
3-7 Linux標準機能
コラム 最初に覚えておきたいLinuxコマンド(2)
テキスト操作、ネットワーク操作、プロセス操作編
第4章 Windows PCでLinuxが動く
「WSL」を使いこなす
4-1 導入編
4-2 活用編
4-3 GUIアプリ編
コラム 最初に覚えておきたいLinuxコマンド(2)
ユーザー管理、パッケージ管理、モジュール管理編
第5章 旧型PCをLinuxで復活するワザ
5-1 税込1万円の中古PCも快適に動作?!
5-2 旧型PCを最新のLinuxで復活!
本書は、これからIT 技術やネットワーク技術を勉強したいと考えているICT 業界の新人の方、大学生の方をはじめ、情報ネットワークに関する基礎的な知識を身につけ、サーバの構築によって応用力、実践力を高めたいとお考えの方に読んで頂きたい書籍です。
本書の目的は、主に二つあります。一つはパソコン( PC) やスマートフォンを利用する上で、日常生活にとっても欠かせないものとなってきているインターネットを代表とする情報ネットワークの概念と仕組みを理解すること。もう一つは情報ネットワークの構成法や情報ネットワーク上でのサービスについて基礎的な技術を習得するとともに、情報ネットワークの構成要素であるサーバの構築方法及び管理方法について、手元のPC 上にLinux サーバを構築し、基本的なシステム設計、システム運用について学習することです。
本書の読者には、情報ネットワークへの理解を深めて頂き、少しでも実務に生かせる知識を身につけて頂ければ幸いです。