投稿

ラベル(Debian GNU/Linux)が付いた投稿を表示しています

ブログの説明

学校に通わないで学んだことを記しています。間違っているところが何かありましたらご指摘下さると幸いです。コメントに対する返信が遅れる可能性があります。その場合は申し訳ございません。

このブログでは広告を表示しています。このブログ内の投稿記事を検索するには右上の拡大鏡のアイコンを、アーカイブやラベル付けから投稿記事を閲覧するには左上の三重線のアイコンをクリックして下さい。

数式の表示にはMathJaxを利用させていただいています。数式の表示のためにJavaScriptが有効である必要があります。そうでない場合、訳の分からないLaTeXのコードが表示されます。幾何学図形やチャートの表示にはHTML5 CanvasやGoogle Chartを使用しています。その表示のためにもJavaScriptが有効である必要があります。

Geany 2.0でAdaプログラミング中にクラッシュする症状

Debian GNU/Linux 13 (Trixie)にインストールしたソースコード・エディタGeany 2.0を使ってプログラミング言語Adaのコードを入力していたら、特定のステートメントを入力するたびにそのGeanyが強制終了する症状に遭遇した。特定のコードというのはAdaではお決まりの次のステートメント。 procedure Main is トップメニューから「設定」->「インターフェース」->「インターフェース」タブで「サイドバーを表示」や「シンボルリストを表示」のチェックを外してもこの症状は解消しなかった。 トップメニューから「ツール」->「設定ファイル」->「ファイル種類の設定」->「プログラミング言語」のfiletypes.adaを開いてみた。設定のすべての項目はコメントアウトされていた。 procedureMainis でも procedure Mainis でも procedureMain is でもクラッシュしない。 procedure Main is と入力された時点でその瞬間に必ずクラッシュした。タグ・パーサー(タグ解析機)の不具合が強く疑われた。 けっきょくfiletypes.adaの[settings]に次のように記述してタグ・パーサーの働きを無効にすることでしか解決できなかった。 [settings] # procedure ... is というコードを入力するとgeanyが落ちる問題を回避 tag_parser= ちなみに、Debian GNU/Linux 13 (Trixie)ではfiletypes.adaファイルはホーム・ディレクトリ内の.config/geany/filedefsディレクトリ内に保存される。

Debian GNU/Linux 13 trixieでスワップファイルを作ってみた

古くて低スペックになったパソコンにDebian 13 (trixie)をインストールしてみた。けれどもその際のパーティション作成でスワップ領域を作らなかった。その代わりにスワップ・ファイルを作成することにした。 インストールしたOSは次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 13 (trixie) Release: 13 Codename: trixie lsb_releaseはディストリビューション固有の情報を教えてくれる外部コマンド。そのオプションの-aは出力可能な全て表示することを指示している。 メモリ(RAM)のサイズは次のとおり。 $ cat /proc/meminfo | grep -ie memtotal -e swaptotal MemTotal: 7810932 kB SwapTotal: 0 kB コマンドcatによって/proc/meminfoファイルを参照し、その出力内容を|(パイプ)によってコマンドgrepに渡し、memtotalとswaptotalの文字列のパターンを持つ行だけを表示させている。grepの-eはパターンを指定するオプションで、-iは大文字と小文字を区別しないように指示するオプション。 16GBが最低と言われている時代に8GB弱というのはかなり低スペックのパソコン。それでもネットサーフィンをしたりSNSを利用するのには使えているし、YouTubeの動画も解像度を落として見ることができている。それでもスワップ領域がないのは心配だ。 スワップ・ファイルを作成 スワップ・ファイルを作成する際にその領域を確保するためにはddというプログラム(外部コマンド)を使う方法とfallocateというプログラム(外部コマンド)を使う方法がある。 ddのほうが細かい設定ができるが、ddはfallocateよりもその処理に時間が長くかかる。ファイル・システムにBtrfsや暗号化fsを利用している場合、ddのほうが安全である利点がある。ただしHDDでなくSSDの使っている場合には必要な領域を...

Debian 13にMetaTrader 5をインストールしてみた

インストール対象 Debian GNU/Linux 13 Trixie 64ビット版 インストールするアプリ MetaTrader 5 FXや株式のトレーダー向けに最適化された取引プラットフォームの1つにMetaTraderという名のソフトウェアがある。 MetaTrader 5のWindows版は MetaQuotes からダウンロードして無料で利用できる。Linux OS版は用意されていないが、 Wine を利用するとWindows版のMetaTrader 5をLinux OSにインストールして使うことができるらしい。 DebianとUbuntuにはシェル・スクリプトでできた インストーラー が用意されている。 Debian向けのインストーラーを利用してMetaTrader 5をDebian 13にインストールしてみることにした。 このインストーラーを利用するにはDebianにwgetとsudoと Wine が予めインストールされている必要がある。そしてsudoの設定ファイル/etc/sudoersにはログイン中のユーザー権限の指定が例えば次のように記述されている必要がある。 ユーザー名 ALL=(ALL) ALL Debianの場合、次のコマンドを実行すればMetaTrader 5がインストールされる。 $ wget https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5debian.sh ; chmod +x mt5debian.sh ; ./mt5debian.sh wgetでdownload.mql5.comというサイトからmt5debian.shというインストーラーをダウンロードし、chmodというコマンドを使ってそのインストーラー(シェル・スクリプト)のファイルに実行権を与え、そして実行する。 Ubuntuの場合にはdebianというところをすべてubuntuにすればいい。 $ wget https://download.mql5.com/cdn/web/metaquotes.software.corp/mt5/mt5ubuntu.sh ; chmod +x mt5ubuntu.sh ; ./mt5ubuntu.sh インストール...

Debian GNU/Linux 10でMariaDBとLibreOffice Baseを接続

イメージ
この記事では、Debian GNU/Linux 10のユーザーがデータベースソフトウェアであるMariaDBと同じくデータベースソフトウェアであるLibreOffice BaseとをJDBCドライバを介して接続し、LibreOffice BaseをMariaDBサーバーのクライアントとして利用するまでの準備を記す。 前提となるオペレーティングシステムとソフトウェアのバージョンは下のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 $ libreoffice --version LibreOffice 6.1.5.2 10(Build:2) MariaDB Connector/Jをインストール ODBCまたはJDBCを介して両者を接続する必要があるので、ここではJDBC互換のドライバであるMariaDB Connector/Jをインストールする。 Debian 10の公式リポジトリからAPTを用いてlibmariadb-javaというdebパッケージをインストールする。この処理にはオペレーティングシステムの管理者権限が必要。 $ su # apt update; apt install libmariadb-java MariaDBサーバーが作動中かどうか MariaDBサービスが稼働していることを確認する。 # systemctl is-active mysql active MariaDBサービスが稼働していなければ開始する。 # systemctl start mysql LibreOffice Baseを起動する。 LibreOffice BaseをMariaDBと接続する 特定のデータベースを引数に指定せずにLibreOffice Baseを起動すると、LibreOffic...

MariaDBをDebian GNU/Linux 10にインストールして使うまでの準備

この記事では、Debian GNU/Linux 10にデータベースサーバーであるMariaDB(MySQLの派生)をインストールし、ユーザーの作成やパスワードの設定を行なう手順について記す。ここで前提とするオペレーティングシステムは次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster MariaDBをインストール debパッケージになったものがDebian GNU/Linux 10の公式リポジトリにある。例えばコマインドライン上でAPTを用いてそれをインストールするには次のようにする。その際にはオペレーティングシステムの管理者権限が必要。 $ su # apt update;apt install mariadb-server MariaDBサーバーのみならず、依存関係でMariaDBクライアントも一緒にインストールされるはず。インストールされなければmariadb-clientもインストールする。 # apt update;apt install mariadb-client バージョンの確認 mariadbかmysqlの後に--versionというオプションを付ける。 $ mariadb --version mariadb Ver 15.1 Distrib 10.3.27-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 サービス(デーモン)の管理 LinuxディストリビューションではMariaDBサーバーはmysqlサービス(/usr/sbin/mysqld)として実行される。サービスはデーモンとも呼ばれている。 mysqlサービスが稼働中かどうかを知るにはsystemctlコマンドの後にis-activeを指定し、その後にmysqlかmariadbを指定。 # systemctl is-active mysql inavtive 稼働中の場合にはactiveと表示され、稼働中でない場合にはinactiveと表示される。なんらか...

Debian GNU/Linux 10でsnapdの削除をしようとしたらエラー

基本ソフト Debian GNU/Linux 10 (baster) Linuxカーネルのバージョン 4.19.0-11-amd64 APTのバージョン 1.8.2.1 snapdのバージョン 2.37.4 APTを使ってsnapdをパージするときに次のようなエラーメッセージが表示されて無事に削除が完了しないことがある。 Removing snapd cache rm: '/var/cache/snapd/aux' を削除できません: ディレクトリです dpkg: パッケージ snapd の処理中にエラーが発生しました (--purge): installed snapd package post-removal script subprocess returned error exit stat us 1 処理中にエラーが発生しました: ...

Debian GNU/Linux 10でLibreOffice 6 BaseをPostgreSQL 11に接続するには?

イメージ
今回の目標は、LibreOffice BaseとPostgreSQLを接続し、LibreOffice BaseをPostgreSQLデータベース・サーバーのクライアントとして使うこと。その準備をすること。 LibreOffice Baseはデータベース・クライアントのひとつ。標準ではHSQLDBまたはFireBirdというデータベースのクライアントとして働く。LibreOffice Baseは外部のデータベースとも接続することができる。 結論から先に書くと、Debian GNU/Linux 10ではlibreoffice-sdbc-postgresqlというdebパッケージをインストールし、PostogreSQLサーバーが稼動している状態でLibreOffice Baseを起動し、データベース・ウィザードでもってhost=localhost dbname=postogresを対象にして接続すればいい。PostgreSQLのデフォルトのデータベース名はpostgresで、スーパーユーザー名はpostgres。 以下、ここではPostgreSQLとの接続の手順を書き留める。 ここで前提となるソフトウェア構成は次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster PostgreSQLのバージョンは次のとおり。 $ psql --version psql (PostgreSQL) 11.7 (Debian 11.7-0+deb10u1) LibreOfficeのバージョンは次のとおり。 $ libreoffice --version LibreOffice 6.1.5.2 10(Build:2) PostgreSQLのインストール Debian GNU/Linux 10 (buster)では公式のリポジトリからpostgresqlというdebパッケージをインストールする。これによってPostgreSQLのクライアント用debパッケージも同時にインストールされるはず。 $ su # ...

DockerとTensorFlowをDebian GNU/Linux 10にインストール

ここではDebian GNU/Linux 10 (buster)のユーザーがTensorFlowをインストールして深層学習(ディープ・ラーニング)の準備をする手順を書き留める。 TensorFlowをインストールして管理する方法には色々あるが、ここでは開発者が使用中のマシンの環境から開発環境を分離して個別に管理することができるDockerと呼ばれるコンテナ化ツールを用いる。 CPUのアーキテクチャ x86_64 uname -mで分かる。 GPUの有無 なし $ lspci | grep nvidia -i --colorで有無を確認できる。 Linuxディストロ Debian GNU/Linux 10 (buster) lsb_release -dで分かる。 カーネルとそのリリース番号 Linux 4.19.0-10-amd64 uname -srで分かる。 Pythonのバージョン Python 3.7.3 python3 -Vで分かる。 Dockerのバージョン 19.03.12 インストール後にdocker -vで分かる。 TensorFlowのバージョン 2.1.0 インストール後に import tensorflow as teflo print(teflo.__version__) で分かる。 Dockerをインストール Debian GNU/Linux 10の環境でDockerをインストールするために必要なパッケージをあらかじめインストールしておく。ウェブ・ブラウザを使う場合にはcurlは不要。 $ su # apt update; apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common PGP公開鍵が記されたgpgというファイルをcurlを用いて取得する。 $ curl -SL https://download.docker.com/linux/debian/gpg -O gpg % Total % Received % Xferd Average Speed Time Time Time Current ...

Debian GNU/Linux 10でLibreOffice 6 BaseをSQLite 3に接続するには?

イメージ
今回の目的は、LibreOffice 6のデータベース・アプリであるBaseを簡易データベースであるSQLite 3に接続し、SQLite 3のクライアントとしてBaseを利用するための準備をすること。この課題を実現する過程で若干の壁にぶちあたったので、そのひとつの解決法をまとめてみた。 前提となるソフトウェア環境 Linuxディストリビューション Debian GNU/Linux 10 (buster) 自分がどのLinuxディストロを使っているかはlsb_release -aで分かる。 インストールするもの LibreOffice 6.1.5 Base OracleかOpenJDKのJavaランタイム環境(JRE) SQLite 3.27.2 libsqlite3odbc.so DB Browser for SQLite 3.10.1(必須ではない) LibreOffice 6 Baseが標準で利用するデータベースはHSQLDBというもの。これはJavaランタイム環境上で動くので、Javaのランタイム環境(JRE)をインストールして環境変数を設定しておく必要がある。 Debian GNU/Linux 10では、公式のリポジトリからopenjdk-11-jreというdebパッケージをインストールすればいいが、libreoffice-baseというdebパッケージをインストールすればおそらく依存関係のために自動的にインストールされるはず。 SQLiteはバージョン3をここでは利用する。Debian GNU/Linux 10の公式リポジトリからsqlite3というdebパッケージをインストールする。 SQLite 3とLibreOffice 6 Baseを繋ぐにはODBCを利用する。そのためにはlibsqliteodbcというdebパッケージをDebian GNU/Linux 10の公式リポジトリからインストールする。 DB Browser for SQLiteはSQLiteにアクセスしてそれを操作することができるグラフィカルなインターフェイスを持った専用のブラウザ。これによってデータベース、テーブル、フィールドを新たに作成し、データを追加・変更・削除することなどができる。インストールしておくと便利な場合があるかもしれないが、必須...

Debian GNU/Linux 10にゲームエンジンUnity 2020をインストール

イメージ
今回の目的は、Debian GNU/Linux 10 (buster)にビデオゲーム・エンジンとして有名なUnityをインストールし、ビデオゲーム開発の準備をすること。 インストールするもの Unity Version 2020.1.3f1 Personal Unity 2020.1で公式にサポートされているハードウェア及びソフトウェアの構成は例えば次のウェブ・ページで確認することができる。 https://docs.unity3d.com/ja/2020.2/Manual/system-requirements.html Debian GNU/Linux 10は公式にサポートされていないが、Ubuntuがサポートされているのでおそらく大丈夫だろうという考え。 ここで前提とする環境は次のとおり。 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster カーネルは次のとおり。 $ uname -sr Linux 4.19.0-10-amd64 NVIDIA製やAMD製のような本格的なグラフィクス・カードは搭載していない。インテルの第2世代のコア・プロセッサのグラフィクス・コントローラ。 $ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) マシンのハードウェア構成を調べるには例えばlshw-gtkのようなdebパッケージをインストールすると便利。 $ su apt update; apt install lshw-gtk UnityHub.AppImageファイルを取得 Unityの公式サイト からUnityHub.AppImageというファイルを取得する。この手順においてUnity IDの取得は不要。 https://unity3...

Linuxでキリル文字をローマ字入力(UIM編)

イメージ
GNU/LinuxのX Window System上でのキリル文字の入力は、他の言語と同様に、iBusやSCIMやuimといった入力メソッドのフレームワークと多言語化のライブラリであるm17nを導入することで実現することができる。 例えばLinuxディストリビューションがDebian GNU/Linux 10 (buster)の場合、かつ、iBusを使う場合、ibus、ibus-m17nといったdebパッケージをインストールすればよい。他の必要なパッケージも依存関係によって一緒にインストールされるはず。SCIMの場合はscim-m17n、UIMの場合はuim-m17nlibが代わりに必要になる。 ここでは以降、UIMを例に挙げる。 キリル文字の入力方法は一般に、キーボードのひとつひとつのキーにキリル文字がひとつひとつ割り付けられてある直接入力による方法か、ローマ字入力をする方法か、それらの二種類がある。ここではキリル文字をローマ字入力する方法を採り上げる。 UIMではuim-pref-gtk3かuim-pref-qt5を起動し、「全体設定」の「入力方式の利用準備」のフレームにある「使用可能にする入力方式」の「編集」を押してダイアログ画面を開き、そこでm17n-ru-translitを有功にする。 入力メソッドのツールバーが起動している場合はそこから「設定」を選んでuim-pref-*を起動することもできる。 m17n-ru-translitはローマ字入力を支援するので、キリル文字とローマ字との対応を理解している人であるならば新たに覚えるべきことはあまりない。ただし対応する文字がローマ字にはない場合がある。 m17n-ru-translitはスラブ語族で使われるキリル文字入力にほぼ対応している。中央アジア諸国、例えばカザフ語やキルギス語などの非スラブ語族(チュルク系言語)で使われているキリル文字には対応していない。 以下にキリル文字とm17n-ru-translitによる入力キーとの対応表を作ってみた。ほぼローマ字入力になることが分かる。入力方法が複数ある場合はカンマで区切って複数示した。 translitキリル文字入力対応表 入力方法 キリル文字 a а b б v в g г /g ѓ ...

Debian GNU/Linux 10にUnreal Engineをインストール(失敗)

イメージ
今回の目的は、Debian GNU/Linux 10にEpic Games社のビデオゲーム・エンジンであるUnreal Engine 4をインストールし、ビデオゲームの開発環境を準備すること。 ~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 10 (buster) Release: 10 Codename: buster $ uname -rs Linux 4.19.0-10-amd64 必要な環境 Unreal Engineを使って実用的に開発を行うには、それなりのマシン・スペックが必要になるかもしれない。 公式サイトに掲載されている推奨ハードウェア として、8GBかそれ以上のメモリ、DirectX 11かDirectX 12に対応したビデオ・カード、Quad-core IntelかAMDの2.5 GHzかそれ以上のCPUが期待されている。そしてインストールのための20GB以上の空きディスク容量。 特にDirectX 11以上に対応したグラフィクス機能を持っていないマシンだと、Unreal Engineをビルドすることができたとしても起動時にエラーメッセージが出て起動に失敗する可能性がある。 Unreal EngineとGitHubの両アカウント取得 Linux向けのバイナリコードはEpic Games社から公式に提供されていないので、GitHubからUnreal Engineのソースコードをダウンロードしてそれをビルドしてインストールすることになる。 それらを行うためには、Unreal Engineの公式サイトのアカウントとGitHubサイトのアカウントを取得する必要がある。それらの公式サイトでサイン・アップの手続きをするのだが、その過程で有効なメール・アカウントが一つ必要になる。 Unreal Engine: https://www.unrealengine.com/ja/ GitHub: https://github.co.jp/ Unreal EngineのサイトからGitHubをリンクさせる Unreal EngineとGitHubにアカウントを...