投稿

ラベル(python)が付いた投稿を表示しています

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...

JuliaLangを習得

イメージ
Julia言語って?  少し前から気になっていたので、少しずつマスターすることに。 MITで2010年少し前に発表されていて、2012年に公開。 まだ、若い言語ですね…。 で、どんな言語かと言うと動的型付け言語で、Pythonにすごく似ているので、知っていれば学習が楽。 JITで実行直前にコンパイルするため、初回はコンパイル分だけ遅めだけど、実行速度はC言語なみ。 しかも、Pythonのライブラリや、Cのライブラリを簡単に呼び出して使えるという変態ぶり。 MATLABやoctaveなんかと同様なベクトルや行列などが利用できるので、覚え直さなくていい。 数学処理や実験系の人は、楽なんじゃね?と思うわけです…。 高校の数学なんかも、こういったソフト使用すれば良いのになぁ。 本家は、 https://julialang.org 基本のインストールは、ダウンロード&展開して終了なので、超簡単。 PATHの通っているディレクトリにリンクを生成して完了。 $ ln -s /opt/julia-1.5.3/bin/julia ~/bin/ 基本的には、CUIで使用するけれど、Jupyter Notebookでも使える。 vscodeに拡張機能入れれば、vscode上でも実行できるというのが素敵。 起動すると、こんな派手なREPLという対話型環境が利用できるようになっている。 一応、本も探してみたけれ、知名度がまだ低いせいか、多くは出版されていない。 以下の本は、Pythonくらい知らないと、やや理解が難しいかもしれない。 網羅的に紹介されているけれど、詳細は本家サイトを参照というのが多め。 でも、はじめてJuliaを触る人には指針となるかな。 まあ、Julia自体、Helpも結構親切なので、なんとかなる。 例えば、パッケージPlotsを使おうとした例 julia> using Plots ERROR: ArgumentError: Package Plots not found in current path: - Run `import Pkg; Pkg.add("Plots")` to install the Plots package. などと表示してくれる。 そこで、 julia> import Pkg julia> Pkg....

Termuxでどこでも開発

イメージ
Androidならでは… 前の前の機種(ASUS Zenfone2)の頃から、お世話になっているTermux。 出先での作業には欠かせない重要なツール。 https://termux.com/ これは何かというと、Android上でのTerminal Emulatorで、Linux開発環境と同等のコマンド・機能が使える。 しかもroot化の必要はないので、気軽に使える。 Google Playから普通に導入可能。 何ができるかというと とりあえず、現在の主な使い方は ssh(opensshをインストール)を入れて、出先から管理しているサーバに接続して作業するというのが主。 実際には sshaの方を使うと幸せ。 でもって、これらのツールはすべてaptで入れることができる。 おかげで、ノートPC無しでもサーバに接続して、何度も危機を乗り切った(笑) 現在作業中のもの あれこれ面白いので、インストールして試しているのだが…。 python3 + numpy GNU nano php7 clang + dev環境 ruby などを入れて、動かしている。 とりあえず、講義で使用するサンプルを作って、動作確認してみたり、気になったことを確認するのに片手でプログラミングして、さくっと動かせる。 試しに、PHPをビルトインサーバで動かして、phpinfo()を実行してみる $ php -S 192.168.0.100:8080 この状態で、他のPCから叩いてみると 普通のLinuxサーバで動かすのと何ら変わりない。 Andorid上のブラウザで実行するだけなら、 $ php -S localhost:8080 とすれば良い。 さすがに、1024ポートまではroot化していないので、利用不可。 もちろん、高機能ではないし、常にwebサーバとするには、電池の持ちも含めて、いろいろと問題があるけどね…。 そもそもwebサーバを動かしたという話も聞くけれど、スリープになったら落ちるとか…。 言語オタクには楽しい エディタは軽めのnanoで、書い...

MySQL WorkbenchでERRORを回避

イメージ
MySQLを使うのにあれば便利ですよね 以前は、phpmyadminを使ったりしていました。 ですが、DBをExportする時に、大きなサイズのテーブルは途中で切れてしまったりして、完全にバックアップが取れないという不具合が一向に直らないので、結局sshでmysqldumpを叩くことが多かった。 つい先日、同業の人が、mysqldumpが使用後、メモリ(キャッシュ?)を開放しないので、サーバのメモリが不足して喘ぐと愚痴っていました。  本当かどうかは別として、自分の環境では、mysqldumpで特に困った現象は起きていないのですが…。 どうせ、sshで作業するなら、MySQL Workbenchならssh越しに利用できたはず。 という記憶を手繰り・・・。設定してみることに。 id_rsaを指定して、ポートやらごにょごにょっと作業したら、サクッと繋がった。 Exportしてみると動作しない Error Unhandled exception: 'builtin_function_or_method' object has no attribute '__getitem__' this error occurs even if you try to backup a single table なんてダイアログが表示されて、Exportできないではないか・・・。残念。 と終わっていては、意味がないので、少し調べることに。 試してみると、動作しなくもない。 Optionsのところで、[Export to Self-Contained File]を選択すれば、落とすことはできた。ただ、すべてのデータを1ファイルにしてくれちゃうのは、Restoreするのに都合が悪い。 特定のテーブルだけ戻したりしたいわけで・・・。 [Export to Dump Project Folder]を選択すると、他のどの設定を変えても、Errorを吐いて動作しない。 Logを調べてみると、 01:08:00 [INF][wb_admin_control.py:server_polling_thread:497]: Monitoring thread runnin...