yyp٩( 'ω' )و

色々触って遊んでます

Windows最適化チャレンジ Docker導入編

前回chocolateyでを入れてみたのは、これがやりたかったためです。

環境

前回の続きなので、AWS上のWindows Serverです。
使用AMI : Windows_Server-2016-English-Full-Base-2018.09.15 (ami-0ecf3c199663ebcde)

Dockerインストール

Docker for Windowsを入れます。

choco install docker-for-windows

スタートメニューからDockerを起動しようとしたところ、下記のメッセージが表示されました。

You need to log out of Windows Then your "docker-users" membership will be taken into account

"docker-users"というmembershipが必要なようです。
おそらくdocker-usersというグループに所属しているという意味?

グループの確認

スタートメニュー > Windows Administrative Tools > Computer Management を起動します。
System Tools > Local Users and Groups > Groups を確認。
一番下に"docker-users"がありました。
所属しているユーザはデフォルトではAdministratorのみでした。

ユーザ追加

docker-usersグループにユーザを追加します。
追加したユーザ:docker-user
所属グループ:Users, docker-users, Remote Desktop Users
docker-userでログインしなおして、Dockerが使えるかどうか確認します。

PS1 > docker --version
Docker version 18.06.1-ce, build xxxxxx

使えるようになりました!

Windows最適化チャレンジ パッケージ管理編

Windowsでソフトを入れる時、だいたいはインストーラ落としてきてインストールすると思います。
ただそうすると、バージョン上がった時に少々面倒だなと最近思います。特にWindows Serverの場合。
調べてみると、Windows用のパッケージ管理ツールがあるようなので使ってみようと思います。

環境

自分のPCは既に色々入っているので、AWS上でまっさらなWindows Serverを立てます。
使用AMI : Windows_Server-2016-English-Full-Base-2018.09.15 (ami-0ecf3c199663ebcde)
英語なので、起動時にuserdataで日本語化します。

<powershell>
ipmo international
Set-WinSystemLocale ja-JP
</powershell>

上記スクリプトをuserdataに入れたらいけるかなーと思いましたが、英語のままでした…
なんとかしたいところですが、今回はここがメインではないので英語のまま進めることにします。
この辺のプロビジョニングはまた今度。

パッケージ管理ツール導入

今回は"chocolatey"を使ってみます。

chocolatey.org

手順に従って、進めていきます。
PowerShellを管理者権限で起動して以下コマンドを実行します。

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

コマンドを使うにはシェルを開き直さないといけないようなので、そうします。
コマンドが使えるかどうか確認します。

PS1 > choco --version
0.10.11

入りました!

パッケージをインストールする

せっかくなので何か入れてみます。
chocolateyで入れられるものは以下のページに一覧が載っています。

Chocolatey Gallery | Packages

インストール時のコマンドも載っているのでコピペできて便利。
試しにchromeを入れてみます。

choco install googlechrome

上記コマンドを実行すると、インストールが始まります。

 The install of googlechrome was successful.
  Software installed as 'MSI', install location is likely default.

Chocolatey installed 2/2 packages.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

裏ではmsiが使われているのかな?
あとログも吐いてくれるみたいですね。
スタートメニューで確認したところ、chromeも使えるようになっていました。

アンインストール

アンインストールをしてみます。

choco uninstall googlechrome

これだけで消えました。便利!

まとめ

Windowsのパッケージ管理がめんどくさい問題はchocolateyで解決できそうです。
アップデートがあった場合は"choco update hogehoge"でできるようなので、使ってみたいですね。

Windows10最適化チャレンジ ディスク100%編

自分のWindowsPCがあまりにも重いのでどうにかならないか模索します。 常にディスク使用率が100%なんですよね…
まず以下の方法を試します。

※もしも試される方がいれば、ご自身の責任でお願いいたします。

不要なプログラムを消す

これはみなさんご存知、「コントロールパネル」。
「プログラム」 > 「プログラムと機能」から不要なプログラムをどんどんアンインストールします。
私は入れたはいいけど今は使っていない開発環境などを消しました。

Windows Update

不要なプログラムを消したので、次はWindows Updateをします。
Windowsの設定 > 更新とセキュリティ > Windows Update
今月分の更新プログラムをまだ適用していなかったので、適用します。

アプリの自動起動の停止

Windows起動時に自動起動するアプリを減らします。
スタートメニューで「設定」を検索。
Windowsの設定」 > 「アプリ」 > 「スタートアップ」で自動起動の必要がないアプリを「オフ」にします。
タスクマネージャーを見てみると、ディスク使用率が20%前後になっています。やった٩( 'ω' )و

ディスククリーンアップ

Cドライブをクリーンアップします。
エクスプローラー」 > 「PC」 > 「C:」を右クリック > 「プロパティ」
「全般」 > 「ディスクをクリーンアップ」
削除したいファイルを選んで、「OK」
タスクマネージャーでディスク使用率を見ても、20%以下になってます。

デフラグ

とどめにデフラグ
断片化したデータを整理します。
エクスプローラー」 > 「PC」 > 「C:」を右クリック > 「プロパティ」
「ツール」の「ドライブの最適化とデフラグ」で「最適化」をクリック
「最適化」をクリック。(管理者として実行されます)
実行後に「設定の変更」で最適化のスケジューリングもしてみました。
ディスク使用率も20%以下でいい感じです。

サービスの停止

ディスク使用率下がった~!と思ったらまた90%を超えてきました。
何かと思ったら、「Microsoft Office クイック実行サービス」がディスク使用率を食っていました。
現在私はOfficeのライセンスが切れてしまい、使えない状態なのでこれを停止します。
「タスクマネージャー」で「Microsoft Office クイック実行サービス」を展開し、右クリック > 「サービス管理ツールを開く」
「サービス管理ツール」が開いたら、「Microsoft Office クイック実行サービス」を探し、右クリック
「プロパティ」 > 「全般」で「停止」をクリック
ついでに「スタートアップの種類」も「無効」にします。
ディスク使用率も下がりました。

まとめ

これでしばらくは快適に過ごせそうかな…?
今度はWindowsにパッケージ管理システムを導入して最適化チャレンジをしてみようと思います。

Raspberry Piを買いました。

エンジニアらしくRaspberry Piデビューしました。
基盤!基盤むき出し…!そして小さい!
と驚きの連続です。

OSはもうインストールして、自分のノートPCから鍵認証でssh接続もできる状態にしました。

なんで買ったかというと、サーバがあれば自宅にあるgoogle homeをもっと面白く使えそうだな〜と思ったからです。

まずは定期的に情報をとってきて読み上げさせるのをやりたい…!

AtCoderを始めました。

AtCoderC++のtutorialをやってみています。

beta.atcoder.jp

現在はインフラエンジニアですが、ゆくゆくはもっと上のレイヤもやってみたいということと、 Infrastracture as Codeに興味があるのでプログラミングも多少分かってたほうがいいかなと思ったからです。

Progateとpaizaは以前やってたのですが、少々物足りず…
かといって書籍でがっつりやる余裕もなさそう…
ということでTutorial後もできるコンテンツがある*1AtCoderにしました。

正直いつまで続くか分かりませんが、しばらくやってみようと思います~

*1:AtCoderでは毎週土曜日にプログラミングコンテストが開催されています。

便利コマンド grep

grepをよく使います。
psと組み合わせて特定のプロセスの状態を確認したり、lsと組み合わせてファイルがあるか確認したり。
findのオプションを覚えるのが面倒なので、ルートディレクトリに移動してパイプでgrepに渡して探したりもしています。

$ cd /
$ find | grep httpd.conf

こんな感じ。

そして最近、また一つ便利な使い方を覚えました。

$ grep 〈検索したいもの〉 〈ディレクトリ〉 -r

ディレクトリ〉以下のファイルの中身を全部見て、〈検索したいもの〉が使われている部分を出力してくれます。
変数が使われている場所を調べるときなどに便利です。

WindowsにGitbash入れてるので、テキストファイルの中身も見れるのだろうか…
今度やってみようと思います。

WindowsをAnsibleでごにょごにょする 〜ISSUEがクローズしました〜

先日立てたISSUEの顛末です。
立てたときの記事↓
WindowsをAnsibleでごにょごにょする ~ISSUEを立てました~ - yyp٩( 'ω' )و

週明けに回答をしてくれました。
一応bug reportで出していましたが、bugではないみたい。
処理がどう走るかまで教えてくれました。優しい。

「こんなことも分からないの?笑」的な感じで来られるのを恐れていたので、無事にクローズしてよかったです…