Proxmoxでサーバ構築

イメージ
これまでテスト用にi5第8世代の廃棄PCを使用してきた。 とはいえ今の所何も問題は起きていないが、入れ替えも視野に入れ予備サーバを用意することに。 - メモリ:16GB - SSD:500GB - DDNS+Let's Encrypt - Ubuntu24.04 この環境なので、すぐに構築し直すことは可能だが、とりあえずこのまま置いておいて別のサーバを立てることにする。 最初はRaspberryPiで構築しようと思ったけれど、本体電源+外付けHDD電源+ディスプレイ電源と考えると、邪魔なので廃案。 そこで廃棄しようと思っていた「Lavie NS300/N」が手元にあったので、これを利用することに。 一応バッテリーは正常に動作するので、UPS代わりにそのまま。 - Core™ i3-8145U(やや非力) - メモリ:8GB(少ないが…) - HDD:1TB なので、これまで使用しているものより、若干スペックダウン。 ただ用途は、非常勤で教えに行っている専門学校生用の練習マシンとする予定なので、まぁ問題なさそう。 Proxmox導入 直接、Linuxを導入してもよいのだけれど、今回は Proxmox を導入し、その上でUbuntu Serverを動作させる計画。 USBにProxmoxのイメージを焼いて、インストールすれば問題なく完了。 ただ、現在のバージョンはdebian - trixieがベースになっているので、若干参考になるサイトが少なめ。とはいえ旧版のは参考になるので調べつつ… HDDなだけあって、最初の起動は少し遅いものの、立ち上がってしまえば問題ない。 さぁ、VMにするかCTにするか…。 GUI使うのであれば、VMかなぁ。サーバだしCTでいいかぁ。 という程度の選定で、CT(コンテナ)で進めることに。 - メモリ:4GB - CPU:2 - HDD:20GB(root disk) - HDD:400GB(home用) - Ubuntu24.04 という構成で進めることにした。 テンプレートを用意して、初期設定を行い起動。 まぁすんなりと入った。 液晶を閉じたら、Suspendになってしまったので、若干設定変更。 $ sudo nano /etc/systemd/logind.conf HandleLidSwitch=ignore $ sudo sy...

LinuxでC#

Ubuntu上でC#を使う

Windows7/10にVisual Studio Communityを入れれば、すんなりと環境は構築できる。

でも、メインマシンがUbuntuなので、VMのWindowsを起動して、その上で動かすのが時間もかかって面倒なのですよ…。
 しかも、めったにWindowsを使わないため、起動するたびに更新の罠にはまって、使い始めるのに時間がかかりすぎるという状況。

そこで、Ubuntu上で、普通にコードがかければ楽じゃね?と思い探してみる。



コンソールアプリならOK

結果的には、コンソールならWindowsと何ら変りなく利用できることが分かった。

マイクロソフトのサイト

へ行けば、以下の手順が乗っている。

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
まずは、上記のリポジトリを追加

そして、以下のコマンドで.NET関係のインストール。

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1.105

あとは、いつも使っているVisual studio codeで、マイクロソフト製の拡張機能を入れれば良い。

拡張機能も、ページの下の方に書かれている。
https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp


vscodeの拡張機能で、「c#」で検索すればすぐに見つかるはず。

でもって、入れればその他必要なものは、インストールしてくれる仕様だ。


実際に動かしてみる

まずは、適当な作業用ディレクトリで、プロジェクトを作成する。
$ cd tmp
$ dotnet new console -o myApp
これで、myAppというフォルダが掘られて、雛形ファイルがザザッと作られる。

Program.csという雛形が出来上がっているので、これを編集することになる。

この辺りの、ファイル・フォルダ構成がvisual studioと同じになっているのが、ある意味素晴らしい。


実行すると以下のようなメッセージが表示される。

$ dotnet new console -o myApp
テンプレート "Console Application" が正常に作成されました。
作成後のアクションを処理しています...
'dotnet restore' を myApp/myApp.csproj で実行しています...
  Restoring packages for /home/yoshimura/tmp/myApp/myApp.csproj...
  Generating MSBuild file /home/yoshimura/tmp/myApp/obj/myApp.csproj.nuget.g.props.
  Generating MSBuild file /home/yoshimura/tmp/myApp/obj/myApp.csproj.nuget.g.targets.
  Restore completed in 492.65 ms for /home/yoshimura/tmp/myApp/myApp.csproj.
正常に復元されました。
最後の「正常に復元されました」というのは、少々気持ち悪いw

vscodeで開いてみる。

別にHello Worldは無しでも良いのだけれど…。

しかも、このままDebug可能と来たもんだ!
もちろん、以下のコマンドで実行も可能。

$ dotnet run

これなら、visual studioなしでも、ちょろっと書いてテストするには充分。

何となくMicrosoftの本気度を垣間見た気がする。

コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?