布団が俺を呼んでいる

丘山大一のぶろぐ

PowerShell ディスクサイズの使用状態をログで吐き出したい

自分メモ。
ディスクサイズの使用状態を日時のログで吐き出す。
実際使う時はタスクスケジューラあたりで呼び出す。

Get-PSDrive -Name C | Select-Object @{Name='datetime'; Expression={Get-Date -Format('yyyy/MM/dd')} } , Used, Free | ConvertTo-Csv -NoTypeInformation |Select-Object -Skip 1 |Out-File -FilePath 'Drive_C.txt' -Append

もっと簡単なやり方があったはずだが、「Windows Server 2008R2で動く」という本来あってはならない要件があり、試行錯誤してた結果こんなんを書いていた。


Oracle データベース挑戦と敗北のメモ

Microsoftの整備された道を歩んできた者にはOracle のハードルが高く感じる模様。
ただ「接続して、テーブルを作る」までに(他のこともやっていたとはいえ)数日を要しました。

そして失敗につぐ失敗のはて、結局素直に本を買う。

Oracleの基本 ~データベース入門から設計/運用の初歩まで

新品価格
¥2,851から
(2019/7/31 19:33時点)



まず成功した手順と注意点について

https://www.oracle.com/technetwork/jp/indexes/downloads/index.html#database
でファイルをダウンロードできるのですが、まずここでアカウント登録が必須。このアカウント登録、住所や電話番号まで登録しなければいけないので注意。捨てアドでとる、なんてことはしないほうがよさそう。少なくとも私は正確なものを入力しました。
んで次。
Database 12c Enterprise/Standard Editions のWindows用で容量約2.8GB。zipを解凍するので、だいたいこの2倍の容量が最初にいる。
これに加え、インストールには8GB強必要です。
Zipは解凍後に削除するにしても、余裕をもってだいたい15GBくらいは見ておきたい。

後は本に従ってインストールするだけなのですが、インストールには結構時間がかかる。しかもファイアウォールの許可ダイアログが途中で二回来るので、画面を見ておく必要があるという面倒くささ。
GUIでインストールするならこればかりは見ててね、という話ですけどちと面倒。


ハードルの高さについて


苦戦したことについて。

ググラビリティの中途半端な高さ

「Oracleを使う」という文脈だと、だいたいデータベースを指すことが多いと思うのですが、「Oracle」単体だと企業名になるため、Javaなんかの製品が混ざってくる。
検索にはOracle Database を使えばいいのですが、それだと記事に「Database」を含まないものが入ってこない恐れがあるので使い分けが必要……な気がする。

最新バージョンに関する情報が少ない

現時点の最新バージョンは19c。
さすがに最新バージョンの情報が少ないのは仕方ないとして、その前バージョンの18cも少なめ。
正確には、「新しい機能」の説明はチラホラはあるのですが、「基本的なSQLは分かるがoracleは初めて」というような「Oracle初学者」向けの情報が見つからず。
「特別な理由がない限り、まずは最新のものを使う」のが基本だと思っているので、最初は何も考えずに19cを入れてしまったのですが、入れ方や入れた後の手順が分からずこれで失敗。
最終的に、「いきなり新機能は使いこなせるわけないのだから、まずは情報が多い12から触ろう」という決断をくだすまでに時間がかかってしまった。

19cは容量がでかい

上でも書きましたけど、最初に
  • まずは最新ものもを入れてみよう!19cだ!
  • 不慣れなんだからGUI環境欲しいな!Oracle Enterprise Managerとやらを入れてみよう!
などとやっていたら25GB超えの容量が必要となってきて、古いマシンには容量不足で入らないという事態に。
「練習目的だから、データベースもそんな作らないし容量なんて大して食わないやろ」とか思っていたら大失敗。
そのあとで余裕があるマシンでやり直してやっぱり失敗するのを繰り返した。

Docker でやってみようぜ

Docker Hub にOracleLinuxというものが公開されているのですが、いかんせん「何が入っているどういうイメージなのか」の情報がサックリと手に入らず撤退。
ただし、これは私のLinux、Docker経験の少なさに起因している問題ので慣れている人ならいけるのではないかと予想。
慣れたらこっちにも挑戦したいね。


アンインストール失敗

19cをアンインストールしようとしたところ、専用のアンインストーラーexeがなく、バッチファイルをたたくという手順でした。
で、このバッチファイル、3つの落とし穴があります。
  • 管理者権限で実行する必要がある
  • 全部のファイルが消えるわけではない
  • 対話式アンインストーラーだが、意味が分からない
はじめの2つはそりゃそうだよね・仕方ないよね、という感じ。
インストールに管理者権限がいるんだからアンインストールにも管理者権限は必要だよね、くらい。
問題は3つ目で、対話式で聞かれる用語の意味がOracle初学者には意味が分からない。基本的にはデフォルト値でいけるのですが、ところどころデフォルト値が無いものがあり何かを入れる必要があるのですが何を入れればよいのやら。
調べながら入力しましたが、本当に正しい手順だったのか確信が持てず。
きちんと勉強していけば分かるのでしょうが、インストールのトライアンドエラーすら難しいというのはなかなか辛い。


今後の展望

12cで基本を学べたら、19cやOracleLinuxにも挑戦したいところ。
何か月かかるか分かりませんが頑張りたい。

nodejs勉強した頃の開発環境(備忘)

あまりにもWeb系世界が不得手だったので、コッソリとnodejsを勉強していた時がありました。
この本↓

Node.js超入門[第2版]

新品価格
¥3,240から
(2019/7/27 18:01時点)


言語仕様の説明は薄めで、実際にアプリを作りながら勉強していくタイプの本です。
動くものができあがるので結構楽しい良本。
が、色々勉強にはなったのですが、nodejsはあんまり肌にあってない感じある。
でもせっかくなので記録は残しておく。

というような自分メモ記事です。


開発環境について

VSCodeでガリガリ書くのはいいとして、nodejs自体はPC本体に入れたくない(バージョン管理から解放されたい)。
学習で使うmysqlもPC本体に入れたくない(DBは仕事で苦労した記憶が多いので本体に入れたくない)。
というわけで、これまた不得手であったdockerに手を出したのです。

そしてできた基本形がこちら。


docker-compose にnodeとmysqlを入れています。
ソースはnodeフォルダの中。
で、使う時になったらコンテナにdocker execしてnpm start OR  Sequal Proで接続。


docker-compose

当時、あちらこちらを参考にして書いた記憶。

version: '3'
services:
# DBサーバ
db:
container_name: nodeDb
build: .
image: mysql:5.7
ports:
- "3306:3306"
volumes:
- ./db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: test
MYSQL_PASSWORD: test
# Appサーバ
node:
container_name: nodeApp
build: .
image: node
ports:
- "80:3000"
volumes:
- ./node:/usr/app
command: "/bin/bash"
tty: true

アプリケーションサーバの方はポートのバインドしつつ、ソースコードを共有するためにvolumesでフォルダをバインド。
先に書いたように、実際に使う時はこのサーバに潜り込んでディレクトリを移動してからnpm startする感じです。

DBサーバは(当然のことながら)データを保存しておきたいので、volumesでフォルダをバインドしています。
また、やっていたらmysqlの最新版ではうまく動かなかったので5.7を利用した記憶があります。
DBコンテナに直接入ることはあまりなく、実際にはSequal Proで接続していました。


初めのうちはなんかうまくいかず苦戦した記憶。


問題は

他にもなにか作業していた気がするのですが、いかんせん大分前のことなので忘れました(汗)。
この通りにやっても動かなかった!
となっても責めないでください。



PackageManagement に挑戦その3

前回から大分間があいた。


更新について

apt update && apt upgrade 的な、プロバイダ経由で入れたパッケージの更新ってどうやるんでしょう?
Update-Package のようなコマンドがあるかと思いきや、見つからなかったのでゴリ押しました。


Get-Package -ProviderName ChocolateyGet
で取得した名前をもとにインストールかけてみました。うーん、これはやり方間違っている感。
あと、これだとインストールの度に「Y」を入力しなければならないです。
諸々、正しいやり方をだれか教えてください。探してもよく分からなかったんです……


それでな?

今更気が付いたんですが……


なぜKBがChoco経由でインストールされている……??

入れた覚えサパリないんですが。
https://chocolatey.org/packages/KB2919442
https://chocolatey.org/packages/KB2919355
たしかに公開されてはいるんですけど、なぜ入っている??


う~ん。分かりませぬ。
PackageManagement は導入部分の記事は多いんですけど、運用している人の記事をあまり見ないんですよね……
運用しなくなってしまったか、秘蔵のタレがあるのか、簡単すぎて記事にしないの3ケース。
……最後のケースのような気がするな……しくしく。

やっぱPowerShell も本を買って調べなおさないとダメですね……むむ。
↓の本はまだ買えていない((+_+))




PowerShell実践ガイドブック ~クロスプラットフォーム対応の次世代シェルを徹底解説~

新品価格
¥3,974から
(2019/3/14 11:30時点)

ダウンロードしたファイルのアレについて


昔調べたんですけど、記事にしていなかったので記事にしました。


アレ

コレ。

大体何も考えずに「許可する」を選択して閉じるヤツです(セキュリティ意識の欠如という大問題)。


正体について

ファイルシステムであるNTFSにおける代替ストリームです。
といってもなんのこっちゃですね。
ざっくり言ってしまえば、実態となるファイルに追加で情報を入れられます。上の画像は「セキュリティ情報を付加されたファイル」ということになります。
ファイルのプロパティからでは機能の具体的な名称が分からないので調べづらいですが、「NTFS」「代替ストリーム」あたりをキーワードにweb検索すれば色々ヒットします。


詳細を見る

コマンド
dir /r
で簡単に見られます。


二行目のコロン「:」の後にくっついているのがソレです。
ここでは「Zone.Identifier」がくっついている、ということが分かります。が、DATAの中身が分かりませんので、今度はpowershell を使って中身を見ます。


こうすると色々見えてきます。
[ZoneTransfer]の
ZoneIdに3がセット
HostUrl にはダウンロード元のアドレスがセット
されていることが分かります。
ZoneId は列挙体であり、コチラhttps://docs.microsoft.com/ja-jp/dotnet/api/system.security.securityzone?view=netframework-4.7.2に詳細が書かれています。


Windowsファイルシステムなので

代替ストリームはxcopyによるコピーや、エクスプローラ上でのコピーによっても引き継がれます。
WSLでコピー(cp)した場合は引き継がれません。
どのファイルシステムが管理しているか、どのようにファイルが作成されたかによって代替ストリームが残るかどうかが決まってしまうので、重要な情報は基本的におけません。ちょっとした追加情報を残すことにとどめることになると思います。


追加できるデータについて

実は好き勝手に追加できます。


遊んでみようと思えば遊べるかと。
日本語も入れられます。一文字ごとに3バイト増えるようなので、内部的にはunicode? なのかな。


オマケ:AD環境について

最新のADは分かりませんが、以前確認したところ「ゾーン情報を削除する方法を非表示にする」というグループポリシーがありました。
AD配下のマシンでゾーン情報が出てこない場合はこれが有効になっているのかもしれません。


ポストイット 付箋 強粘着 ノート 50x50mm 90枚x5個 蛍光 650-5SSAN

新品価格
¥677から
(2019/2/21 14:49時点)

あけましておめでとうございます(激遅)

今年もよろしくお願いいたします。


新年になって変わったことといえば


やっぱり、ネギを育て始めたことですかね!




これで家にいながらいつでもネギが食べられるという夢のような生活が!


そうそう、新年気になるニュースといえば、Appleの株価が暴落しているとニュースになっていました。
なんでもここ3か月間で時価総額が50兆円近く減ったとかなんとか。50兆円って国家予算か何かか?

そんなわけで、順調だったAppleに逆風が吹いているようですが、そんなことは気にせずMacBook Pro 入手しました。



ワーイ。

これを書いている時点で、まだ電源入れてデスクトップ画面までいっただけです。


購入動機は「Macは食わず嫌いだったが、それだけではいかんだろ」というものです。
MS信者を自称していますが、それぞれのOSにはそれぞれいいところがあると思っているし、やはり一度は自分で使ってみて感想を持つべきだな、との考えに至りました。

現時点で、MacBookのことは本当に何も知らないです。具体的にはモニタを指で突っついてもタップできないことをさっき知って衝撃を受けているレベルです。マジかよ。iPad 作った会社だったろおまえ。みたいな気分。

……そんなことも知らなかったプログラマ(笑)が私です……
……地味に凹む……
……Surface は普通にできるから、MacBookも同じことは当然できると思い込んでた……

※Surfaceは歴史的にはタブレット出発だったので、純粋にノートPCとして歩んできているMacと比較するのはそもそもおかしいのですが。

基本MS信者なので、Macを使いこなすというところまではいかないと思いますが、Apple文化の一端に触れたいですね。


ここ数年、私が興味を持ったものたちを振り返る


  • .NET Standard :.NET Core でよくね?
  • Windows 10 Mobile:あいつか……はいいヤツだったよ
  • UWP:WPFで作ってAppxに閉じ込めた方が早くね?


以上のように、私が興味を持ったものは一様に目覚ましい成長をとげています
ええ、目覚ましい成長ですね。
果たしてMacOSはどうなるのか!?
ワクワクしますね!

Apple 13インチ MacBook Pro|2.3GHz デュアルコア Intel Core i5|256GB|スペースグレイ|MPXT2J/A

中古価格
¥140,378から
(2019/1/11 13:33時点)

Microsoft Store で地味に薦めるもの

Microsoft Store を利用している人の話ってあまり聞かない気がします。
以前は「アプリ少ねー!」「アプリ少ねー!」という声が聞こえていましたし、実際少なかったのですが、今はそれなりにあります。
※デスクトップアプリがストアにあげられるようになったことが大きいのかと思います。

前置きはさておき、秋のOS見直し祭りにつき、入れたアプリの中で「あまり有名ではないのではないか」というものをちょろっと紹介してみようコーナーです。
有名どころはよそのまとめでもご覧くだせえ。

紹介開始

画像をつけるのが面倒じゃったヨ……

LiveStickies

スタートメニュー上に付箋を作れるアプリ。
Windows 標準の付箋となったsticky notesは、画面に散らばりがちですが、これならスタートメニュー内に閉じ込められ、かつ参照も簡単です。
おしむらくは文字のコピーがしにくいことか。

PDF Viewer Plus

軽量なPDF閲覧アプリ。
軽くさっと見るだけなら、起動も早くいいのではないかと。

PAWA
WebページをそのままPWAできるアプリ。スタートメニューにショートカットを張り付けられるので、Webページをアプリのように使いたい方向け。ブラウザのスタートメニューショートカットと違い、アイコンも自分で変えられます。
とすごく便利そうに書きましたが、動きとしては「Webページをアプリ内で表示している」という動作であるため、「動作するブラウザを選択できない」「ログインIDなどを記憶しない」等の問題点があります。
PWAとして動作させたいWebページは、ログイン必須なことが多いのでここが致命的……

Amazon Music

大本の紹介はいらないですし、機能も名前を見ればわかりますね。でもアプリ自体の知名度が低い気がするのでここでご紹介。
音楽を垂れ流したいときに便利です。

Speed Checker

回線速度計測アプリです。この手の計測は複数手段を使って計測することが多いので、選択肢の一つとして入れておいてよいのではないでしょうか。

Wanduhr Lite

アナログな時計を表示します。「そんなんなくても、タスクバー見ればわかるやろ」という人には不要です。
でもささる人にはささるアプリ。私とか。

CrystalDiskMark Shizuku Edition

「Crystal Disk Info だと思ってインストールした人は?」
「はい、わたしです」



ストアの現状

アプリ数よりも、なにより問題なのは「Microsoft Store」自体の品質が低いのがつらいです。
検索はイマイチだし、よく落ちるし、サーバ側トラブルは多い……。
でも着実に進歩し続けているので、食わず嫌いせずに、たまに眺めてみると面白いですよ。



Windows ストアギフトカード 1,000 円 (Windows/Xbox 360で利用可)|オンラインコード版

新品価格
¥1,000から
(2018/11/4 17:57時点)

PackageManagement に挑戦その2

今度は実際に入れてみる。
使うプロパイダはChocokateyGet。powershellを管理者実行にして作業開始です。


まず一つ

ChocolateyGet を入れてみます。

Install-PackageProvider -Name ChocolateyGet


インストールしようとしているのに、いきなりアンインストールしようとするメッセージが。
このメッセージは単なる間違いのようなので、構わず「Y」。


しかし失敗。
名前が違うんじゃないの?警告が出ていますが、ここではメッセージを無視して
Set-ExecutionPolicy RemoteSigned
で権限変更。再度Install-PackageProvider -Name ChocolateyGet を実行するとあっさり通りました。
※通るんですが、この時点では正しく登録されてなかったぽい。



続いて、7-Zip を探してみます。
Find-Package  -Name *7-Zip* -Provider ChocolateyGet
するとChoco.exeを入れていい?というメッセージが。ここは「Y」です。
で、官僚したら再度Find-Package  -Name *7-Zip* -Provider ChocolateyGet を実行。

……

何も出てきませんね?
ちょっとコマンドを変えてみます。
 Find-Package  -Name *Zip* -Provider ChocolateyGet


ああ、出てきた出てきた。

出てきたのでインストールしてみます。
Install-Package -Name 7zip.install -Provider ChocolateyGet


おお、できた。
ちょっぴり楽しい。


とりあえず入れたもの一覧

7-Zip:Install-Package -Name 7zip.install -Provider ChocolateyGet
IrfanView :Install-Package -Name IrfanView -Provider ChocolateyGet
Media Player Classic: Find-Package -Name "mpc-hc*" -Provider ChocolateyGet | Install-Package
VSCode:Install-Package -Name "visualstudiocode" -Provider ChocolateyGet
Kindle for PC:Install-Package -Name "Kindle" -Provider ChocolateyGet
Blender:Install-Package -Name "blender" -Provider ChocolateyGet

バージョンが古いものがありますが、それは後で更新するということで。


追加で入れたもの

2018/10/31 ImgBrun : Install-Package -Name imgBurn -Provider ChocolateyGet
2018/11/2 CrystalDiskInfo:  Install-Package -Name crystaldiskinfo -Provider ChocolateyGet
2018/11/11 node.js(LTS):  Install-Package -Name nodejs -Provider ChocolateyGet
2018/12/11 magicavoxel:  Install-Package -Name magicavoxel -Provider ChocolateyGet
2018/12/11 magicavoxelviewer:  Install-Package -Name magicavoxelviewer -Provider ChocolateyGet
2018/12/16 Q-Dir:  Install-Package -Name qdir -Provider ChocolateyGet
2018/12/18 imageglass:  Install-Package -Name imageglass -Provider ChocolateyGet
2018/12/19 Screen To Gif:  Install-Package -Name screentogif-Provider ChocolateyGet
2018/12/25 Inkscape:  Install-Package -Name Inkscape -Provider ChocolateyGet
2019/2/18 Notable:  Install-Package -Name notable -Provider ChocolateyGet

PackageManagement に挑戦

秋のOS見直し祭りにつき、諸々再インストール中。
でも色々インストールしなおすのって面倒ですよね。
というわけで、Windows のPackageManagement に初挑戦です。
れっつとらい。


まず動かしてみる

PowerShell を管理者権限で実行。
Find-PackageProvider
すると「プロバイダー 'nuget v2.8.5.208' がインストールされていません。」云々と表示されますが、ここは素直に「Y」で入れておく。
ちょっとしてからプロパイダの一覧が出てくる。

Name                           Version          Source           Summary
----                           -------          ------           -------
nuget                          2.8.5.208        https://onege... NuGet provider for the OneGet meta-package manager
psl                            1.0.0.210        https://onege... psl provider for the OneGet meta-package manager
chocolatey                     2.8.5.130        https://onege... ChocolateyPrototype provider for the OneGet meta-pa...
PowerShellGet                  2.0.1            PSGallery        PowerShell module with commands for discovering, in...
DockerProvider                 0.0.0.3          PSGallery        PowerShell module with commands for discovering, in...
ContainerImage                 0.6.4.0          PSGallery        This is a PackageManagement provider module which h...
NanoServerPackage              1.0.1.0          PSGallery        A PackageManagement provider to  Discover, Save and...
DockerMsftProvider             1.0.0.5          PSGallery        PowerShell module with commands for discovering, in...
ChocolateyGet                  1.0.0.1          PSGallery        An PowerShell OneGet provider that discovers packag...
DockerMsftProviderInsider      1.0.0.2          PSGallery        PowerShell module with commands for discovering, in...
GistProvider                   0.6              PSGallery        Gist-as-a-Package - PackageManagement  PowerShell P...
GitHubProvider                 0.5              PSGallery        GitHub-as-a-Package - PackageManagement PowerShell ...
GitLabProvider                 1.3.7            PSGallery        GitLab PackageManagement provider
TSDProvider                    0.2              PSGallery        PowerShell PackageManager provider to search & inst...
OfficeProvider                 1.0.0.1          PSGallery        OfficeProvider allows users to install Microsoft Of...
MyAlbum                        0.1.2            PSGallery        MyAlbum provider discovers the photos in your remot...
0install                       2.15.1           PSGallery        Zero Install is a decentralized cross-platform soft...
AppxGet                        0.1.0.1          PSGallery        Powershell Package Management (OneGet) Provider for...
WSAProvider                    1.0.0.4          PSGallery        Provider to Discover, Install and inventory windows...
Pacman-Provider                0.0.1            PSGallery        Pacman provider enables installation of pacman pack...

続けて、現在入っているものを見てみる。
Get-PackageProvider

Name                     Version          DynamicOptions
----                     -------          --------------
msi                      3.0.0.0          AdditionalArguments
msu                      3.0.0.0
NuGet                    2.8.5.208        Destination, ExcludeVersion, Scope, SkipDependencies, Headers, FilterOnTag, Contains, AllowPrer...
PowerShellGet            1.0.0.1          PackageManagementProvider, Type, Scope, AllowClobber, SkipPublisherCheck, InstallUpdate, NoPath...
Programs                 3.0.0.0          IncludeWindowsInstaller, IncludeSystemComponent

ほほー。msiもここに含まれるんですね。
さて、ちょろっと調べた感じだと、解説記事ではだいたいchocolatey を入れるのがお約束みたいです。
タブン先人に倣ってやれば間違いないのでしょうが、せっかくなので他のプロパイダのドキュメントを軽く調べてみます。

DockerMsftProvider と DockerProvider

DockerMsftProviderは以前、Windows Server で Docker を操作するときに入れました。
ではDockerProvider ってなんじゃらほい、と思いましたが、どうやらDockerMsftProviderの対応が遅れている間に使用されていたものみたいですね。最終更新日が2017年9月で止まっているので、今はあまり使われてなさそうです。

DockerMsftProviderInsider

上記のInsider版ですかね。タブン。

ContainerImage

Windows Server のコンテナを利用するときに使うみたいです。Windows Server 専用ですかね。

NanoServerPackage

その名の通り、NanoServer を利用するために使用するみたいですが、VHDイメージの構築にも利用できるみたいです。NanoServer を使用しない場合は不要でしょうか。

ChocolateyGet

chocolateyとなにが違うのだろう……?と調べると、どうやらchocolateyプロパイダを普通に使うと問題がある場合があるみたいですね。その代替として使われているみたいです。
にも「Use ChocolateyGet for now.」と書かれています。本家推奨の模様。
ダウンロード数でもこちらの方が多いみたい。

GistProvider

Gist のファイルを落としてこれる? みたいです。パッケージ管理というよりgithubサポートなのかな?

GitHubProvider

ざっと見る感じ、github公開のソースをzipで落としてきて、解凍するものみたいです。
Windows上でgitが使いやすくなったので、あまり使わないかな?

GitLabProvider

上記GitHubProviderのGitLab版ぽいです。

TSDProvider

TypeScript の定義ファイル(?)をhttps://github.com/DefinitelyTyped/DefinitelyTyped から引っ張ってくる(?)のでしょうか。
スイマセン、TypeScript知らないのでなんとも……

OfficeProvider

Office365 ProPlusを入れるためのものみたいです。自動展開とかしたい人向け?

MyAlbum

PackageManagement プロパイダ開発用のサンプルみたいです。

0install

Zero Instrall というクロスプラットフォーム対応のパッケージ管理システムを利用するためのプロパイダ。
便利そうですが、ダウンロード数の少なさが気になります。

AppxGet

ストアアプリの管理用途?
さらっと見た感じ、インストール済アプリの表示とアンインストールができそうです。
(新規のインストールはできない? 未検証)

WSAProvider

WIndows Server(nano Server) にAppX のアプリケーションを入れるためのもののようです。

Pacman-Provider
不明。
よくわかりませんでした……。なんなんだろう。


どれを入れるべきか

実質、chocolatey、ChocolateyGet 、0install の三択になりそうです。
Windows Server 利用ならdocker関係も使えそうです。


PowerShell実践ガイドブック ~クロスプラットフォーム対応の次世代シェルを徹底解説~

新品価格
¥3,974から
(2018/10/29 00:23時点)

Linux マルチブート環境構築

秋は構築。USBをさしてディスクに直接インストールするに、パーティション切りなおすとて、三つ四つ、二つ三つなどやり直すことあはれなり。まいてGRUBのトラブルなどがつらいが、bootせざるは、いとをかし。日入りはてて、ファンの音、ROMのねなど、はたいふべきにあらず。


秋はOSインストールの季節です

冬の足音が聞こえてくるころですが、そんな時だからこそOSインストール。
(今回はLinux限定なのでディストリビューションインストール)
夏は汗が邪魔になり、冬は静電気が発生しやすい。春は新型モデルが発売され目移りする。
そんなわけで、日本では古来よりOSのインストールは秋が良いとされています(大嘘)
そんなわけで久々に実機インストールです。超楽しい。


お品書き

  • Ubuntu
  • Android x86
  • CentOS
  • openSUSE
Android をフツーにLinuxディストリビューションとしていいかどうかはさておき、こんな感じ。


インストールの流れ

  1. Ubuntuのインストール。GParted でパーティション分割。
  2. Android x86のインストール。GRUBをうっかり上書き、Ubuntuが立ち上がらなくなる。
  3. CentOSのインストール。GRUB2でしっかり上書き、Android x86が立ち上がらなくなる。
  4. openSUSEのインストール。ブートがopenSUSEのものになり、落ち着かなくなる。
ここまでの結果として、各パーティションにディストリビューションはインストールされているものの、Androidがブートメニューに表示されない状態。
GRUBをゴニョゴニョしなきゃいけないとすぐにあたりはつくものの、私はMS信者なのでこの辺り非常に疎い。あとCUIよりもGUIの方が好き。

というわけで、grub customizerをapt install 。GRUBをGUIでいじれるようにしました。
その後、どう設定すればAndroidを起動できるようになるのか分からず、相当に苦戦しましたが、最終的に下記を参考にさせていただいてできました。

実際の設定はコレです。

set root='(hd0,3)'
search --no-floppy --fs-uuid --set=root 033e8fc7-4cfe-9454-bc59-df7329ca862d
linux /android-7.1-r2/kernel root=UUID=033e8fc7-4cfe-9454-bc59-df7329ca862d quiet androidboot.selinux=permissive vmalloc=192M buildvariant=userdebug SRC=/android-7.1-r2
initrd /android-7.1-r2/initrd.img

リンク先と異なるのはrootをUUID指定していることですね。これはgrub customizerで簡単に調べられたのでこちらにしました。


もう一つ苦戦したのは、grub customizerのファイル から GRUBのインストールを実行しないといけないことに気が付かなかった点です。ブートの仕組みをきちんと理解していれば楽勝なんでしょうけど、疎いのでホント辛い。

でも最終的に4マルチブート構成できたので満足。


さて、何に使おうかな?(インストールしたかっただけ)




全文(色々変だが気にするなの精神)

春は新調。安売りおおくなりやすく、はずれもすこしありて、いらだちたる客もほそくならびたる。
夏は冷房。月のころはまだしも、ひるはより、汗が多くとびちる。また、ただ一つ二つなど、熱暴走のうち故障して逝くもをかし。雷など降るもをかし。
秋は構築。USBをさしてディスクに直接インストールするに、パーティション切りなおすとて、三つ四つ、二つ三つなどやり直すことあはれなり。まいてGRUBのトラブルなどがつらいが、bootせざるは、いとをかし。日入りはてて、ファンの音、ROMのねなど、はたいふべきにあらず。
冬は増設。容量不足は いふべきにもあらず、通信料の多さも、また さらでもいと多きに、クラウドバックアップなど急ぎ設定して、容量確保するも、いとつきづぎし。結局足りず、しかし面倒だと思うていれば、アップデートもままならなくなりてわろし。


こころきらきら枕草子 ~笑って恋して清少納言

新品価格
¥1,620から
(2018/10/24 23:01時点)