トレーニング > Linuxカーネル開発 > Linux、オープンソース開発、GIT(LFD301)の概要
インストラクター主導のコース

Introduction to Linux, Open Source Development, and GIT (LFD301)

Linuxは爆発的に増加しており、Linux開発者への需要はかつてないほど強くなっています。このコースでは、Linux開発の世界を紹介し、Linuxの使用を開始するために必要な背景とトレーニングを提供します。 Linux開発に入ることを考えているなら、これは始めるのに最適な場所です!

対象者

このコースは、別のオペレーティングシステムのコンピューターユーザーを既に経験しているが、Linux環境での作業経験が限られているか、まったくない学生を対象としています。このコースの情報は、主要なLinuxディストリビューションで機能します。
少なく読む 続きを読む
学習内容

このコースでは、Linuxの歴史と、他のUNIXライクなオペレーティングシステムとの違い、Linuxシステムの主な構成要素とその使用方法、ユーザーアカウントやグループなどのシステム管理の基本について学びます。 、重要なコマンド、ファイルシステム、セキュリティなど、ネットワーキングモデルとスレッドモデル、ライブラリのコンパイルと使用の側面、LinuxでのJavaの操作など。
少なく読む 続きを読む
身につく知識

Linuxの求人市場は熱く、Linux開発者は他の多くの人よりも給与が高く、柔軟性が高く、より充実した仕事を提供されています。このコースでは、プロのLinux開発者の仲間入りをする準備をします。
少なく読む 続きを読む
おもなテーマ
すべて展開
すべて折りたたむ
はじめに
-目的と対象者
- The Linux Foundation
-著作権および機密情報なし
- Linux Foundationトレーニング
- 認証プログラムとデジタル バッジ
-ソフトウェアはどこから来たのですか?
-Linuxへの移行は難しいですか?
-移行に関する考慮事項
-移行支援とドキュメント
-システム管理の範囲と範囲
- システムの準備
- プロシージャ
- Linuxにおける変化
- 演習
オープンソースソフトウェア
-オープンソースソフトウェアとは何ですか?
-プロプライエタリ(クローズドソース)ソフトウェアとは何ですか?
-実用主義vs理想主義
-オープンソースソフトウェアの歴史
-オープンソースガバナンスモデル
- 演習
オープンソースソフトウェアを使用する理由
-共同開発
-ソースコードのセキュリティと品質
-ユーザー:柔軟性
-ビジネス:共同開発
-ビジネス:マーケティング
-教育:El-Hi、公共システム
-教育:大学
-開発者:可視性の向上
- 演習
成功したOSSプロジェクトの例
-Linuxカーネル
- ギット
-Apache
-Python、Perl、その他のコンピューター言語
-TEXとLATEX
-GNU:gcc、gdbなど
-Xおよびデスクトップマネージャー
-OpenStack、Kubernetes、およびその他のプロジェクト
- 演習
OSSプロジェクトでの作業方法
- 適切に貢献するには
-コードがどこから来ているかを知る:DCOとCLA
- プロジェクトのDNAを研究して理解する
- スクラッチするべき部分を見つけ出す
- メンテナーおよび彼らのワークフローやメソッドを特定する
- 早い段階で意見を訊き、オープンに作業する
- 大きなコード ダンプではなく、差分のコードをコントリビュートする
- エゴを捨てよう。敏感にならないように。
- 忍耐強く、長期的な関係を築き、助けの手を差し伸べよう
- 演習
継続的インテグレーション
-なぜ継続的インテグレーションなのか?
-継続的デリバリーと継続的デプロイ
-コストとメリット
-ツール
-例:Linuxカーネル継続的インテグレーションプロジェクト
-継続的デリバリー財団
OSSライセンスと法的問題
-制限的ライセンスと許容的ライセンス
-FUD
-ソフトウェア特許
-特許とライセンス
-ライセンスの選択
-ライセンスの組み合わせ
- 演習
リーダーシップとコントロール、そしてプロジェクトが失敗する理由
-リーダーシップvsコントロール
-チェーンを緩めます
-メンタリング
- 建物の信頼
-なぜ多くのOSSプロジェクトが失敗するのですか
- 演習
OSSの多様性の尊重と促進
-多様性とオープンソースソフトウェア
-性別と性同一性
-出身国、地理、言語
-宗教と政治
-意見の違い
- 演習
GitHubおよびその他のホスティングプロバイダー
-GitHub
-パブリックvsプライベート
-GUIとコマンドライン
- 演習
Linuxとオペレーティングシステム
-カーネルとオペレーティングシステムおよびツール
-Linuxの歴史
-UNIXおよびLinux
- Linuxディストリビューション
-Linux Standard Base(LSB)
- 演習
グラフィカル環境とインターフェース
-グラフィカルレイヤー
-Xウィンドウシステム
-ウィンドウマネージャー
-デスクトップマネージャー
-ターミナルウィンドウオプション
- 演習
システム管理
-インストール
-ソフトウェアの管理とパッケージング
-アップグレードとパッチ適用
-ユーザーディレクトリ、環境など
-ログファイル
- 演習
ヘルプを得る
-ドキュメントのソース
--manページ
-情報
-ヘルプとヘルプ
-グラフィカルインターフェイス
- 演習
テキストエディター
-利用可能なテキストエディタ
--vi
--emacs
- 演習
シェル、bash、およびコマンドライン
-シェル
-シェルの初期化
-エイリアス
- 環境変数
-コマンドラインプロンプトのカスタマイズ
-特殊文字
-リダイレクト
-パイプ
-コマンド置換と式
- 演習
ファイルシステムのレイアウト、パーティション、パス、リンク
-ファイルシステムのレイアウト
-パーティション
-パーティショニングに関する考慮事項
-パス
-ハードリンクとソフト(シンボリック)リンク
- 演習
システムの初期化
-システムブート
-システムの初期化
- 演習
記憶
-メモリ
-スワップ
-スレッドモデル
- 演習
ネットワーク
-ネットワーキングとネットワークインターフェース
- 演習
コマンドの詳細
-基本的なコマンドとユーティリティ
-ファイル転送ツール
-監視およびパフォーマンスユーティリティ
-グラフィカルな監視ツール
-カーネルモジュールのロード/アンロード
- 端末管理
-システムサービスの管理
- 演習
ユーザーとグループ
-ユーザーとグループの基本
-ユーザーとグループの追加と削除
-ファイル、ユーザー、権限
-root(スーパー)ユーザー、suおよびsudo
- 演習
Linuxファイルシステム
-ファイルシステムとVFS
-ext2、ext3、およびext4ファイルシステム
-ジャーナリングファイルシステム
--btrfs
-ファイルシステムのマウント
-RAID
-LVM
- 演習
必須のコマンドラインツール
-ファイルとディレクトリの一覧表示、作成、削除、名前の変更
-ファイルの検索:検索して検索
-文字列の検索:grep
-文字列置換:sed
- 演習
Bashスクリプト
-スクリプトの基本
-条件付き
-ループ
- 機能
- 演習
ファイルとファイルシステム
-ファイルの種類
-権限とアクセス権
-権限と所有権の変更
- 演習
コンパイル、リンク、ライブラリ
-gcc
-その他のコンパイラ
-主要なgccオプション
-静的ライブラリ
-共有ライブラリ
-ライブラリへのリンク
-gdbを使用したデバッグ
- 演習
Javaのインストールと環境**
-一度書いてどこでも使用しますか?
-LinuxへのJavaのインストール
-複数のJREおよびJDKの処理:代替システム
-環境変数とクラスパス
-統合開発環境
RPMおよびDebianパッケージの構築
-パッケージ管理を使用する理由
-パッケージングシステムの利点
-Linuxディストリビューションとパッケージ管理
-RPMの作成
-RPMスペックファイル
-RPM仕様セクションの詳細
-RPMの依存関係
-Debianパッケージ作成ワークフロー
- 演習
GITの概要
-リビジョン管理
-コードがどこから来ているかを知る:DCOとCLA
-利用可能なリビジョン管理システム
-グラフィカルインターフェイス
- ドキュメンテーション
- 演習
Gitのインストール
-バイナリインストール
-ソースからのインストール
- 演習
Gitおよびリビジョン管理システム
-異なるシステム間の変換
-RCSとCVS
-Subversion
- ギット
-gitと分散開発
- 演習
Gitの使用:例
-基本コマンド
-簡単な例
- 演習
Gitの概念とアーキテクチャ
-コンセプト
-デザインの特徴
-リポジトリ
-オブジェクトとインデックス
-コンテンツとパス名
-コミットと公開
-上流と下流
-フォーク
- 演習
ファイルとインデックスの管理
-ファイルカテゴリ
-基本的なファイルコマンド
- 演習
コミット
-コミットメントを行う
-識別子とタグ
-コミット履歴の表示
-コミットの取り消しとリセット
-リポジトリの整理
- 誰が悪いのか?
-二等分
- 演習
-ブランチとは何ですか?
-ブランチ名とタグ
-ブランチの作成
-ブランチチェックアウト
-以前のファイルバージョンの取得
- 演習
差分
-差分ファイル
-Gitの違い
- 演習
マージ
-マージとは何ですか?
-マージコマンド
-リベース
- 演習
ローカルおよびリモートリポジトリの管理
-他の人との協力
-クローニング
-プロジェクトの公開
-フェッチ、プル、プル
- 演習
パッチを使用する
-なぜパッチを使用するのですか?
-パッチの作成
-メール
-パッチの適用
- 演習
高度なGitインターフェース:Gerrit
-分散開発のモード
-ジェリット
- レビュープロセス
- 演習
まとめと評価サーベイ
- 評価サーベイ

前提条件
このコースは、別のオペレーティングシステムのコンピューターユーザーを既に経験しているが、Linux環境での作業経験が限られているか、まったくない学生を対象としています。
レビュー
2022年3月
家庭教師はとても知識が豊富で、本当に良かったです!
2021年10月
提示されたトピックに関する彼の知識と経験のために、私は同じインストラクターと一緒に別のコースを受講します。
2021年10月
家庭教師は非常に幅広い知識を持っています。
2021年10月
インストラクターは非常に熟練しており、質問に最も簡単な答えを与えるだけでなく、さらに情報を提供するために精巧に進んでいました。トレーナーのプロ意識と知識に非常に感銘を受けました。
2021年10月
Linuxの経験がある人でも、更新する資料、情報、新しい資料がたくさんありました。
2021年10月
インストラクターの柔軟性、および質問や要求に対する彼の応答性。