ぴょんぴょんブログ

もっと虚淵作品を楽しんで欲しい!

この記事は、あくあたん工房2021 GWアドベントカレンダー5日目の記事です。

あくあたん工房の記事は技術的なないようのものが多いのですが、今回は趣味全開で書いてしまいました。 こういう記事を書いても問題ないくらいあくあたん工房はゆるいコミュニティなので、興味のある工繊生はぜひTwitter公式サイトからご連絡下さい。

はじめに

皆さん虚淵玄をご存知ですか? 「まどマギ」や「PSYCHO-PASS」が有名ですが、他にも数多くの小説やゲーム・アニメのシナリオを書かれています。 全て紹介できるわけではないですが、自分が読んだり観たことあるもの、興味があるものを紹介しようと思います。

GWも残り僅かですが、虚淵作品は名作揃いなので、この機会にぜひ、興味のある作品を楽しんでみてください!

Wikipediaには多分全部の作品が載ってるんじゃないかな。

虚淵玄 - Wikipedia

ゲーム、アニメ、小説、その他に分けて、ジャンル毎に発売、発表年順に紹介していきます。 作品ごとにおすすめ度を★1~5で書いていきます。(あくまで個人の評価です。)

結構長くなってしまったので、飛ばし飛ばしで読んでもらえればと思います。

ゲーム

Phantom -PHANTO OF INFERNO-

おすすめ度:★★★☆☆

自分が知る限り一番古い虚淵作品です。 ニトロプラスのデビュー作でもあります。 虚淵玄といえば鬱展開という話もあるんですが、この作品は鬱というよりかは闇という感じです。 海外で暗殺稼業をするというのはイメージが付きづらいですが、緻密な描写で非常にリアルに感じることができます。

自分がしたのはオリジナルですが、アニメ化されたり、リメイクされたり広く展開しています。 虚淵玄の原点とも言われており、特におすすめしたいのですが、若干環境を揃えるのが難しいかもしれないです。 アダルトシーンのあるオリジナルのPC版、アダルトシーンをなくしたPS2版と、アニメ風にリメイクされたXBOX360版、PC版があります。 自分がしたオリジナルのPC版はWindows8以降では動かないため、そのためだけにWindows7を用意するはめになったので、気をつけて下さい。

──今を生き抜くために、僕は人を殺し続ける。

暗黒街で相次いで発生したマフィア幹部暗殺事件。その影で囁かれる謎の組織「インフェルノ」と、組織最強の暗殺者である「ファントム」の噂……。
一人旅でアメリカを訪れた少年は、ある事件で偶然にもファントムに遭遇する。
なんとその正体は、自分と歳が変わらない少女だった。
それまでの記憶を消され、ファントムのもとで数々の暗殺術を学ぶうちに、いつしか少年は、組織最高の暗殺者と肩を並べるまでに成長し、次第に組織内に渦巻く陰謀に巻き込まれていく。
凶暴で無法な世界で、暗殺者として生きる少年と少女の運命は……。

nitroplus.ecq.sc

鬼哭街

おすすめ度:★★★★★

虚淵玄のノベルゲームといえば、後述する沙耶の唄が有名なのですが、こちらの作品も同じくらい好きな作品です。 正確には、選択肢がないため、ゲームではないと公式が行っていますが…… 内容としては、近未来のサイバーパンクな上海を舞台に、サイボーグが激しい戦いを繰り広げます。 映像はないのですが、戦闘の描写が半端じゃないので引き込まれること間違いなしです。 最も虚淵玄らしい作品の一つだと思います。

こちらも現在買うなら一般向けになりイラストが刷新され、フルボイスになったリメイク作(PC)がおすすめです。 1日あればエンディングまでいけるボリュームなので、残りのGWでも十分楽しめます! 僕は読んでいないですが小説版もあるので、ノベルゲーム苦手な方はそちらをどうぞ!

間違った未来、誰かが選択を誤った世界。犯罪結社「青雲幇」の牛耳る上海に、一人の男が舞い戻る。
彼の名は孔濤羅。かつては幇会の凶手(暗殺者)であり、生身のままにサイボーグと渡り合う「電磁発勁」の使い手である。
仲間の裏切りによって外地で死線をさまよった彼が、一年の時を経て上海に戻ってみれば、すでに裏切り者たちは幇会の権力を掌握し、そればかりか濤羅の最愛の妹までもが辱められ殺されていた。
怒りに身も心も焼き尽くされた濤羅は、その手に復讐の剣を執る。

仇は五人。

いずれ劣らぬ凶悪無比のサイボーグ武芸者たちを、一人また一人と血祭りに上げながら、孤高の剣鬼は魔都上海の夜闇を駆け抜ける。

──我はこの一刀に賭ける修羅。

www.nitroplus.co.jp

沙耶の唄

おすすめ度:★★★★★

言わずとしれた鬱ゲーの代表的名作です。 ネタバレになってしまうので何も書けないのですが、設定が非常に素晴らしいです。 「それは、世界を侵す恋。」というキャッチコピーがめちゃくちゃいいですね! 狂気にまみれた純愛?ホラーものです。 このゲームでしか感じることのできない感情があるような気がします。 18歳以上の方は騙されたと思ってぜひプレイしてみて欲しい一作です。

こちらの作品も鬼哭街同様に1日あれば全エンディングを見ることができます。 鬼哭街と異なり選択肢はありますが、エンディング数はすくないので、フラグ管理などそういうのは必要ないです。 ただ、一般向けされているバージョンはないですし、非常にグロテスクなシーンが多いのでご注意を! こちらの作品も小説版があるので、ノベルゲーム苦手な方はそちらをどうぞ!

爛れてゆく。何もかもが歪み、爛れてゆく。

交通事故で生死の境をさまよった匂坂郁紀は、いつしか独り孤独に、悪夢に囚われたまま生きるようになっていた。

彼に親しい者たちが異変に気付き、救いの手を差し伸べようにも、そんな友人たちの声は決して郁紀に届かない。

そんな郁紀の前に、一人の謎の少女が現れたとき、彼の狂気は次第に世界を侵蝕しはじめる。

注意:下記のリンクには成人向けの内容が含まれています!

www.nitroplus.co.jp

Fate/Grand Order 2部3章、イベント

おすすめ度:★★★☆☆

番外編的な感じになってしまうのですが、FGOのイベントとメインシナリオの一部を担当されています。 2部3章は中国が舞台で、シリアスな展開の多い2部の中では比較的コミカルな雰囲気なのが特徴です。 この章で登場したキャラクターは人気も高く、シナリオとしての評価も高いです。 ただ、今からFGO初めて2部3章まで行くには早くて数日、普通にプレイすれば1ヶ月以上ぐらいかかるので、なかなか大変です。 FGOは最近色々炎上していますが、メインシナリオは非常に素晴らしく、戦闘もフレンドからキャラクターを借りるだけ割とサクサク進めるので、根気がある方はぜひ!

www.fate-go.jp

アニメ

ブラスレイター

おすすめ度:★☆☆☆☆

結構古い作品で、観たはずなのですが、あまり覚えていないです(ファンの方ごめんなさい)。 そこそこ楽しめた記憶はあるので、他の虚淵作品をだいたい観尽くしたという人は観てもいいかもしれないです。

今とは少し異なる近未来のドイツ

郊外のとある街で 死体が「異形の姿」に変貌して人を襲う事件が発生
人々は 蘇った死者の姿を見て「悪魔が到来した」と騒ぎ 畏れた…

そんなある時 生きたまま異形の姿へ自在に変身できる者たちが現れる

かつて人であった彼らは超常の力を得たが故に
悪魔と呼ばれ非難されながらも それぞれの思いを胸に悪魔の力を行使する

ある者は 自分が信じる正義の為に
ある者は 純粋な力に魅了されて
ある者は 野望実現の切り札として
ある者は 復讐の道具として

しかし そんな思いとは裏腹にやってくる彼らに課せられた運命

それは悪魔となった者たち同士による
命を賭けたバトル・ロイヤルだった…

彼らは生き延びるため そして己の目的の為に力を使い続けるが
その代償として 徐々に人間の心が蝕まれてゆく……

はたして彼らは人間と呼べるのか そんな彼らに救いはあるのか

孤独や苦悩を抱える少年や青年たちの過酷で凄惨な物語が幕を開ける

www.blassreiter.jp

魔法少女まどか☆マギカ

おすすめ度:★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

★無限の神アニメです。 観ていない人は絶対観て欲しいです。 虚淵玄といえばこの作品です。

蒼樹うめ先生のキャラデザ、ClarisKalafinaの楽曲全て最高です。 キャラデザがちょっと苦手という人もいるかも知れませんが、すぐに慣れるので大丈夫です!

テレビアニメ版と劇場版があるのですが、劇場版の前編、後編、新編の順で見れば大丈夫です。 テレビアニメ版編集版が劇場版の前編、後編で、新編が追加の作品です。 1日あれば全部観れます。

更に、つい先日まどマギ10周年で新作劇場版の公開も決まりました! 今のうちに追いついておきましょう! とりあえず主人公のまどかが魔法少女に変身するところまででもいいので!

大好きな家族がいて、親友がいて、時には笑い、時には泣く、そんなどこにでもある日常。
見滝原中学校に通う、普通の中学二年生・鹿目まどかも、そんな日常の中で暮らす一人。
ある日、彼女に不思議な出会いが訪れる。
この出会いは偶然なのか、必然なのか、彼女はまだ知らない。
それは、彼女の運命を変えてしまうような出会い---
それは、新たなる魔法少女物語の始まり---

www.madoka-magica.com

PSYCHO-PASS

おすすめ度:★★★★☆

人間のあらゆる傾向を数値化し管理されたディストピア的なSFものです。 PSYCHO-PASSの世界では犯罪係数と呼ばれる数値が計測されるのですが、この数値が一定の値を超えると潜在犯として裁かれます。 主人公たちは公安局という警察組織に属しており、色々な事件に関わっていくという物語です。 SF、刑事ものどちらかが好きという方はぜひ観てほしいです。

現在3期と劇場版までやっていますが、虚淵玄が脚本を担当しているのは1期と劇場版です。 2期と3期のファンの方には申し訳ないのですが、個人的には1期が最高でした。 1期は22話あり、少し長いですが、観始めたら止まらないと思います。

psycho-pass.com

翠星のガルガンティア

おすすめ度:★★★★★

ロボットが出てきますが、ロボットメインというよりは異世界生活的な感じや色々な事の真相に近づくのを楽しむアニメです。 個人的にロボットのAIが活躍する作品が好きなのですが、このアニメの主人公の愛機のチェインバーもめちゃくちゃいい味だしてて最高です。 また、合計13話+OVAで結構短くて見やすいです。 観たのが結構昔で忘れてきてるので僕自身また観たいなと思いました。

宇宙(そら)から来た少年、船団都市(ガルガンティア)と出会う
遠い未来
表面のほとんどを大洋に覆われた星、地球
宇宙で育ち
戦いしか知らなかった少年兵レドは
そこで初めて海を見た
広く、淡い翠に光る海
人々は巨大な船団を組み、
つつましくも生き生きと暮らしていた
通じない言葉
異なる習慣
レドは孤独な異邦人
だが、彼は一人ではなかった
ここで生きてゆくためになにができるのか
そして、なんのために生きるのか
翠の星で過ごす日々が、レドに問いかける

gargantia.jp

楽園追放

おすすめ度:★★★★☆

主人公のアンジェラ・バルザックの人気がすごい作品です。 設定を読んでると割とガルガンティアと似てる気がしたり、しなかったりします。 主人公も魅力的ですが、丸く変形するロボットのアーハンも格好いいです。 また、今作は本格的な3DCGでロボットにより戦闘シーンなどのクオリティが非常に高いです。

劇場アニメで今回紹介する中では、一番とっつきやすいと思うのでぜひ観てみて下さい!

ナノハザードにより廃墟と化した地球。
人類の多くは地上を捨て、データとなって電脳世界ディーヴァで暮らすようになっていた。

西暦2400年、そのディーヴァが異変に晒されていた。
地上世界からの謎のハッキング。
ハッキングの主は、フロンティアセッターと名乗った。

ハッキングの狙いは何か。ディーヴァの捜査官アンジェラは、生身の体・マテリアルボディを身にまとい、地上世界へと降り立つ。
地上調査員ディンゴと接触しようとするアンジェラを待ち受けていたのは、地上を跋扈するモンスター・サンドワームの群れ。
アンジェラはそれを迎え撃つために機動外骨格スーツ・アーハンを機動する。
荒廃した地上のどこかに、フロンティアセッターが潜んでいるはず。
アンジェラとディンゴの、世界の謎に迫る旅が今、始まった。

rakuen-tsuiho.com

アルドノア・ゼロ

おすすめ度:★★★★☆

こちらの作品もロボットものです。 ガルガンティア、楽園追放と比べても特にロボット要素が強いです。 火星に移住した人類が強大な戦闘力を有して、地球人類に攻撃をしかけてきたので、なんとかしないとっていうストーリーです。 虚淵玄はストーリー原案と3話までの脚本を担当しています。

この作品はOP,ED,挿入歌を、ガンダムUCや、進撃の巨人で有名な澤野弘之が担当しています。 戦闘シーンなどで流れるがおしゃれすぎて最高のテンションで視聴できます。 戦闘自体も機体性能でゴリ押すようなものではなく、頭脳戦で戦うので観ていて楽しいです。

2クールあり、結構長いですが、ロボットアニメ好きな人にぜひ観てもらいたいです。

宣戦を布告する

火星の騎士たちが空から降ってくる。
鋼で作られた巨人を駆って。
地球人類を殲滅するために。

www.aldnoahzero.com

GODZILLA

おすすめ度:★☆☆☆☆

つい最近放映していたアニメ劇場版ゴジラです。 地球が怪獣に支配されてしまったため、宇宙に避難した人類ですが、地球に戻るしかなくなり、怪獣やゴジラとの決戦が始まるというストーリーです。 史上最大のゴジラが出るとの触れ書きでした。

残念ながら、あまりおすすめできません。 戦闘、全体の流れともに微妙だと感じました。 劇場3部作なのですが、3作目がかなり微妙で、終わりで足を引っ張ってしまった感があります。

いい点もあって、世界観の作り込みなどはかなり好きです。 映画の内容を補足するような小説が2冊出てるのですが、地球が怪獣に支配される様子が描かれていたりするなど、どちらも非常に読み応えがありました。 また、2作目の決戦機動増殖都市の設定は個人的にめちゃくちゃ好きで、ワクワクしました。

godzilla-anime.com

OBSOLETE

おすすめ度:★★★☆☆

まだ後編のエピソードを観えていないので前編のみでの感想なのですが、良質なSFアニメという感じです。 舞台はほぼ現代なのですが、異星人からもたらされた、人が意識だけで制御できるエグゾフレームという機械が存在するということが決定的な違いです。 作業用として使っていたんですが、結構戦闘にも使えるじゃんということでエグゾフレーム関連の技術によるゴタゴタが、様々な視点から描かれています。 YouTubeで配信されており、毎話視点が変わるという変わった展開がなされていました。 1話13分前後で計12話と結構短いのですが、視点が変わったり、話が複雑なので、考察とか好きな人におすすめです。

2021年。アメリカ合衆国ら先進工業諸国が中心となったザンクトガレン協定による規制もむなしく、異星人ベドラーがもたらした意識制御型汎用作業機械「エグゾフレーム」は、全世界に拡散していた。世界各地でエグゾフレームを調査してきたボウマンたちは、その背後に、戦場でのエグゾフレームの利用を拡大させようと目論む何者かの存在に気づく。全ての情報はアフリカの新興国・アザニア共和国大統領ライラ・レシャップを示していた。彼は世界中の誰もがタダ同然で入手できるエグゾフレームの利用を拡大させることで発展途上国の技術的独立を促すべく、新しいアフリカ連合の実質的リーダーとして、あるいは謎の武装組織アウトキャスト・ブリゲートに黒幕として動いている。だが、その危険性を訴えるボウマンたちの報告書は、上層部に握りつぶされてしまう。彼らは、アザニアに対抗すべく、エリア51において秘密裏に海兵隊専用エグゾ開発プロジェクト「ガビアル」を推める。

project-obsolete.com

小説

ブラック・ラグーン

おすすめ度:★★★★☆

漫画ブラック・ラグーンの外伝小説2冊です。 漫画も読まないと話がわからないと思うのですが、原作もハードボイルドで非常に面白いのでぜひ読んで欲しいです。

漫画を小説化する場合は原作と違和感があったりするとあまり楽しめないのですが、この作品は全く違和感がありません。 しかもオリキャラもいるのですが、ブラック・ラグーンの世界にかなり馴染んでいて、登場キャラ皆ぶっ飛んでいてブラック・ラグーン好きにはぜひとも読んでほしいです。

ロックこと岡島緑郎は、日本の商社マンだったが、南シナ海へ出張中に海賊まがいの運び屋〔ラグーン商会〕のメンツに誘拐された。あてにしていた会社にあっさり見捨てられた岡島は、一念発起して改造魚雷艇〔ブラック・ラグーン号〕の見習い水夫に転職。ダッチ、レヴィ、ベニーらの仲間に加わり、アジアの海を駆けめぐることに……。

奇跡の「最凶」コラボによる“ロアナプラ異聞"……。 香港マフィア張の暗殺を目論む刺客たちが何者かによってロアナプラに放たれた! 図らずも、彼らに手を貸す形となったラグーン商会は、張と敵対する意思がないことを示すため、刺客たちを狩り出す羽目に……!
今、ロアナプラに史上“最悪"な刺客どもが上陸する! 

掛け値なしの超ハードGUNアクション!!

www.shogakukan.co.jp

アイゼンフリューゲル

おすすめ度:★★★★☆

龍と戦闘機と戦争のお話です。 前後編の2冊あります。 他の作品などとの関連はないため、読みやすいので、Fateブラック・ラグーンを知らない方にもおすすめです。

うまく説明できないのですが、男心をくすぐる展開や、胸熱な展開が多いです。 主人公はパイロットですが、軍事技術の競争なども熱いです。

SF作品が多い虚淵作品の中では、ファンタジー色の強いこの作品は結構珍しいかもしれません。 ちょっと変わった作品を楽しみたい方におすすめです。

高速レシプロ機エトピリカの操縦桿を握りながらカール・シュニッツは目を懲らした。眩いほどに輝く一対の翼。鱗粉のように撤き散らされる光の礫。それは、未だ人類が到達できない領域の存在—虹龍の雄姿だった。「彼らが舞うあの大空の彼方は、痛みも悲しみもない場所に違いない」いまもなおカールはそう信じてやまない—。これはまだ、龍の翼に神秘があった頃の物語。遥かなる神々の領域を目指した挑戦者たちの記録。ニトロプラスの名作『吸血殱鬼ヴェドゴニア』『沙耶の唄』で知られる伝説のタッグが復活。完全オリジナル新作始動。

honto.jp

Fate/Zero

おすすめ度:★★★★★

今となっては国民的アニメ制作会社になったufotableがアニメ化し、大ヒットした作品です。 原作が小説なので小説の枠に入れていますが、僕自身アニメで視聴しました。 いつか原作も読みたいとは思っていますが、アニメでの感想になってしまう点をご了承下さい。

この作品はFate/stay nightの前日譚にあたる作品です。 時系列的にはFate/Zeroの方が昔であるため、こちらを先に読んでも問題ありません。 Fate/stay nightに比べて全体的に話は暗いですが、stay night以上に戦争感があり、それぞれのマスターの信念を感じることができます。 主人公の衛宮切嗣は魔術師殺しと言われており、魔術師の中では邪道とされている重火器などを使って魔術師と戦うのが虚淵玄らしいです、 この作品で登場したキャラクターの中は人気が高く、特に大塚明夫さんが声をあてていたイスカンダルは有名です。 型月の世界をより楽しむには外せない作品だと思います。

あらゆる"奇跡"を叶える「聖杯」の力を巡って、七人の魔術師が七人の英霊を召喚して覇を競いあう究極の決闘劇……聖杯戦争。

sai-zen-sen.jp

その他

Thunderbolt Fantasy

おすすめ度:★★★★☆

まさかの人形劇です。 台湾の布袋劇という、伝統的な人形劇の脚本を担当しています。 人形劇かぁと思うかもしれませんが、クオリティが半端じゃないのでぜひ一度映像を観ていただきたいです。

www.youtube.com

シナリオもキャラクターも素晴らしいのですが、とにかく人形劇というのが斬新ですし、観ていて飽きないです。 T.M.RevolutionのOPも大好きです。 結構3期が放送されており、劇場版も2回公開されているなど結構な長編になってきていますが、ぜひ1期を観てほしいと思います。

若干本編のネタバレもありますが、Fateとのコラボ動画もありました。

www.youtube.com

かつて魔界の軍勢と人間界が争った戦において、人間たちによって鍛造され、無双の力を発揮した数々の武器である「神誨魔械」。

戦の後、数多の神誨魔械は護印師らによって長く守られてきたが、その中でも護印師の「丹衡」「丹翡」兄妹によって守られてきた最強の武器「天刑劍」が、今まさに「蔑天骸」率いる悪の手に落ちようとしていた。
蔑天骸の追求から逃れる途中、丹翡は偶然にも「凜雪鴉」「殤不患」の両名と出会い、その助力を得ることに。

奇縁により導かれた3人は、新たに加わる個性豊かな仲間たちと共に各々の思いを抱き、蔑天骸の居る七罪塔を目指すこととなるのであった。

www.thunderboltfantasy.com

感想

他にも仮面ライダー鎧武や続・殺戮のジャンゴなど未経験の作品もあるので、全作品制覇できればなと思っています。

この記事を読んで、これは観てみたいやってみたいという作品や、これも虚淵作品だったという発見があれば幸いです。

今回紹介した中で、有名どころを抜いて特におすすめしたいのは、「鬼哭街」、「楽園追放」、「アイゼンフリューゲル」の3作です。 どれも単体の作品で、入りやすいと思うので、ぜひ虚淵作品を楽しんでいただけると嬉しいです。

番外編

NieR Replicant / NieR:Automata

おすすめ度:★★★★★

最近プレイしてどうしても紹介したかったのでぶっこみました。 虚淵玄は一切関わっていませんが、結構雰囲気などは虚淵作品に通じるものがあると思います。 虚淵作品も鬱展開とよく言われていますが、ヨコオ作品もそのように言われていることが多いです。

ヨコオタロウ氏の作品はシナリオも良いのですが、とにかく世界観の構築が素晴らしいなと思います。 サブクエストや周回要素などが結構あるのですが、ゲームシステムと世界観の説明を結びつけるのが本当に上手いです。 サブクエストなどをこなしているうちに、本当に主人公と同じようにその世界に没入できます。 また、Automataのアクションは世界的に非常に評価が高いですし、Replicantもバージョンアップ版でかなり快適になっています。

自分は先にAutomataをプレイして全く問題なかったのですが、Replicantを遊んでいればもっと楽しめたかもなぁと少しだけ後悔しています。 それに短期間でAutomata、Replicantの順でプレイするとゲームシステム的にReplicantが古いため、ストレスを感じやすいかもしれません。 周回要素のあるゲームを2作もプレイするのは結構時間も根気も必要なのですが、多少間があいてもいいので、Replicant、Automataの順でプレイしていただきたいです。

NieR Replicantあらすじ

遠い、とっても遠い未来。
ヒトは滅びようとしていました。

世界を脅かす、
黒い病と異形の化け物。

心優しい少年は、
幼い妹に約束します。

それは永遠にも似た千年の嘘。

www.jp.square-enix.com

NieR:Automataあらすじ

遠い未来。

突如侵略してきた異星人。
そして、彼らが繰り出す兵器「機械生命体」。
圧倒的戦力の前に、人類は地上を終われ月へと逃げ延びていた。

地球を奪還する為に人類側はアンドロイド兵士による抵抗軍を組織。
さらに膠着した状況を打破する為、新型アンドロイドである戦闘用歩兵「ヨルハ」部隊を投入する。

人のいない不毛の地で繰り広げられる機械生命体とアンドロイドの熾烈な戦い。
やがてそれは知られざる真実の扉を開けてしまう事となる……

www.jp.square-enix.com

Hadoop 入門してみた

記事の投稿が遅れてしましましたが、この記事は、あくあたん工房2021 GWアドベントカレンダー3日目の記事です。 他の記事もぜひ読んでみてください。

最近Hadoopについての話を聞いたので、ちょっと入門してみようと思いました。 Hadoopのざっくりとした理解とHello World程度のお試しをしました。

Hadoopとは?

分散処理フレームワークHadoop MapReduce分散ファイルシステムHDFS(Hadoop Distributed File System)から構成されているオープンソースミドルウェアです。 元々Googleが論文として出してい分散処理技術をオープンソースで実装したものだそうです。

Hadoopがどういうものか知るなら下の2つが詳しいと思います。

oss.nttdata.com www.casleyconsulting.co.jp

分散処理の歴史について書かれていて普通に読み物として面白かったです。 logmi.jp

MapReduce

MapReduceは、mapフェーズ、shuffleフェーズ、reduceフェーズからなっています。

  • mapフェーズ:入力データにユーザ定義の処理を行いをkey・valueの形式にする
  • shuffleフェーズ:keyごとにデータを集約
  • reduceフェーズ:集約されたデータに対してユーザ定義の処理を実行

mapフェーズ、reduceの処理をMapper、Reducerという2つのスクリプトで作成するだけで分散処理を実装できます。

HDFS

HDFSは、NameNodeとDataNodeで構成されています。

  • NameNode:システムのメタ情報の管理
  • DataNode:データの実体の保存

データを分割し、複数のDataNodeに保存することで、読み書き速度の高速化、冗長化をしています。 通信コストを下げるために、できるだけデータのあるサーバで処理も行うようです。

お試し

分散処理のフレームワークですが、今回はスタンドアロンモードでサンプルとして実装されているものを動かしてみます。

まず導入ですが、brewでインストールできたり有志の方?が作っているdockerイメージがあったりします。

# brew
brew install hadoop
hadoop version

# docker
docker pull sequenceiq/hadoop-docker
docker run -it sequenceiq/hadoop-docker /etc/bootstrap.sh -bash
cd $HADOOP_PREFIX # HADOOP_PREFIX = /usr/local/hadoop
bin/hadoop version # dockerでは$HADOOP_PREFIX下でbin/hadoopで実行

2021/5/3現在ではbrewでは3.3.0、dockerでは2.7.1と表示されます。 dockerイメージの方は5年ほど更新されていないようなのでbrewが使える環境であれば3.3.0をインストールしてもいいかもしれないですが、お試しだけなのでどちらも大差ないと思います。

Hadoopにはサンプルが用意されているのでそれを実行してみます。 サンプルでできることはAzureのドキュメントにありました。 抜粋すると\piを計算したり(pi)、単語をカウントしたり(wordcaount)、正規表現の一致をカウントしたり(count)できるそうです。 ここからは、brewでインストールしたHadoopでの記述になります。 wordcaountを試してみます。

# 入力ファイルの作成
mkdir input
echo "Hello World Hello Hadoop" > input/sample.txt

# 実行
hadoop jar /usr/local/Cellar/hadoop/3.3.0/libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar wordcount input output

# 出力確認
cat output/part-r-00000
# 出力
# Hadoop 1
# Hello 2
# World 1

無事単語数が数えられているのが確認できました。 inputに複数ファイル用意すると複数ファイルの単語数の合計が出力されます outputがすでに存在しているとエラーが出るので再度実行するときはoutput以下を削除してください。

Hadoopの簡単なコマンド説明は下の記事にありました。 また、Mapper、Reducerを自分が使いやすい言語で記述できるhadoop-streamingについて説明されています。 qiita.com blog.amedama.jp

今回はできませんでしたが、Hadoopには疑似分散モードと完全分散モードがあります。 www.atmarkit.co.jp

この記事では分散処理の要素はどこだって気がするのですが、分散モードで実行してもHadoopがいい感じにしてくれて、スタンドアロンモードと同じように入出力を得られるってことなんだと思います。

感想

Hadoopは日本語の文献が少なかったり、どの情報が最新のものかわかりづらい気がしました(検索能力不足かも)。 今から分散処理について学ぶなら最近の情報が多いKubernetesの方がいい気がしますが、具体的にどこが違っててそれぞれどういう利点があるかまで理解できていないので、更に分散処理について更に深堀りするなら何を勉強すればいいのか分からなくなってしまいました。 こういうのが勉強すればいいというのがあれば、ぜひ教えて下さい。

Welcome to LIFE GAME World !!!

f:id:ocucraqp:20201224214619p:plain

はじめに

メリークリスマス🎄

この記事はあくあたん工房 AdventCalendar 2020 の 24 日目の記事です。

多種多様な記事が集まっているのでぜひご覧いただければと思います.

この記事ではライフゲームについての簡単な解説と色々なライフゲームについて紹介したいと思います.

ライフゲームとは

1970 年に考案されたシミュレーションゲームです. ルールは以下の通りです

  • 碁盤のような格子があり,1 つの格子をセルという
  • セルには「生」と「死」の 2 つの状態がある
  • 次のルールに基づいて,ステップ(世代)ごとに今の世代の状態から次の世代を決定する
    • 死んでいるセルに隣接する生きたセルがちょうど 3 つあれば,次の世代で誕生する(「生」になる)
    • 生きているセルに隣接する生きたセルが 2 つか 3 つならば,次の世代でも生存する
    • 上記以外の条件では次の世代では「死」の状態になる

つまり,過疎でも過密でもセルは死んでしまいます. 基本的には適当なセルを「生」の状態にして,その後の変化を楽しむというものです.

以下のサイトでライフゲームを遊ぶことができます kmaeda.net

正直,初めてみたときは適当に模様が動いているのを見てふーんと思い,興味を持ちませんでした. しかし,以下の動画を見て自分のライフゲームに対する印象ががらりと変わりました.

www.nicovideo.jp

ライフゲームの世界シリーズです. 神動画なので,僕の記事を読む時間があるなら上の動画を見てほしいです. 更に時間があれば僕の記事も読んでくれると嬉しいです.

動画のネタバレになってしまうのですが,ライフゲームには色々な面白い形があります.

まず最初に以下のようなものが考案されました.

  • 世代が進んでも形が変わらないもの
  • 一定のパターンを繰り返すもの
  • 一定のパターンを繰り返しながら移動を行うもの

有名な形には名前がついています.

次にライフゲームで無限にセルを生産することは可能なのかということが議題にあがりました. そこで考案されたのが,グライダーを無限に生産できるグライダー銃です. その後もライフゲームについては多くの考察がなされているのですが,それについてはここで紹介しても味気ないので動画をみていただければと思います.

色々なライフゲーム

note.com 振動子について詳しく解説されています.

baku89.com いろいろなルールのライフゲームが作られています. 調べたら出てきますが,「すべてがFになる」のEDがめちゃくちゃかっこいいです. 余談ですが,何年か前に買った「すべてがFになる」の小説がまだ読めていないことを思い出しました.

qiita.com これに関してはライフゲームとあまり関係ないですが,ifやforを使わないという制約を設けてプログラムを書いてるのが面白かったです.

moshg.github.io 最初はこれを実装して,色々ルールを追加して動かそうと思ってました. 時間がなく断念しましたが,Rust+WebAssemblyを試してみたいのでまた今度実装したいと思います.

booth.pm VR機器が必要ですがBOOTHに3Dライフゲームを配布している人がいました. 細かいルールはわかりませんが,3Dライフゲームでは立体方向での計算が必要なので,固定型などの形も別のものになって更に複雑になってそうですね. 映像で見ると通常のライフゲームより迫力があります.

クイズ

下の画像はある初期状態が安定するまで世代を進めたものです. いったい元はどのような形だったでしょうか?

f:id:ocucraqp:20201224214232p:plain

↓答え


































最後に

いかがでしたでしょうか? ライフゲームの魅力を伝えられていれば幸いです.

いよいよ明日はあくあたん工房 AdventCalendar 2020 最終日です. 次期代表の nishi くんがおそらく来年の抱負とかそういう感じの記事を書いてくれるんじゃないかと思うのでお楽しみに!

ちなみに,元々は1 日目の記事を 24 日の記事にして最終日へつなごうと思っていたのですが,1 日目にネタが思い浮かばず,あの記事を先に書くことになってしまいました. 僕も予約投稿しましたって言えるようになりたいです……

AnsibleでUbuntu 20.04のセットアップ

目標

Ansibleを使ってUbuntuの環境を最低限構築します. 構築する環境はだいたい下のような感じ.

  • Git
  • fish
  • Docker

Ubuntu20.04はインストール済みということにします. Ubuntu20.04では最初からPython3.8がインストール済みなので新たにインストールする必要はありません.

Ansibleとは

Python製の構成管理自動化ツールです.

f:id:ocucraqp:20200506051655p:plain

今回はローカルで個人利用のPCの初期設定に用いましたが,本来は多数のサーバを一括でセットアップしたりするのが目的のツールです. セットアップしたいPCにPythonさえ入れておけば管理サーバからセットアップすることができます. (Linuxはだいたい最初からPythonが入っている.)

また,複数回実行しても結果が同じになるという冪等性が担保されるように作られているそうです.

冪等性についてはこちらが分かりやすいです.
Ansibleの冪等性について深く考えたことはありますか? - ぽよメモ

インストール

# Ubuntu
$ sudo apt update
$ sudo apt install ansible
# Mac
$ brew install ansible

バージョン確認.

$ ansible --version
ansible 2.9.6
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/username/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python3/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 3.8.2 (default, Apr 27 2020, 15:53:34) [GCC 9.3.0]

ここからは失敗談なので興味がない人は飛ばしてください.

Ansibleのインストール— Ansibleのドキュメントの通り下の方法でインストールすると途中でエラーが出ました.

$ sudo apt update
$ sudo apt install software-properties-common
$ sudo apt-add-repository --yes --update ppa:ansible/ansible
$ sudo apt install ansible

エラー箇所

$ sudo apt-add-repository --yes --update ppa:ansible/ansible

# エラー文
Err:12 http://ppa.launchpad.net/ansible/ansible/ubuntu focal Release                         
  404  Not Found [IP: 2001:67c:1560:8008::15 80]
Reading package lists... Done
E: The repository 'http://ppa.launchpad.net/ansible/ansible/ubuntu focal Release' does not have a Release file.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.

なので,追加したPPAを削除して,普通にapt installしたらインストールできました.

$ sudo rm /etc/apt/sources.list.d/ansible-ubuntu-ansible-focal.list
$ sudo apt install ansible

Ubnutu20.04ではデフォルトでAnsibleのリポジトリを含むPPAを持っているため,必要ないという感じでしょうか.

Ansibleの構成

今回はシンプルに以下のような構成にしました.

$ tree
.
├── ansible.cfg
├── hosts
├── roles
│   ├── apt_packages
│   │   └── tasks
│   │       └── main.yml
│   └── fish
│       └── tasks
│            └── main.yml
└── ubuntu-provisioning.yml

Ansible用のディレクトリを作成しそこで作業しました.

$ mkdir ansible
$ cd ansible

設定ファイル(ansible.cfg)の作成

ansible.cfgというファイルに書き込みます.ansible.cfgには優先順位があるので,優先順位が高いカレントディレクトリに作成しました.

GitHubに上がっている公式の設定例を落としてきて置きました.

wget https://raw.githubusercontent.com/ansible/ansible/devel/examples/ansible.cfg

必要に応じてコメントアウトを外せばいいと思います(僕は設定については変更していないのでデフォルトのままですが...…).

インベントリ(hosts)の作成

インベントリにはAnsible実行する対象を記述します. 今回は自身に対するので127.0.0.1を指定しています.

[localhost]
127.0.0.1

プレイブック(ubuntu-provisioning.yml)の作成

プレイブックはどこに何を実行するか記述します.

---
- hosts: localhost
  connection: local
  gather_facts: no
  roles:
    - apt_packages
    - fish

hostsのlocalhostはインベントリで設定したもの,ローカルのセットアップなのでconnectionはlocalです. gather_factsはyesにするとシステム変数がとってこれるそうです. またrolesには次に記述するtaskを持つディレクトリ名を記述します.

Roleの作成

roles以下の部分を作成します. まずはこのようにディレクトリを作成します.

$ tree
.
├── ansible.cfg
├── hosts
├── roles
│   ├── apt_packages
│   │   └── tasks
│   │       └── main.yml
│   └── fish
│       └── tasks
│            └── main.yml
└── ubuntu-provisioning.yml

必要なパッケージのインストール

./roles/apt_packages/tasks/main.yamlに記述します.

---
- name: Upgrade all package
  apt:
    update_cache: yes
    upgrade: yes

- name: Install apt packages
  apt:
    name:
      - vim
      - curl
      - git
      - docker-compose
      - fonts-powerline
      - tree
      - tmux
    state: latest

nameは自由につけることができます. aptなどはモジュールと呼ばれるもので,公式のモジュールを利用することで冪等性が担保されるそうです. モジュールはかなり種類が多いらしいので必要なモジュールを調べるのが大変そうだなと思いました.

fishの設定

./roles/fish/tasks/main.yamlに記述します.

---
- name: Upgrade all package
  apt:
    update_cache: yes

- name: Install packages
  apt:
    name:
      - fish
    state: latest

- name: Exec fish after bash
  lineinfile:
    dest: /home/username/.bashrc
    line: exec fish

- name: Make function directory
  file:
    path: /home/username/.config/fish/functions
    state: directory

- name: Install fisher
  get_url:
    url: https://git.io/fisher
    dest: /home/username/.config/fish/functions/fisher.fish

- name: Install fisher theme
  shell: fish -lc "fisher add {{ item }}"
  args:
    creates: /home/username/.config/fisher/github.com/{{ item }}
  with_items:
    - oh-my-fish/theme-bobthefish

実行

この記事のために再実行した結果なので,初回の実行とは表示が異なりますが下のような出力が出ました.

$ sudo ansible-playbook -i hosts ubuntu-provisioning.yml --ask-become-pass
BECOME password: 

PLAY [localhost] *****************************************************************************

TASK [apt_packages : Upgrade all package] ****************************************************
[WARNING]: The value True (type bool) in a string field was converted to 'True' (type
string). If this does not look like what you expect, quote the entire value to ensure it does
not change.
ok: [127.0.0.1]

TASK [apt_packages : Install apt packages] ***************************************************
ok: [127.0.0.1]

TASK [fish : Upgrade all package] ************************************************************
changed: [127.0.0.1]

TASK [fish : Install packages] ***************************************************************
ok: [127.0.0.1]

TASK [fish : Exec fish after bash] ***********************************************************
ok: [127.0.0.1]

TASK [fish : Make function directory] ********************************************************
ok: [127.0.0.1]

TASK [fish : Install fisher] *****************************************************************
ok: [127.0.0.1]

TASK [fish : Install fisher theme] ***********************************************************
ok: [127.0.0.1] => (item=oh-my-fish/theme-bobthefish)

PLAY RECAP ***********************************************************************************
127.0.0.1                  : ok=8    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

最後に

本当はサーバをセットアップする感じでMacからansibleを実行したかったんですが,接続がうまく行きませんでした. SlackとかVSCodeもsnapでインストールしたかったのですが,相変わらず日本語に対応していなさそうなので諦めました. 今回はAnsibleのことを色々調べていて疲れてしまったので,シンプルなことだけしましたが分かったような気になれたので良かったです.

今後何かでUbuntuを入れ直したりしたときに,ちゃんと使えればいいなぁという感じです. 正直Ansibleに詳しい方からするとツッコミどころ満載な気がしますが最後まで読んでいただきありがとうざいます.

参考

めざせGitHubマスター💪💪💪

リポジトリGETだぜ!(???)

はじめに

この記事はあくあたん工房 GWアドベントカレンダー 2020,2日目の記事です.ぜひ他の記事も見てみて下さい! gw-advent.9wick.com

GitHub便利だけど多機能すぎて把握しきれてないなぁと思ったので勉強も兼ねてまとめてみました.

基本的にリポジトリの管理者が使える便利機能をGitHubのタブの順に紹介していきます. 詳しい使い方とかまでは書けなかったので概要のみ紹介します.

f:id:ocucraqp:20200430194124p:plain

Code

概要

リポジトリの概要を書いたりリンクを貼ったりできます.

f:id:ocucraqp:20200430193512p:plain
f:id:ocucraqp:20200430193607p:plain

Topic

リポジトリにTopicを付けることができます. Topicをつけることで他の人が検索しやすくなったり,GitHubを使って研究している人がデータを集めやすくなったりするのでぜひ付けましょう

f:id:ocucraqp:20200430193849p:plain
f:id:ocucraqp:20200430193903p:plain

Issues

issueには様々なものを紐付けて管理できます.

f:id:ocucraqp:20200430195511p:plain

Assignees

誰がこのissueを担当するかを任命することができます. 任命できるのは自分か後述するCollaborator(協力者)のみです.

Labels

issueの内容が分かりやすくなるようにissueにラベルをつけることができます. デフォルトで9種類のラベルが用意されていて自分で新しく作ることもできます.

f:id:ocucraqp:20200430195424p:plain

Milestone

開発の目標や期日を設定することができます.

f:id:ocucraqp:20200430195657p:plain

issueへの紐付け

コミットメッセージissue番号を含めるとissueと紐付けることができます. issueの画面で関連するコミットが見えるので非常に分かりやすいです.

git commit -m "Update README.md #1"

ちなみにclose issue番号のようにするとissueを閉じてくれます.

git commit -m "Update README.md close #1"

Pull requests

こちらもIssueと同じくAssignees, Labels, Milestoneなどを設定できます. 追加で設定できるReviewers, Linked issuesについて説明します.

f:id:ocucraqp:20200430202015p:plain

Reviewers

名前の通りレビュー担当者を設定することができます.

Linked issues

issue と pull requestを紐付けることができます. 直接Linked issuesを選択してもいいんですが,先程のコミットメッセージのようにCommentに「Close #1」というふうにするとマージされたときにissueを自動で閉じたりしてくれます.

f:id:ocucraqp:20200430200958p:plain

File changed

そのプルリクでの差分を確認できます.

Actions

テストは自動化する時代がもうそこまできている! っていうかもう来ていますね. 今まで使ったことなかったので今回初挑戦しました.

f:id:ocucraqp:20200430202307p:plain
おすすめのworkflowみたいなのがでてきたのでTopicsとかから自動で判別してくれてるのかな? 分からないですが今回はDjangoリポジトリなのでDjangoのWorkflowを選択.
f:id:ocucraqp:20200430203025p:plain
ここで自由にテストを記述することができるっぽいです.

ほとんど使ったことがないため詳しく説明できないのですが,こちらの記事を見れば結構簡単に設定できそうです.

GitHubの新機能「GitHub Actions」で試すCI/CD | さくらのナレッジ

Projects

f:id:ocucraqp:20200430204007p:plain
この機能も初めて使いました. TrelloやPlannerのようなタスク管理機能ですね.
f:id:ocucraqp:20200430204152p:plain

GitHubでは基本的にはIssueなどで作業を管理すると思っていたのですが,Issueなどにはしないコードと関係ないような内容などを管理するのに使えそうです. あとここで作成したタスクをIssueにするなどの使い方もできます.

僕は普段Trelloを利用してるんですが,GitHubならではの機能もありますが,Trelloのほうが機能が充実してて使いやすいなと感じました. まだ機能を把握しきれていないだけかもしれないですが.

Wiki

簡易なWiki機能が利用できます.

f:id:ocucraqp:20200430205058p:plain
Markdownなどの形式で簡単な記事を書いていくことができます. チームのWikiがない場合や,プロジェクトに紐づけて管理する場合は便利そうですね.

Security

チームの参加者に見せるためのセキュリティポリシーを書いたり,依存関係のアラートを設定したりできます.

f:id:ocucraqp:20200430205823p:plain
セキュリティポリシーは有名なリポジトリを見ても書かれていない場合もあったので必ずしも設定してるわけではなさそうですし,READMEなど他の場所でセキュリティについて書いていたりしそうです.

依存関係のアラートはデフォルトで有効になっています. Dependabotというのが動いていて問題のあるライブラリなどを使用していると自動で更新してくれるプルリクを生成してくれて便利です. 現在サポートしているのは以下の言語です.

f:id:ocucraqp:20200430210946p:plain

Insights

誰がどれくらい貢献しているかや,このリポジトリを訪問した回数やcloneした回数などを確認できます.

Settings

リポジトリに関する設定が色々できます. リポジトリ名の変更や公開・非公開の設定などはここでします. 一部設定を紹介します.

Manage access

Collaboratorはここで招待できます. CollaboratorはReviewerやAssigneeに設定できる他,Wikiを書く権限などを付与できます.

Branch protection rules

Branchesから設定できます.

f:id:ocucraqp:20200430200709p:plain
設定したブランチにマージするプルリクに対し,レビューを必須にするなどの条件を設定できます.

Webhooks

ここを設定することでマージ時に自動でデプロイするなどを設定できるそうです.

その他

GitHub Pages

f:id:ocucraqp:20200430212641p:plain
github-pages
GitHubにpushしたリポジトリをサイトとして公開できます. 静的なサイトしか公開できませんが,HPとして使うには十分です. あくあたん工房のHPもこの機能で公開しています. 自分でもっているドメインを設定することもできます.

GitHub Pages を使ってみる - GitHub ヘルプ

最後に

改めて今まで全然GitHubを使いこなせてなかったなと思いました. 実際1人で開発する分には必要ないというか,使っていたら余計な労力が掛かりそうな部分もありました.

Actionsはすごく便利だと感じたので,今後は積極的に使っていきたいと思います.

Projects,Wikiなどは複数人で開発するときに有効活用したいです. もしかするとここらをきちんと書いておけば,外部からプロジェクトに参入してもらえるのかもしれません.

これであなたもGitHubマスター!
みんなもリポジトリGETじゃぞ〜〜!

grubのバグ?を修正した

Ubuntu20.04インストールの後,ubuntuを起動すると黒い画面に下のような文字だけ表示されるようになった.

GNU GRUB  version 2.02
Minimal BASH-Like line editing is supported. For the first word, TAB lists possible command completion. Anywhere else TAB lists possible device or file completions.

grub> 

ubuntu - Ubuntuが起動できません。minimal bash like line editing is supported - スタック・オーバーフローを見て,grubの画面から起動する場合は次のコマンドでなんとか起動できた.

configfile (hd0,msdos5)/boot/grub/grub.cfg

人によって違うと思うがubuntuをインストールしたストレージのどこかの/grub/grub.cfgを探してconfigfileコマンドを実行するとubuntuに入れるらしい.

毎回こんなのを打つのも面倒なので直したいと思って色々調べるとboot-repairなるものがあった.

boot-起動時にgrubの最小限のbashのようにgrubメニューを表示する方法は? -Ubuntuに尋ねる

さっきの方法でUbuntuに入ってからターミナルを開いて,boot-repiarをインストール,起動した.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

起動したら色々設定できるが,何も設定せずにRecommend repairを選択して修復を開始. 開始すると指示を出されたのでそれを実行していった. まず,下のコマンドを打てと指示された.

sudo dpkg --configure -a
sudo dpkg --configure -a
sudo apt-get install -fy
sudo apt-get purge -y grub*-common shim-signed

これを実行するとGRUB2を消すかと聞かれるのでYesと答えろと指示される. 次に下のコマンドを入力した.

sudo apt-get install -y grub-efi-amd64-signed os-prober shim-signed linux-headers-generic install gawk package

入力するとしばらくboot-repairが頑張って「Boot Successfully repaired.」と表示され無事解決した.

Ubuntu20.04インストールしてみた

環境

最低限必要な環境

  • ストレージ:25GB(最小インストールの場合は5GB)
  • ブータブルUSB作成用OS:Ubuntu14.04
  • USBメモリ:4GB

自分の環境

普段はWindowsが入っているストレージもついているが,Windows環境に影響を与えたくなかったので外してインストールした.

isoファイルのダウンロード

Ubuntu 20.04 LTS (Focal Fossa)から64-bit PC (AMD) desktop imageをクリックしてダウンロード. f:id:ocucraqp:20200426113601p:plain

ブータブルUSB作成

Create a bootable USB stick on Ubuntu | Ubuntuを見ながらブータブルUSBを作成した. まず,Startup Disk Creator(ブータブルUSBの作成)が入ってなかったので次のコマンドでインストールして起動.

sudo apt update
sudo apt upgrade -y
sudo apt install usb-creator-gtk
usb-creator-gtk

起動したらさっきダウンロードしたisoファイルと使用するUSBメモリを選択してブータブルUSBの作成をクリック.

f:id:ocucraqp:20200426115748p:plain
ブータブルUSBの作成画面
ディスク消去の確認やパスワードの入力をするとディスクイメージの書き込みが始まる. 書き込み終了したら再起動.

インストール

Install Ubuntu desktop | Ubuntuを見ながらインストールを行った. F2やF11,F12,ESPなどを連打しながら再起動しブートメニューからUSBメモリを選択.

起動すると「Try Ubuntu」と「Install Ubuntu」が選べるので,PCにインストールせずにUbuntuを体験する場合は「Try Ubuntu」,インストールする場合は「Install Ubuntu」を選択する. 「Install Ubuntu」を選択すると各種設定が始まる.

まずは,キーボードと言語を設定する.

次に,色々なソフトが最初から入っているが通常インストールを行うか,できるだけコンパクトな最小インストールを行うか選ぶ. 自分は不要なものを入れたくなかったので最小インストールとしたが,容量に余裕があるのならどちらでもいいと思う. 「Download updates」とは「Install third-party software」は両方チェックした.(ここでグラボのドライバが入っている?)

次はインストール方法について. ストレージが空の場合は特に選択肢は出ないらしいが,元々18.04が入っていたので,「20.04と共存させる」,「一部を残して20.04にする」,「全部消して20.04」にするなどがあった. 自分は必要なデータもないので全部消すを選択した.

後は,タイムゾーン,ユーザー名,パスワードなどを設定するとインストールが始まる. 結構早くて数分で終わった. 再起動しろといわれるので再起動したらgrubの画面が出てきたが適当にexitすればubuntuが起動した.

f:id:ocucraqp:20200426115817p:plain
Ubuntu20.04デスクトップ画面

grubの画面はその後も出てきて困ったのでgrubのバグ?を修正したに記述した.

感想

18.04だとちょっと面倒だったRTX機でも問題なくインストールできて感動した. 18.04のときは魔改造してた上にどうやってそれをしてか全く覚えていないので,今回はUbuntuの素材の味を活かしたカスタマイズをしつつAnsibleを使ってうまいことできないかなって考えている.