本書は、LinuxがエンタープライズシステムのOSとして利用されるケースが増えている今日、システム構築に関わるOSやハードウェアの基礎知識をはじめ、エンタープライズシステムに欠かせない高可用性、さらにはパフォーマンスやケーススタディまで、システムの運用管理における知識にも言及した、高い網羅性を持つ解説書です。これまでDBエンジニアとしてDB環境の構築/運用に携わったことのある技術者、もしくはこれから初めてこれらの業務に携わるという技術者向けに最適の1冊です。誰も教えてくれなかったLinux-OS+オープンソースDBによるエンタープライズ構築運用の勘所をしっかり押さえた本書を読めば、LinuxがDBサーバーOSとしていかに最適か分かるはずです。
Linux用のデバイスドライバを書くときのバイブルとして多くのプログラマに支持され活用されてきたロングセラー書『Linuxデバイスドライバ』の改訂版。今回の第3版はカーネル2.6に完全対応です。カーネル2.6で様々な機能が追加されたデバイスモデル、カーネルタイマ、メモリ管理、ブロックデバイスについて大幅に加筆修正したほか、TTYドライバ、USBドライバ、その他のLinuxデバイスモデルなどの解説を追加しました。x86以外のアーキテクチャについても触れています。
インストールから機能・仕組み、アプリ作り、管理・運用まで
PosgreSQLの基本を一通り学べる定番入門書
PostgreSQLはオープンソースのリレーショナルデータベース管理システム(RDBMS)です。Linux、macOSといったUNIX系OSはもちろんのこと、Windowsにも対応しています。本書は、初めてPostgreSQLに触れる、あるいはそもそもデータベースに触れるのが初めてという方や、ちょっと使ったことはあるけどもう少し詳しく知りたいという方に向けた入門書です。第4版では、PostgreSQL 11をベースに全面的な改訂を行い、新旧問わずPostgreSQLの基本として初学者が押さえておくべきポイントを選別しています。
日ごろからPostgreSQLと深く関わっている執筆陣が、豊富な経験と知識をもとに、そのインストール方法、SQLの使い方から、アプリケーションの作成、そして運用にいたるまでを、さまざまな分野/視点から解説しています。また、PostgreSQLの最新の機能であるロジカルレプリケーションやパラレルクエリに関しても解説しています。
【構成】
Chapter 1 PostgreSQLについて知ろう
Chapter 2 インストール(Windows編/Linux編)
Chapter 3 WindowsでPostgreSQLを使う〜かんたんpgAdminマニュアル
Chapter 4 SQL入門
Chapter 5 PHPでPostgreSQLを使う〜PHPアプリケーションの作成(1)
Chapter 6 PHPでPostgreSQLを使う〜PHPアプリケーションの作成(2)
Chapter 7 PostgreSQLの仕組みを理解する
Chapter 8 PostgreSQLをきちんと使う
Chapter 9 PostgreSQLをセキュアに使う
Chapter 10 PostgreSQLの動作状況を把握する
Chapter 11 PostgreSQLをメンテナンスする
Chapter 12 PostgreSQLのバックアップとリストア
Chapter 13 レプリケーションを使う
本書には、Linuxの概要、カーネル、Cライブラリ、Cコンパイラなどプログラミングの基礎知識から、ファイルI/O、バッファサイズ管理、メモリマッピング、最適化技術、システムコール、メモリ管理まで、プログラマの観点から実践的なトピックが多く盛り込まれている。Linuxカーネル動作についても、その内部実装よりもプログラマがソースコードを書くために必須の知識が凝縮。カーネル2.6対応。
「Linuxのデバイスドライバは、難しくてよく分からない」と思っている開発者も多く、著者がデバイスドライバの開発業務に関わったときも、アプリ開発とは概念が異なるためなかなか理解できず、仕事で泣かされていたそうです。
それくらい、ハードウェアとの橋渡しをするデバイスドライバ開発は、プログラミングの知識だけでなくハードウェアの知識も必要となってくるので、技術も知識も必要になります。
しかし、本書を読み返すことで、デバイスドライバの基礎が習得でき、「よく分からない」から「なんとなく分かった」にステップアップできます。実際にプログラムを動かしながら、デバイスドライバの基礎を取得できれば、後は応用していくだけです。
本書は、筆者が実際に試行錯誤して得た知識と、経験を元にて、デバイスドライバ開発の基本的な考え方をやさしく解説しています。デバイスドライバ開発をこれから始めるプログラマーや技術者も、基礎からやさしく学ぶことができます。
なお、本書に掲載のLinuxカーネルのソースコードは、カーネル・バージョン「5.11」をベースとした、ARM向けのものを採用。また、Linuxディストリビューションは、「Ubuntu 18.04」を使用しています。
第1章 デバイスドライバの概念
第2章 開発環境の構築
第3章 デバイスドライバの基本
・hello, world.
・ソースファイルとMakefile
・デバイスドライバの登録方法
・システムコール
・ハードウェアの制御
・デバッグ方法
第4章 Device Tree
第5章 セキュアブート
本書は、これから仕事でLinuxを使おうという方はもとより、現場で日々Linuxを使っている方にも役立つ、Linuxのコア技術・カーネルのしくみや、ディストリビューションの最新動向と進化の歴史、UNIXコマンドやシェルスクリプトの実践的な基礎など、必須知識とノウハウが満載です。
Linuxって何? コマンドって何? といった初心者でもOK! 実際にコマンド入力を試しながら、操作方法を学べます。
Chapter01 Linuxとは? Linuxコマンドとは?
Chapter02 ユーザ管理
Chapter03 ディレクトリ・ファイルの操作はどうする?
Chapter04 テキスト処理とファイル処理
Chapter05 パッケージとその管理
Chapter06 ハードウェア関連コマンド
Chapter07 ネットワーク系コマンド
Chapter08 シェルスクリプトで簡単プログラミング入門
Chapter09 gitコマンドも覚えよう
Chapter10 システム管理系コマンド
Appendix01 WSL関連の操作
Appendix02 ソースからのインストールで一連のコマンドを覚えよう
Webサーバーをはじめよう。Linuxサーバーの基礎からわかって安心。練習問題&解答・解説集付き。
これからLinuxを学ぶ方に向けた,コマンドによる操作,テキストエディタの使いかた,シェルの環境設定やネットワーク設定といった,Linuxを扱ううえで「これだけは知っておきたい」知識を,豊富な実習例を通して学べるテキストです.
また,プログラムの開発環境,LaTeX,GNUPLOTなど,Linuxを用いた研究やレポート執筆に欠かせない必須アプリケーションについても,あわせて解説しています.
Linuxをはじめて使う大学生・エンジニアにおすすめの1冊です.
第1章 基本操作
第2章 基本コマンド
第3章 応用コマンド
第4章 エディタ
第5章 ソフトウェア開発
第6章 文書作成ツール -LaTeX
第7章 文書作成ツール -グラフや図を描く
第8章 シェル
第9章 環境設定
第10章 ネットワークとサービス
第11章 システム管理
付録A コマンドリファレンス
付録B 正規表現
本書ではLinuxを扱う上で必要となる設定ポイントなどをまとめています。ハードウェアとLinuxの関わり、Linuxカーネルやシェルへの理解を深めた上で、設定ファイルや起動スクリプトの作成について解説します。またサーバとしてよく使われているApacheやPostfixなどのアプリケーションの他に日本語環境やX Windowの設定、認証などについても丁寧に解説を進めています。「Linuxをインストールしたがどのように扱ってよいかわからない」「Linuxはどのような構造で動いているか興味がある」という方にお薦めです。
本書は、サーバ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証明書の作成
本書は1日目〜6日目の6分冊として提供します。各パートは4つのセクションからなり、実際の入門講座でも使用できるように、ひとつのセクションが約1時間を目安に完了するように構成されています。
まず1日目では、終了した段階で、コマンドライン操作の基本が理解できていることを目標に、ターミナルエミュレータの基本操作を説明します。1時間目では、導入編としてUNIX系OSの概要について説明。2時間目では、いよいターミナルエミュレータを起動しシェルコマンドを実行する方法について解説します。3時間目では、ファイルシステムの階層構造とディレクトリ操作について、4時間目ではテキスト補完や履歴などシェルを活用する上で欠かせない基本テクニックについて説明します。
豊富な図解とイラストで超わかる!コマンドラインの基本と操作が、この一冊でしっかり身につきます。Linuxに触れるのがはじめての初心者、サーバー管理者など上を目指す初級者、Linuxコマンドに触れるすべてのビギナーに最良の入門書!コマンドによる“ファイル操作”“テキスト編集”から“ネットワーク”“システム管理”までしっかり学べます。Debian系、Red hat系対応。
本書は、コマンドライン経験がまったくない人向けに、マンガでLinuxのコマンドを解説しています。ディレクトリの探り方、Webサーバーのインストール、SSHによる遠隔ログインといった基礎を説明します。
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で復活!
サーバー構築・運用管理・セキュリティ・トラブル対策etc。いま現場で必要なLinuxの基礎知識を完全理解。現場で最低限知っておきたいポイントがわかる!
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
参考文献
用語集
索引
本書はパート1(1日目)〜パート6(6日目)の6分冊として提供します。各パートは4つのセクションからなり、実際の入門講座でも使用できるように、ひとつのセクションが約1時間を目安に完了するように構成されています。
5日目であるパート5では、Linuxにおけるシステム管理の基本について説明する。まず1時間目では、ユーザとグループの管理について解説します。
2時間目と3時間目ではファイルを安全に管理するのに不可欠な、アクセス権や所有者/所有グループの変更方法について解説します。
4時間目ではファイルサイズやディスクの使用状況の調べ方やログファイルの確認方法について解説します。