yyp٩( 'ω' )و

色々触って遊んでます

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ではないみたい。
処理がどう走るかまで教えてくれました。優しい。

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

WindowsをAnsibleでごにょごにょする ~ISSUEを立てました~

以下の記事でAnsibleの初期設定をしました。
WindowsをAnsibleでごにょごにょする ~初期設定編~ - yyp٩( 'ω' )و
実はこれを行った本当の目的は「AnsibleのISSUEを立てる」でした。
立てたISSUE↓
github.com

ISSUEを立てたのは初めてなので、どきどきですね…

WindowsをAnsibleでごにょごにょする ~初期設定編~

概要

WindowsをAnsibleでプロビジョニングしようと思ったら初期設定の段階で詰まったのでメモ。

環境

AWS上でやりました。
ターゲットノード: Windows2016(ami-151a78f8)
コントロールノード: Amazon Linux2(ami-e99f4896)

コントロールノード側準備

まずpipをインストール
こちらを参考にさせていただきました。
qiita.com

ansibleとpywinrmインストール

$ pip install ansible
$ pip install pywinrm

ターゲットノード側準備

Ansibleから疎通が取れるようセットアップ。
こちらを参考にさせていただきました。
qiita.com

プレイブック実行

/etc/以下にディレクトリ等を作成し、プレイブック作成、実行。
以下のようなメッセージが表示され、プレイブックが実行されない。

 [WARNING]: Unable to parse /etc/ansible/hosts as an inventory source

 [WARNING]: No inventory was parsed, only implicit localhost is available

 [WARNING]: provided hosts list is empty, only localhost is available. Note
that the implicit localhost does not match 'all'

どうやらデフォルトで見ているインベントリファイルと自分が設定したファイルが違うみたい。

トラブルシュート

ansible.cfgをプレイブックと同じディレクトリに配置。
インベントリファイルは/usr/local/etc/ansible/inventoryに置いているのでそこを指定。

#ansible.cfg
[defaults]
inventory=/usr/local/etc/ansible/inventory

プレイブック実行

 [WARNING]: Unable to parse /usr/local/etc/ansible/inventory as an inventory
source

 [WARNING]: No inventory was parsed, only implicit localhost is available

 [WARNING]: provided hosts list is empty, only localhost is available. Note
that the implicit localhost does not match 'all'

/usr/local/etc/ansible/inventoryがinventory sourceだということをどこかで明言しないといけないらしい…
面倒なのでオプションで何とかならないか模索。

$ ansible-playbook -i ./inventory/hogehoge.ini hogehoge.yml -vvv
TASK [Gathering Facts] ***********************************************************************
task path: /usr/local/etc/ansible/admin_lock.yml:1
Using module file /usr/lib/python2.7/site-packages/ansible/modules/windows/setup.ps1
<10.X.X.X> ESTABLISH WINRM CONNECTION FOR USER: Administrator on PORT XXXX TO 10.X.X.X
EXEC (via pipeline wrapper)
ok: [10.X.X.X]
META: ran handlers

疎通できました。