本書は、「Linux(リナックス)」の心臓部にあたるカーネルについて理解を深め、Linuxを本格的に学ぶ人のための「初めて読むLinuxカーネルの専門書」です。1991年に一人の大学生が趣味で開発を始めたLinuxというOSは、今や、あらゆる分野で使われていると言っても過言ではありません。組み込み機器やスマートフォンなどのモバイル機器、パソコンのOSとしてはもちろん、スーパーコンピュータのOSとしても使われています。
LinuxのカーネルはOSS(Open Source Software)として開発されていて、ソースコードがすべて公開されています。そのソースコードを調べれば、機能の詳細や動作の仕組みが分かりますし、改造して好きなようにカスタマイズすることもできます。
本書の狙いは、Linuxカーネルについて知りたい方に、学習の「入り口」を提供することです。まずはカーネルの全体像を把握して実験できるように、概要解説とモジュールの管理方法、ビルド手順の紹介から始めています。後半では、主だった機能をピックアップし、動作に必要なハードウエアに関するものを含めて仕組みをやや詳しく解説しています。
今回改訂した第2版では、カーネルやディストリビューションの変化に合わせて内容をアップデートすると共に、「プロセス間通信」「仮想化機能」についての解説を追加しました。
第1章 Linux カーネルの基礎
第2章 Linux カーネルのモジュール管理
第3章 Linux カーネルのビルド方法
第4章 タスクスケジューラの仕組み
第5章 仮想メモリーを実現する仕組み
第6章 コンテキストスイッチの仕組み
第7章 物理メモリー管理の仕組み
第8章 ファイルシステムの仕組み
第9章 プロセス間通信の仕組み
第10章 仮想化機能「KVM」の仕組み
Linux活用のための実用情報誌【特集1】基本から最新技術の体験まで Linuxサーバー構築超入門
【特集2】LinuxユーザーのためのWindows 11最速連携ガイド
Linux活用のための実用情報誌【特集1】デスクトップからサーバー、IoTまで〜全力で守るLinuxセキュリティ【特集2】あなたにピッタリなアプリはどれ?ジャンル別フリーソフト徹底比較
最新バージョン、5.0に完全対応。LPIの厳正な審査に合格した認定教材。解くだけでみるみる合格力がつく分野別問題+模擬試験1回分=504問を掲載。問題→解説の順にテンポよく読み進められる。問題の重要度がひと目でわかるアイコン付き。
初心者、入門者を対象にしたLinuxの解説書です。
Ubuntu、Lubuntu、Puppy Linuxついて詳しく解説しています。
Windows XPやVistaなど、古いOSしか入っておらず、
放って置かれているパソコン……これらはLinuxをインストールすることで、
快適に動く新しいパソコンとして生まれ変わらせることができます。
ネットに接続してホームページを見たり、YouTube動画を鑑賞できる
ことなどはもちろん、OS自体が軽いので、Windowsのときのようなモッサリした
重さともオサラバできるのです。
また、2020年1月にはサポートの終了するWindows 7が入った
パソコンを現在使っている方も必見の内容です。
今からLinuxを少しずつ学び、準備しておけば、サポート終了後も
スムーズにLinuxに移行でき、同じパソコンをずっと使い続けられます。
解説しているそれぞれのLinuxは、本誌の専用ダウンロードサイトから
簡単にダウンロードでき、インストールできます。
完全無料で仕事にも遊びにも快適に使えるLinuxを
これを機会に始めましょう!
あらゆる制約から解き放たれた「Linux」
Linuxを実際に使っていくには?
自分のマシンスペックに合ったLinuxを選ぼう!
これだけは知っておきたいLinuxの予備知識
Linuxのインストールを始める前に
[準備編]Windowsのデータをバックアップする
ダウンロードサイトの使い方
Part1 Ubuntu編
Ubuntuを使うために必要なスペックは?
UbuntuとWindowsとの違い
USBメモリからUbuntuをインストールする
デュアルブートでインストールするには?
[ロードテスト1]初心者がUbuntuを使ってみた!
Part2 Lubuntu編
Lubuntuを使うために必要なスペックは?
LubuntuとWindowsとの違い
USBメモリからLubuntuをインストールする
アプリをインストールする
[ロードテスト2]初心者がLubuntuを使ってみた!
Part3 Puppy Linux編
Puppy Linuxを使うために必要なスペックは?
Puppy LinuxとWindowsとの違い
XenialPup7.5日本語化版を使ってみる
Precise5.7.1公式日本語化版を使ってみる
[ロードテスト3]初心者がPuppy Linuxを使ってみた!
Part4 そのほかのお勧めディストリビューション
低スペックなパソコンでも動く「Q4OS」
Ubuntuベースで軽い「Xubuntu」
最新技術が取り入れられた「Fedora」
目的に合ったものを選べる「Linux Mint」
ポートスキャンで攻撃手法を理解しセキュリティ思考を深める!
脆弱性診断やペネトレーションテストで使われる技術にポートスキャンがあります。本書では、ポートスキャンを用いて攻撃者がネットワークを経由してどのように攻撃してくるのかを具体的な手法を交えて学び、攻撃手法を知ることでセキュリティレベルの向上を目指します。Scapyを用いたポートスキャナの自作、ポートスキャンの仕組みとネットワークプログラミングの基本、脆弱性診断やペネトレーションテストで不可欠なツールなどについて解説します。
はじめてでも安心!サーバー構築・運用の初歩がわかる。「サーバーってなんだろう?」知識ゼロから、動かして学んでいく。Linuxサーバーの基本を知ろう。
Linuxサーバーの構築がはじめてでも分かる!
●豊富な写真と図解で、はじめてでもつまずくことなくサーバーを構築できます
●手順は一番人気の「Ubuntu 20.04 LTS」を使って具体的に紹介しているので、りに進めればサーバーを構築できます
記事通
●ファイル共有やブログ、フォトギャラリーなど幅広いサーバーアプリを紹介しているので、自分の目的に合ったサーバーを構築できます
●話題の新技術「WSL2」と「Docker」を使った新たなサーバー構築の手法も解説しています
Linux専門誌の「日経Linux」に掲載した記事を選りすぐり、再検証・再編集してまとめました!
シェルスクリプティングの基礎から、sedやAWKとの連携までをコンパクトに解説!
Linuxシェルスクリプトの解説書。その中でも特にbashのシェルスクリプティングに焦点を当てています。シェルスクリプトの書き方、デバッグ方法、bashプログラミングの基本といったシェルスクリプティングの基礎から、sedやAWKなど各種ツールとの連携といった実践的な応用までを体系的に解説します。WebサーバーなどのLinuxシステムの管理を任されるようになった初級の管理者にも、もっと高度で実践的なテクニックを必要としている中級の管理者や開発者にも広く役に立つ内容です。
Linux活用のための実用情報誌どんなマシンもLinuxサーバーに!
Linuxはオペレーチィングシステムの一種であり、Webサーバや企業内の基幹サーバとして急速にシェアを伸ばしてきました。その中立的な資格として、ネットワークの運用・管理ができるエキスパートを認定する資格がLinux技術者認定試験(LPIC)です。認定は、非営利団体The Linux Professional Institute Inc(LPI)が行い、180か国・9言語で展開されています。
Linux Essentials認定試験は、Linuxを基本から学びたいという要望を受け、2012年に英語版、2018年に日本語版がリリースされました。本書はLPI公式認定の対策書籍であり、試験範囲の解説と確認問題を収録し、短期間での習得・試験合格を目指せる教材です。
第1編 Linuxとオープンソースの文化
第1章 Linuxとは
第2章 オープンソースの概念とライセンス
第3章 ディストリビューション
第4章 主要なオープンソースアプリケーション
第2編 コマンドライン操作
第1章 コマンドライン操作の基礎
第2章 ヘルプの参照
第3章 ファイルとディレクトリの操作
第4章 テキストファイルの操作
第5章 アーカイブの作成
第6章 テキストエディタの操作
第7章 スクリプトの基本
第3編 コンピュータ資源の利用
第1章 PCリソースの利用
第2章 ネットワークの利用
第4編 Linuxのセキュリティ機能
第1章 Linuxのユーザーとグループ
第2章 ファイルとディレクトリのパーミッション
【別冊】演習問題の解答・解説
本書はAWSクラウド上で、Linuxによるサーバー構築をゼロから学べる書籍です。
ゼロ(やったことがないこと)をイチ(やったことがある)にすることを目的に、制作しました。
これからクラウドやLinuxを学ぶ、次の方々を対象としています。
・ITエンジニア職を目指す学生
・ITエンジニア職への転職を予定している社会人
・内製化にシフトしようとしている情報システム部門
・情報システム部に異動になった非IT部門
近年、システムを構築する手段としてクラウドは欠かせない技術となっております。
Linuxサーバーも例に漏れず、マイクロサービス、サーバーレスアーキテクチャといった、サーバーを開発者や運用者が管理しないクラウド最適化された構成が増えてきています。しかし、これらはあくまでも最適な設計をするための一手段でしかありませんし、依然としてサーバーも有効な設計手段です。
また、クラウドへの移行時には、いきなりすべての設計や運用を最適化するケースよりも、まずはそのままの設計、運用で移行するケースも多くあります。
本書を通じて学ぶことで、そのような移行案件や新規案件、クラウド上でのサーバー運用、構築をこれから担当される方々に、実際に手を動かしながら、クラウド上でLinuxサーバーを構築することの、スピード、俊敏性、機動性に触れていただき、IT 技術の素晴らしさを知ることができます。
第1章 環境の概要
第2章 セキュアな環境を構築する
第3章 AWSでのLinuxサーバーを起動しよう
第4章 管理者を設定しよう
第5章 インストールを実行してみよう
第6章 ターミナルでコマンド操作してみよう
第7章 ファイルを操作してみよう
第8章 エディタを操作してみよう
第9章 パーミッションで権限を設定しよう
第10章 スクリプトを実行してみよう
第11章 Linuxサーバーをモニタリングしてみよう
第12章 Linuxのセキュリティを設定しよう
第13章 ネットワークについて学ぼう
第14章 バージョン管理もAWSで
第15章 コンテナ環境を作ってみよう
第16章 データーベースを操作してみよう
第17章 WordPressサーバーを構築してみよう
第18章 Redmineサーバーを構築してみよう
第19章 EC2インスタンス もっと知りたいこと
第20章 学習の終わりにAWSリソースを削除しよう
「Linuxのデバイスドライバは、難しくてよく分からない」と思っている開発者も多く、著者がデバイスドライバの開発業務に関わったときも、アプリ開発とは概念が異なるためなかなか理解できず、仕事で泣かされていたそうです。
それくらい、ハードウェアとの橋渡しをするデバイスドライバ開発は、プログラミングの知識だけでなくハードウェアの知識も必要となってくるので、技術も知識も必要になります。
しかし、本書を読み返すことで、デバイスドライバの基礎が習得でき、「よく分からない」から「なんとなく分かった」にステップアップできます。実際にプログラムを動かしながら、デバイスドライバの基礎を取得できれば、後は応用していくだけです。
本書は、筆者が実際に試行錯誤して得た知識と、経験を元にて、デバイスドライバ開発の基本的な考え方をやさしく解説しています。デバイスドライバ開発をこれから始めるプログラマーや技術者も、基礎からやさしく学ぶことができます。
なお、本書に掲載のLinuxカーネルのソースコードは、カーネル・バージョン「5.11」をベースとした、ARM向けのものを採用。また、Linuxディストリビューションは、「Ubuntu 18.04」を使用しています。
第1章 デバイスドライバの概念
第2章 開発環境の構築
第3章 デバイスドライバの基本
・hello, world.
・ソースファイルとMakefile
・デバイスドライバの登録方法
・システムコール
・ハードウェアの制御
・デバッグ方法
第4章 Device Tree
第5章 セキュアブート
サーバーの実運用ももう怖くない!
安全な操作・設定のノウハウ満載
〜シス管系女子シリーズ5万部突破
新エピソードを加えさらにパワーアップ〜
本書はLinuxサーバー管理とシェルスクリプトがまんがで楽しく学べます。
システム管理部門の新人社員 利奈みんとちゃんと、先輩社員 大野桜子さんとのやり取りを通して、すぐに役立つ情報を分かりやすく解説。初めての方や初心者でも楽しんで読めます。
シリーズ第1弾「コマンド&シェルスクリプト基礎編」とあわせて読むとさらに理解が深まります。
Linux活用のための実用情報誌【特集1】はじめてでも確実に動かせる!ステップアップ式Linuxサーバー超入門!【特集2】最新バージョンが一足先に使える!Snap&Flatpakで入れる最新フリーソフト20選
特集1 5大人気ボード 電子工作超入門
「半導体不足で在庫が不足し、電子工作のボードがなかなか買えない…」。そんな今にふさわしい特集を企画しました。5種の人気ボードにすべて対応した電子工作の入門特集です。「GPIO」や「I2C」を使った電子パーツの制御方法は、どのボードでも同じです。手に入れられたボードを使って、今こそ電子工作を始めましょう。
◆5大人気ボードはこう選ぶ、ラズパイをうまく買う方法も伝授
◆プログラムを開発する環境を整えよう、5大ボードの端子などの違いもチェック
◆デジタル出力 電圧のオン、オフでLEDの点灯などを制御できる
◆デジタル入力 スイッチやセンサーの状態を読み取れる
◆PWM出力 モーターの回転速度などを調節できる
◆アナログ入力 アナログセンサーなどの電圧を読み取れる
◆I2C デジタル通信で多様なデータをやり取りできる
特集2 Picoの強力な機能を引き出す!脈拍のグラフを小型画面に表示
特集3 みんなのラズパイコンテスト2021 グランプリ
走行中の列車を自動で流し撮り「OpenCV」で高速認識して追尾
特集4 古いラズパイをフル活用!
Node-REDで楽しい電子工作 IoTクラウドと連携し「天気痛ボタン」を製作
特集5 ラズパイで鉄道模型の自動運転にチャレンジしよう
特集6 ラズパイで楽しむLinuxライフ
オンラインのドキュメント編集をNextcloudとCollabora Onlineで実現
講座 実験して分かる電子パーツの動かし方
第12回 多様な光センサーを試す
講座 ハード&ソフトをちょい足し 新しいラズパイの遊び方
第14回 ラズパイはデスクトップマシンの夢を見るか
講座 ラズパイ&PC両対応 Linuxで学ぶセキュリティ入門
第1回 セキュリティの概要とローカルでの対策
講座 IoT時代の電子工作
第3回 CO2濃度をスマホでチェックする
講座 電子工作にも役立つ!基礎からわかるLinuxコマンド 第10回
【付録冊子】
フルカラー52ページ
温度からにおいまでセンサー200種総ガイド+工作例3種
「Linuxカーネル」はとにかく機能が豊富すぎて、学ぼうとしても、どこから手を付けてよいか分からないものです。また、「Linuxカーネル」のすべてを理解している人は存在せず、各人の得意分野に特化して、「Linuxカーネル」を理解していると考えられます。そのため、何らかの目標を設定してから、「Linuxカーネル」のソース・コードを読み進めるようにしないと、発散してしまい、学習はうまくいきません。そこで、本書では、「アプリケーション」および「ライブラリ」が、どのようにして「Linuxカーネル」の機能を活用しているかに着目して、「アプリケーション」から「カーネル」までの「ソース・コード」を見ていくことで、「Linuxカーネル」の実装を学んでいきます。
Linux活用のための実用情報誌【特集1】ポイントは「組み合わせ方」と「自動化」〜注目技術の中から、特にLinuxと組み合わせて使うことでより便利に楽しく使えるようになるものをピックアップし、目的に合わせた具体的な組み合わせ方などをレシピ形式でお届けします。【特集2】最新版「Ubuntu 21.04」を徹底解説