泳げないたいやきの日記

メモとして残していきます。誤字脱字や、誤った記事などがあればご教授いただますと幸いです。

Wiresharkをインストールしよう(Windows)

初めに

ネットワークの流れや、TCPUDPなどのプロトコルがどのように動いているのかについて興味が沸き、Wiresharkで見てみようと思ったのでインストールをしてみました。

環境

OS:Microsoft Windows 10 Home 64bit

CPU:Intel Core i3-7020U

 

Wiresharkをインストールするまでの手順

1.Wiresharkのダウンロードページからインストール

検索エンジンで「Wireshark ダウンロード」と検索し、上位のページにある「wireshark.org」のページからダウンロードしました。

f:id:OyogenaiTaiyak1:20200905153932p:plain

wireshark.org

インストールする環境がWindows 10 Home 64bitなので 「Windows Installer(64-bit)」を選択しました。

 

2.インストーラの起動

Wiresharkインストーラを起動すると画像の画面がでてくるので、「Next」を選択

f:id:OyogenaiTaiyak1:20200905160600p:plain

wiresharkインストーラ

 

3.コンポーネントの選択

上記の2で「Next」を選択後、インストールするコンポーネントを選んでくださいと聞かれるので、私は全てのチェック項目を選択して先に進みました。

f:id:OyogenaiTaiyak1:20200905161407p:plain

コンポーネントの選択

 

4.Npcapをインストールするかどうかの選択

Wiresharkを使用するのに必要なNpcapを一緒にインストールするかどうかを聞かれます。

私はWiresharkを使用するのは初めてなので、一緒にインストールを行いました。

f:id:OyogenaiTaiyak1:20200905161756p:plain

Npcap

 

5.インストール完了後

Wiresharkのインストールが無事に終わり、使用することができました。

f:id:OyogenaiTaiyak1:20200905161929p:plain

Wireshark インストールの完了後

 

最後に

これからネットワークの流れや、プロトコルの数値を見るのが楽しみです。

 

本の記録

初めに

2019年2月頃に趣味でプログラムの勉強を始めました。

読んできた本やこれから読む本を記録していこうと思います。

 

本の記録

  • インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門 みやたひろし 著

  • Webを支える技術 HTTP、URI、HTML、そしてREST 山本陽平 著

  • 達人データサイエンティストによる理論と実践 Python 機械学習プログラミング Sebastian Raschka 著 株式会社クイーブ 訳

  • 独学プログラマー Python言語の基本から仕事のやり方まで アーリー・アルソフ 著

  • Pythonプログラミング パーフェクトマスター 金城俊哉 著

  • CSSグリッドで作るHTML5&CSS3レッスンブック エビスコム著

  • マスタリングTCP/IP 入門編 竹下隆史・村山公保・荒井透・苅田幸雄著

  • マスタリングTCP/IP 応用編 Philip Miller 著 苅田幸雄著

  • イラスト図解式 この一冊で全部わかるサーバーの基本 きはしまさひろ著

  • やさしく学ぶ 機械学習を理解するための数学のきほん LINE Fukuoka株式会社 立石賢吾著

  • スラスラわかるネットワーク&TCP/IPのきほん 第2版 リブロワークス著

  • 絵で見てわかるOS/ストレージ/ネットワーク データベースはこう使っている 小田圭二著

  • リーダブルコード   Dustin Bowswell、 Trevor Foucher  著   角 征典訳

  •  地元学をはじめよう 吉本哲郎著

  • OS自作入門 川合秀実
  • Cプログラミング入門以前 第2版 村山公保著
  • 小学館の図鑑NEO 宇宙
  • 新・明解C言語 入門編 柴田望洋
  • おうちで学べるデータベースの基本 ミック、木村明治著
  • 英検2級 長文読解問題150 旺文社著
  • 英単語ターゲット1900  ダーゲット編集部著
  • TOEIC L&R TEST 金のフレーズ TEX加藤著
  • 良いウェブサービスを支える「利用規約」の作り方 雨宮美季、片岡玄一、橋詰卓司著
  • DNSがよくわかる教科書 株式会社日本レジストリサービス(JPRS) 渡邉結衣、佐藤新太、藤原和典著 森下泰宏監修
  • 宇宙のがっこう JAXA宇宙教育センター著
  • パケットキャプチャの教科書 みやたひろし著
  • 詳説Cポインタ RichardReese著 菊池彰訳

ラズベリーパイでホームカメラを作る

初めに

4月に人生で初めてのラズベリーパイを購入してみました。

箱を開けて中身を見た時に、小学生の時にプラモデルを買って開けた時をなぜか思い出し懐かしく感じました。

 

ラズベリーパイ

購入したラズベリーパイは

を購入しました。

f:id:OyogenaiTaiyak1:20200827222418p:plain

ラズベリーパイ4

 

ホームカメラを作ろう

ラズベリーパイを購入し、何かラズペリーパイでやってみたいなと考えていた時に、youtubeコジコジさんという方の動画でラズベリーパイを使用したホームカメラを作成していたので、早速真似をしてみました。

 

ホームカメラのシステムの概要

 

1 カメラの接続

ラズベリーパイにUSB接続ができるカメラを接続します。 

 

2 ラズベリーパイのIPアドレスの固定

まず最初にIPアドレスの設定を行いました。

IPアドレスを固定する際に、コジコジさんの動画のようにIPアドレスを「192.168.1.81/24」と設定してが、PuttySSHの接続をしようとしても、タイムアウトになりラズベリーパイに接続できませんでした。

                   

上記の設定はダメで悩んでいたところ、我が家のIPアドレスが「192.168.10.XX」だったので、ラズベリーパイのIPアドレスを前半を同じにした「192.168.10.81/24」に固定したら、PuttySSHラズベリーパイに接続する事ができました。

 

3 ラズベリーパイの中に「mjpg-streamer」をダウンロードする 

ラズベリーパイのシェルを開き「git clone https://github.com/jacksonliam/mjpg-streamer.git」を入力するとダウンロードできました。

 

4 「mjpg-streamer」内でmakeコマンドを実行 

cd コマンドで、「mjpg-streamer」の中の「/mjpg-streamer/mjpg-streamer-experimental $」の内で、makeコマンドを実行してソースコードコンパイルします。

 

5 ソースコードコンパイル

「/mjpg-streamer/mjpg-streamer-experimental $」内で、「sudo make install」を実行してコンパイルしたコマンドのインストールを行います。

 

6 コンパイルしたコマンドのインストール後

「/mjpg-streamer/mjpg-streamer-experimental $」内で、「sudo apt-get -y install apache2」を実行して、ラズベリーパイの中にApache2をインストールします。

 

7 Apache2の確認

「/mjpg-streamer/mjpg-streamer-experimental $」内で、「system status apache2」を実行します。

 

8 環境変数の設定

「/mjpg-streamer/mjpg-streamer-experimental $」内で、「export  LD_LIBRARY_PATH=. 」を入力し、環境変数を整えます。

 

9 カメラの起動

「/mjpg-streamer/mjpg-streamer-experimental $」内で、「mjpg_stremaer -o "output_http.so -w ./www"  -i  "input_uvc.so" 」を入力します。

 

ラズベリーパイの電源を落とした後でも、6番から実行していけば、カメラの起動ができました。

 

最後に

6月にカメラを起動させていたので、少し時間が経ってしまいましたが、私はこの手順でホームカメラを起動させる事ができました。

この手順のみだと、ラズベリーパイと同じネットワークの中からでしかカメラに接続できませんでした。

グローバルIPアドレスの勉強をもう少ししてから、今度は外部ネットワークからの接続を可能にしたいと考えています。

 

参考文献

www.youtube.com

 

 

www.sasapy.com

 

qiita.com

 

 

 

Linuxカーネルにコントリビュートする方法

初めに

OSSという存在を知ったのは2019年の夏頃で、いつか自分もOSSの活動に貢献?挑戦?してみたいと思っていた。

 

Linuxカーネルについて

いくつかのOSSのコントリビュートの方法は見つかったのですが、Linuxカーネルに関するコントリビュートの方法が見つからなかったので、今後のためにまとめてみようと思いました。

(もしかしたら、どこかに記事があるのかもしれません)

 

Linuxカーネルのコントリビュートの方法

  1. Linuxカーネルのコーディングスタイルとライセンス要件に従い、コントリビューションを作成する。
  2. Linuxカーネルのコントリビューションを、メーリングリストの中から誰に送信するのかを決める。
  3. コントリビューションをメールで送信できる様にシステムの設定を行う
  4. メールで送信を行い返信が来るのを待つ。

大まかな手順としては、以上の通りです。

 

GitHubではなくメールリストで 

Linuxカーネルの開発はGitHubではなく、メールリストで行います。

現在、GitHub上にあるリポジトリは閲覧専用であり、プルリクエストは受け付けていないようです。

メールでLinuxカーネルのコントリビューションを送信する時は、修正や変更が適用される様にパッチとして送信する。

 

 パッチについて

パッチとは、Linuxカーネルのコードに加えたい修正や変更を示し、加えたい部分について、自身が「その修正・変更がどの様に役に立つのか?」や「なぜ、その方法が良いアイデアだと思うのか?」 などの理由を誰にでも読みやすいように文書化したドキュメントです。

 

「その修正・変更がどの様に役に立つのか?」や「なぜ、その方法が良いアイデアだと思うのか?」の文書は、パッチ内にコミットメッセージとして記載します。

 

コードの修正・変更については、Linuxカーネルのコーディングスタイルとライセンス要件に従いながら行います。

 

詳しくは下のURLに記述されています。

www.kernel.org

 

 

git-scm.com

 

 コントリビュートの方法がわからない時

  • 基本的には、インターネットの検索エンジンで検索すれば解決方法を手に入れることが可能みたいです。。。(英語力が試されそうです)

 

パッチの送信後について

パッチ送信した後に、返信が返ってくるまで数週間かかることがよくあるそうなので気長に待つことが大切です。

さらに、自身が送信したパッチが完全に無視されることが時々あるそうですが、そのような時は、再びパッチを送信すると良いらしいです。

 

カーネルの開発者の方々は、パッチを提出するためのガイドラインや、その他のルールを違反したパッチについても無視されます。

※時間が経ち過ぎた事に対しての怒りの文章などを記載してパッチを送信すると、そのパッチは無視され、さらに、ブラックリストに登録されるようですので注意しましょう。

 

最後に

ここに記載してある事は、GitHub上のLinuxカーネルのkernelPRBotが記載していた事を和訳し、要約したものです。

まだ、自分自身Linuxカーネルにコントリビュートをしていないので憶測の域でしかありませんが、今後のために備忘録として書き残します。

Linuxカーネルにコントリビュートを行った後に、再びこの記事を更新したいと思います。

 

参考文献

 

Pull requests · torvalds/linux · GitHub

 

 

 

 

OSI参照モデルとTCP/IPについて

初めに 

 ネットワーク関係について学んでいる時にOSI参照モデルTCP/IPとで、混乱することがあるので、本を読みまとめてみました。

ネットワークアーキテクチャの種類

今日、私達が使用しているコンピュータネットワークの通信機能を説明する際に用いられるネットワークアーキテクチャは、

  1. OSI参照モデル
  2. TCP/IP(インターネットプロトコルセット)
  3. DECnet
  4. SNA
  5. AppleTalk
  6. XNS
  7. IPX/SPX

の7種類が種類が挙げられる。

 このようにいくつかのネットワークアーキテクチャが存在するのは、コンピュータ同士がネットワークを利用して通信するために必要とされるプロトコルという約束ごとを設定するために様々な団体や、企業が開発を行ったからである。

 ここでは、先述した7種類のネットワークアーキテクチャの中から代表的に使われているOSI参照モデルTCP/IPの2つの差異の特徴を調査し、その結果を提示する。

 

 「OSI参照モデル」と「TCP/IP」の導入までの流れ

 コンピュータの通信が始まった当初に、各コンピューターメーカーが、各々に独自のネットワーク製品を開発し、コンピュータ通信を実現していたが、コンピュータ通信が普及していくにつれ、各メーカーのネットワーク製品の互換性の問題が拡大していき、開発を行う生産者とネットワーク通信を使いたい利用者の両方が不便を感じ始めるという問題が起きていた。

 その問題を解決し、ネットワークの「オープン化」と「マルチベンダ化」にする為に、1978年頃に「国際標準化機構(ISO)」と「国際電信電話諮問委員会(CCITT)」の2つの団体がおよそ6年間共同作業を行い、1984年に導入されたネットワークアーキテクチャOSI参照モデルである。OSI参照モデルは、問題を机上の理論で解決する為に作られたモデルなので、プロトコルの設計や勉強をする時のガイドラインとして使われている。

 TCP/IPは、1960年代に「アメリカ国防総省DoD)」が中心となり、新しい通信技術の研究から始まり、1969年にパケット交換技術の実用性を試験する為のネットワークが構築され、そのネットワークが一般の人々にも使われるようになり「ARPANET」と呼ばれるインターネットの起源が誕生し、ARPANET内の研究グループにより、1970年代前半に「TCP/IP」が開発された。

  

OSI参照モデル」と「TCP/IP」の普及率

 OSI参照モデルは、TCP/IPが開発された後の10年後に導入が行われたが、現在使用されているネットワークアーキテクチャTCP/IPが主流とされている。

OSI参照モデルの開発の方向性を決める指針
  • ネットワークの「オープン化」
  • ネットワークの「マルチベンダ化」
TCP/IPが開発される際の指針
  • ネットワークの「オープン化」
  • 「標準化するプロトコルが実際に使えるプロトコルであるかどうかを重視する」

 

 TCP/IPは指針の通りに、「仕様を考えるよりも先にプログラムが開発された」や、「プログラムを作った後に仕様書を書く」などと言われるほど、実装を重視に開発が行われていた。さらに、TCP/IPプロトコルの仕様を決定する際には、そのプロトコルが実装されている装置が存在し、限定された形であるにせよ実際に通信ができることが可能な状態になっている必要があるとされている。

 このようなことから、TCP/IPに比べて、OSI参照モデルが普及しなかったのは、動作するプロトコルを開発することと、急速な技術革新に対応できるようなプロトコルの決定や改良を行える仕組みがなかったことが原因の1つとされている。

 さらに、TCP/IPは先に述べた理由以外にも、広く普及した理由がある。

 それは、1980年前後の大学や研究所などのコンピュータのOSとして、米国カリフォルニア大学バークレー校で開発され、無料で配布された「BSD UNIX」が広い範囲で利用され、このOSの内部にTCP/IPが実装さていた事である。これにより、限られた世界の中でしか使用されていなかったTCP/IPは、世界中のコンピューターネットワークに普及した。

 

OSI参照モデル」と「TCP/IP」のプロトコルの階層化の違い

 OSI参照モデルは、通信に必要な機能を7つの階層に分け、機能を分割し、複雑になりそうなネットワークプロトコルを単純化する為のモデルとされている。

 これらの層は、ハードウェアに近い下位層から、特定のサービスを受け、ソフトウェアよりの上位層に特定のサービスを提供する役割をもっている。これは、TCP/IPも同様である。

 この7階層のOSI参照モデルは、ハードウェアに近い一番下の層から順に、物理層データリンク層ネットワーク層トランスポート層、セッション層、プレゼンテーション層、アプリケーション層となっている。

 各階層の機能は、階層間のインターフェースが一貫性を持っていることを前提として、各階層の機能を分割することにより、特定の場所の機能を変更しても、モデル全体の動作には支障がないように設計されている。

OSI参照モデルの各階層 

  1.   物理層では、データのビット列の0や1を電圧の高低や、光の点滅に変換したり、逆に、電圧の高低や、光の点滅をビット列に変換を行うことで、物理的な通信媒体に流し込んでいる。このようにして、接続の両端にある2つのデータリンク層の実体の間に、目に見えない通信パスが提供する役割を持つ。
  2.  データリンク層では、0と1の数字の列を意味のあるフレームに分けて、複数のシステムを経由した先にある宛先のシステムまでのパスのうちの隣接するシステムとの間の情報の流れを制御を行なったり、簡単なエラー検出機器を提供することにより、データが失われたり、破損したりすることを防ぐ役割を持っている。また、OSI参照モデルの設計が行われたのが、LANが普及する以前だったこともあり、LANに含まれる多様な技術を利用できるようにする為に、データリンク層に、メディアアクセス制御層(MAC)と論理リンク制御層(LLC)の2つの副層に分割されている。
  3.  ネットワーク層では、ネットワーク層が提供する手段により、システム間のコネクションが確立できるようになっており、宛先までデータを届ける役割を持つ。そのため、相手が異なるネットワーク上に存在しても、どの経路を使うかなどの経路選択も行う。
  4.  トランスポート層では、宛先のアプリケーションにデータを確実に届ける役割を持つ。そして、データを確実に届けることの信頼性を保証するために、送り出すデータを識別する印などの情報を含むヘッダがデータに付加される。
  5.  セッション層では、データの流れる論理的な通信路の確立や、切断、転送するデータの分割場所の設定などのデータ転送に関する処理を行う役割を持つ。例えば、どのようにデータを送信すれば効率良くやりとりできるかや、データの送信方法はどうするかなどのことを考えてくれる。
  6.  プレゼンテーション層では、転送される情報を通信に適したデータ形式にしたり、下位層からきたデータを上位層が処理できるデータ形式にするなどの、データ形式に関する役割を持つ。この役割のおかげで、データを共通な表現形式に変換してやりとりを行うことにより、異なるメーカーの各ネットワーク製品でもデータの表現形式の整合性をとることが可能になる。
  7.  アプリケーション層では、利用されるアプリケーションの中で通信に関係する部分を定めている。このアプリケーションのサービスの中には、ファイル転送サービスや、電子メール、遠隔ログインなどが含まれている。メールの送受信のエラーメッセージなどの、アプリケーション固有のエラー処理も、アプリケーション層が担っている。

  

 これらの7つの階層を学ぶことにより、通信機能の全体の中における、そのプロトコルの位置付けや、おおまかな役割を理解することが可能となる。

TCP/IPについては後ほどまとめます。)

 

参考文献

  • 竹下 隆史・村山 公保・荒井 透・苅田 幸雄共著(2019)「マスタリングTCP/IP  入門編」、株式会社オーム社
  • Philip Miller著 苅田 幸雄監訳(2016)「マスタリングTCP/IP  応用編」、株式会社オーム社

 

 

 

DNSについて

DNSについての本を読み、簡単にまとめてみました。

※内容に誤りがある箇所がありましたら、ご教授いただけましたら幸いです。

 

DNS

 DNSとは、私達一般ユーザが日常生活でインターネットにアクセスし、使いにくい数字の羅列であるIPアドレスを使用せずに、馴染みのあるローマ字などで欲しい情報を手に入れることが可能なのは、DNSというシステムが、TCP/IP階層モデルのアプリケーション層で実装されているからである。

 渡邉(2018)は、DNSについて次のように述べている。「DNSドメイン名とIPアドレスの対応を管理し、利用者からの要求に応じてドメイン名に対応するIPアドレスを探し出します。これを「名前解決」と言います。DNSの基本は、それぞれの階層の管理者から必要な情報を入手してドメイン名の階層構造をたどり、最終的な答えであるIPアドレスを得るというものです。」

 

ゾルバーについて

 渡邉(2018)が述べているDNSは、「スタブリゾルバー」、「フルリゾルバー」、「権威サーバ」の3つの要素から成り立つ。

 リゾルバーとは、私達が何か物事を検索する際に、使用するwebブラウザや、メールを送受信する際のアプリといったソフトウェアの中で働くシステムである。

  1. 最初に、スタブリゾルバーとは、スタブリゾルバー自身では、名前解決を行わず、フルリゾルバーに「○○のIPアドレスを教えてほしい」という内容を、目的の情報のドメイン名とタイプを指定して名前解決要求を行い、一時待機をする。
  2. 次に、名前解決要求を受け取ったフルリゾルバーは、スタブリゾルバーの代わりに権威サーバの階層構造の頂点に位置するルートに「○○のIPアドレスを教えてほしい」と尋ねる。この動作を名前解決と呼ぶ。フルリゾルバーからルートに名前解決が行われると、ルートは、自身が保持している情報をフルリゾルバー宛に送信する。フルリゾルバーは、ルートに渡された情報を基に、目的の情報に近い権威サーバを探し、再び、名前解決を行う。このような動作を複数回繰り返すことで、最終的には探している情報を保持している権威サーバから目的の情報のIPアドレスを教えてもらう。教えてもらったIPアドレスを、再び、フルリゾルバーからスタブリゾルバーに送る。
  3. 最後に、一時待機していたスタブリゾルバーは、教えてもらったIPアドレスを使用し、目的の情報を手に入れることが可能となる。このような動作が、DNSの基本的な動きである。

  

 スタブリゾルバーが、フルリゾルバーに「○○のIPアドレスを教えてほしい」と名前解決要求を送る際に、指定した「ドメイン名」や「タイプ」というものは、権威サーバが保持するリソースレコードに、そのゾーンの設定として含まれる。リソースレコードと、指定した「ドメイン名」や「タイプ」を参照することで、権威サーバは自身が保持している情報を探すことが可能となる。

 

リソースレコードについて

 リソースレコードは、「オーナー」、「タイプ」、「クラス」、「TTL」、「RDATA」と5つのクラスから構成されている。

  • 「オーナー」:問合せ時に指定したドメイン名を記述するクラスである。

 

  • 「タイプ」 :スタブリゾルバーを使用している者が知りたい情報の種類を指定するクラスである。タイプの種類は、約16種類ある。

 

  • 「クラス」 :プロトコルファミリーや、ネットワークの種類といったものを指定する。

 

  • TTL」  :Time to Liveのイニシャルを取ったもので、パケットの寿命を表している。みやた(2018)では、TTLを次のように述べている。「IPの世界では、パケットの寿命を経由するルータの数で表しています。経由するルータの数のことを「ホップ数」といいます。TTLの数はルータを経由するたび、つまりネットワークを経由するたびにひとつずつ減算されて、値が「0」になると破棄されます。」このように、TTLが設定されているおかげで、ネットワークトラフィックの混雑を避けるような仕組みとなっている。

 

  • 「RDATA」 :タイプとクラスにより異なるリソースレコードのデータで、実際のリソースの指定を行う。

 

参考文献
  • 株式会社日本レジストリサービス(JPRS)渡邉 結衣・佐藤 新太・藤原 和典著 株式会社日本レジストリサービス(JPRS)森下 泰宏監修(2018)「DNSがよくわかる教科書」、SBクリエイティブ株式会社、20、72–78

  • 竹下 隆史・村山 公保・荒井 透・苅田 幸雄共著(2019)「マスタリングTCP/IP  入門編」、株式会社オーム社、184-188
  • みやた ひろし著(2018)「インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門」、SBクリエイティブ株式会社、96
  • Philip Miller著 苅田 幸雄監訳(2016)「マスタリングTCP/IP  応用編」、株式会社オーム社、323-325

 

 

 

 

makeによるビルドができない。

はじめに

現在、Rui Ueyamaさんが公開していただいている『低レイヤを知りたい人のためのCコンパイラ入門』を読ませていただいております。

(※Rui Ueyamaさんの『低レイヤを知りたい人のためのCコンパイラ入門』は、書籍化されているのでしょうか?)

そこで読んでいる最中に、はまった事に対して備忘録代わりに記事として残して行こうと思いました。

 

問題

目次上の「電卓レベルの言語の作成」の「ステップ1:整数1個をコンパイラする言語の作成」の終盤の内容である「makeによるビルド」で、Makefileを作成したが、makeコマンドが使えなくて、はまってしまいました。

 

CentOS上のシェルでの出来事

”””

[hogehoge@localhost 9cc]$ make

cc -std=c11 -g -static 9cc.c -o 9cc

/usr/bin/ld : -lc が見つかりません

collect2 : エラー : ldはステータス1で終了しました

make : *** [9cc] エラー 1

”””

と表示され、makeコマンドを使用できませんでした。

(※この時、-lcが何を示すものか分かっていません。そして今も、十分には理解できていません。)

 

バージョン

解決策

エラーメッセージで、-lcが見つかりませんとなっていたので、

CentOSのシェル上で、

yum install glibc-static.x86_64」とコマンドを打ち、glibc-static.x86_64をイントールを行ったところ、makeコマンドを使用する事が可能になった。

 

glibc-static.x86_64以外にも、glibc-devel.x86_64、glibc-static.i686glibc-utils.x86_64などがあったが、2020/7/20現在違いはわかっていません。これから調べます。。。)

 

現時点で不明な事や知りたい事

  • Rui Takyamaさんの記事の内容では、makefileの「-static」オプションを消すとリンカが自動でダイナミックリンクになり、ダイナミックリンクを行うには、ダイナミックリンクを行うためのアセンブルのコードが必要と記述されていたが、私の場合、「-static」を消す事でmakeコマンドが使用する事が可能となっていた。(glibc-static.x86_64のイントールを行う前の出来事です。)
  • -lcとは何なのか?少し調べてみたところ「よく使われるC言語関数」がライブラリになったものらしいです。(たなか としひささんの記事を参照)

 

最後に

わからないことだらけで申し訳ありません。

これから先、書物や記事を読みながら調べていこうと思います。

 

参考資料