佐藤 竜一 著
                                                                            
本書は、Linuxが「どのように構成されているのか」「その構成要素はどのようにして作られているのか」についてを平易に解説、UNIX系OSを裏側から支える数々の仕組みを理解できます。Linuxを日常的に利用しているシステム管理者はもちろん、オープンソース・ソフトウェアを開発しようとする開発者や、オープンソース・ソフトウェアの開発に何らかの貢献をしたいと考えているユーザは必読、今までブラックボックスにしていたLinuxソフトウェアの裏側も、この1冊でわかります。
01 プログラムのコンパイルとリンク
  
  01-01 プログラムとは何か
    01-01-01 「プログラム」という語が指す概念
    01-01-02 実行可能形式
    01-01-03 ライブラリ
    01-01-04 プログラミング言語C
  01-02 C言語によるプログラミングとコンパイル
    01-02-01 Cプログラムの基本構造
    01-02-02 プログラムのコンパイルと実行
    01-02-03 ライブラリの利用
    01-02-04 ヘッダファイルの存在意義
  01-03 GCCによるコンパイルの裏側
    01-03-01 コンパイルにおいて行われる処理
    01-03-02 プリプロセス
    01-03-03 コンパイルと最適化
    01-03-04 アセンブリ
    01-03-05 リンク
  01-04 オブジェクトファイルの構造
    01-04-01 プログラムはどのように実行されるか
    01-04-02 ELFの構造
    01-04-03 プログラムのロードとメモリへの割り当て
    01-04-04 デバッグ情報の付与
    01-04-05 シンボルテーブルの除去
  01-05 ライブラリ
    01-05-01 静的ライブラリ
    01-05-02 共有ライブラリ
02 ビルドの自動化とautotools
  
  02-01 makeによるコンパイル手順の自動化
    02-01-01 makeの概要
    02-01-02 ルールの記述方法
    02-01-03 makeの実行
    02-01-04 Makefile内での変数の利用
    02-01-05 暗黙のルールと事前定義の変数
    02-01-06 ビルド以外の処理を行う
    02-01-07 手順の記述に関する詳細
    02-01-08 複数のディレクトリにまたがるmake
    02-01-09 コマンドラインオプション
  02-02 configureスクリプト
    02-02-01 configureの目的
    02-02-02 configureが実行するテストの種類
    02-02-03 configureのオプション
    02-02-04 configureと他のファイルの関係
    02-02-05 システムの標準名
    02-02-06 configureとMakefile中の変数
    02-02-07 キャッシュファイルの利用
  02-03 Autoconfを利用したConfigureスクリプトの作成
    02-03-01 Autoconfの概要
    02-03-02 Autoconfの実例
    02-03-03 Autoconfのテストの基本
    02-03-04 テスト結果の利用方法
    02-03-05 結果のコントロール
    02-03-06 テストに失敗した場合の対応
    02-03-07 問題の報告
    02-03-08 事前定義の出力変数
    02-03-09 configure.ac記述上の注意
    02-03-10 独自のm4マクロの利用
  02-04 Autoconfが提供するm4マクロ
    02-04-01 プログラムの存在調査
    02-04-02 ライブラリファイルの存在調査
    02-04-03 ライブラリ関数の存在調査
    02-04-04 ヘッダファイルの存在調査
    02-04-05 構造体の調査
    02-04-06 型の調査
    02-04-07 宣言の調査
    02-04-08 ファイルの存在調査
    02-04-09 コンパイラ
    02-04-10 システムサービスの調査
    02-04-11 特定のシステムの判定
    02-04-12 パッケージのカスタマイズ
  02-05 Automakeの利用
    02-05-01 Automakeの概要
    02-05-02 Automakeの実例
    02-05-03 Automakeが提供するmakeターゲット
    02-05-04 configureによるテスト結果の取り込み
    02-05-05 ターゲットの指定と統一命名規約
    02-05-06 ディレクトリの分割
    02-05-07 Automakeのその他の機能
  02-06 Libtoolによる共有ライブラリの構築
    02-06-01 Libtoolの概要
    02-06-02 libtoolを単体で利用する
    02-06-03 ライブラリのバージョニング
    02-06-04 LibtoolをAutoconfに組み込む
    02-06-05 Makefile.amに対する拡張
  02-07 pkg-configによる依存情報解決
    02-07-01 pkg-configの概要
    02-07-02 pkg-configコマンドの利用方法
    02-07-03 メタデータファイル
    02-07-04 Autoconfに組み込んで利用する
    02-07-05 メタデータファイルの生成
03 ソフトウェアの国際化
  
  03-01 ソフトウェアの国際化とは
    03-01-01 国際化と地域化
    03-01-02 ローカルの概要
    03-01-03 ローカルとプログラミング
  03-02 gettextによるメッセージの国際化
    03-02-01 gettextの概要
    03-02-02 gettextの利用例
    03-02-03 メッセージカタログの作成と配置
  03-03 メッセージカタログの作成
    03-03-01 メッセージカタログの記述方法
    03-03-02 メッセージカタログの更新
  03-04 gettextのautotoolsの連携
    03-04-01 パッケージのautotools化
    03-04-02 gettextizeの実行
    03-04-03 gettext対応のためのファイル編集
    03-04-04 メッセージカタログのメンテナンス
    03-04-05 パッケージのインストールと配布パッケージの生成
    03-04-06 gettext APIが存在しない環境
04 パッチの作成と適用
  
  04-01 diffによるパッチの作成
    04-01-01 パッチとは何か
    04-01-02 基本的なdiffの利用方法
    04-01-03 diffの出力形式
    04-01-04 大規模なパッチの生成
  04-02 patchによるパッチの適用
    04-02-01 パッチの適用方法
    04-02-02 パッチにまつわるさまざまな処理
05 ドキュメントの記述
  
  05-01 マニュアルページ
    05-01-01 マニュアルページとは
    05-01-02 groff
    05-01-03 マニュアルページの記述
  05-02 Texinfoドキュメント
    05-02-01 Texinfoの基本
    05-02-02 ドキュメントの生成
    05-02-03 Texinfoファイルの記述方法
  05-03 DocBookドキュメント
    05-03-01 DocBookとは何か
    05-03-02 DocBookドキュメントの記述
    05-03-03 DocBookドキュメントの変換
    05-03-04 DocBook文書の分割
06 RPMによるソフトウェア管理
  
  06-01 rpmコマンド
    06-01-01 RPMとその背景
    06-01-02 rpmの基本的な利用方法
    06-01-03 カスタムクエリ
  06-02 RPMパッケージの作成方法
    06-02-01 独自のRPMを作成するメリット
    06-02-02 パッケージ作成の流れ
    06-02-03 パッケージ構築の前準備
    06-02-04 specファイルの記述方法
    06-02-05 パッケージのビルド
  06-03 高度なRPMのパッケージング
    06-03-01 アーカイブの展開
    06-03-02 サブパッケージの利用
    06-03-03 スクリプトの実行
    06-03-04 CPUアーキテクチャとOSの選定
    06-03-05 マクロの利用
    06-03-06 SRPMの利用
    06-03-07 その他の話題
        内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
        
        正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
        その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
      
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
      書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
天地人 さん
2017-03-26
linuxの主にビルドの仕組みについて学習できる。分かってしまえば簡単な仕組みだが、いろいろなディストリビューションがある中で、自動的にインストールできる仕組みを整えるのはやっかいそう。
toiwata さん
2015-10-26
ユーザから見える画面の後ろ側で何が行われているのか。道具箱にはどういうツールが用意されているのか。その一端がわかるようになる本。
tomoya hibi さん
2015-07-09
とりあえず、読むと良い。 とても良い。 説明はしづらい