linux

Linuxで外付けHDDを暗号化する(その1)

Linuxで外付けHDDやUSBを暗号化する方法をまとめます ツールのインストール $ sudo apt install cryptsetup デバイスのフォーマット デバイスを暗号化デバイスとして初期化します.初期化,つまりデータが全部消えるので注意 $ sudo /sbin/cryptsetup luksFo…

rdesktopでwindows11に接続できない場合の解決方法

ubuntuなどのlinuxからWindowsを遠隔操作したい場合は「リモートデスクトップ接続」を使います rdesktop(古い方法) rdesktopというアプリを使いますインストール $ sudo apt install rdesktop リモートデスクトップ接続 rdesktop <windowsのホスト名> これで windows10やwindo</windowsのホスト名>…

LinuxにCUDAをインストールする方法(2024年版)

LinuxにCUDAをインストールする方法をまとめます.インストールだけでなく,動作確認として SDK,開発環境が動作すること 作成したプログラムが実行できること まで確認します インストール インストール手順 インストールはNVIDIAのページに書いてある手順…

gmail にメールが届かない件とその解決方法

2月1日以降 gmail.com 宛のメールが届かない現象が起きています具体的には,gmail.comのメアドにメールを送っても,エラーのメールが返送されるだけで,相手に届きません.原因は2月からgmail.comが迷惑メール対策を強化したためです以下 gmail.comへメール…

Linux起動時にNVMe SSDがSMARTエラーを出す件 (解決)

昨年下記のエントリでとりあげたSMARTの監視で「SMART error (ErrorCount) detected on host」というエラーメールが届く件は,smartmontools 7.4 で解決しました.pyopyopyo.hatenablog.com 該当する修正,diff はこれです https://www.smartmontools.org/ch…

tarコマンドのオプションが複雑すぎて覚えらない時は,"tar --help" だけ覚えよう

この記事を読みました.zenn.devこういう時は "--help” オプションを覚えておきましょう. 困ったら "tar --help" ”--help"を指定してtarコマンドを実行します. $ tar --help 使用方法に関するヘルプ(簡易的なマニュアル)が表示されます.先頭を引用する…

gpgでWarning: You have entered an insecure passphrase. と警告が出る場合の対処方法

gpgを使っていると Warning: You have entered an insecure passphrase. と言われる場合の対処方法ですこのメッセージは gpg-agent が出力していて パスワードが短い パスワードが単純すぎる(アルファベット文字しか使ってない.記号や数字も混ぜるべき) …

ラズパイからメールを送信する方法(2024年版)

Raspberry Pi から Gmail のメールサーバーを経由してメールを送信する方法です.ラズパイで稼働しているサーバの監視用途,たとえばcrontabのエラー,セキュリティの警告などをメールで通知する用途を想定していますOSはdebian系を使っているものとして,ex…

時刻合わせで ntpd の代わりに systemd-timesyncd を使う方法

サーバーの時刻合わせといえば昔は ntpd 一択でしたが今は systemd の timesyncd もあります両者の違いは以下の通りです ntpd 高機能 NTPサーバーを構築するなら ntpdを使うしかない systemd timesyncd クライント動作のみ.NTPサーバーの構築はできない 軽…

NVIDIA のGPUのクロックを固定する方法

NVIDIAのGPUの動作クロックを固定する方法です。デフォルト設定のGPUは動作クロックが200MHzぐらいから2000MHz(2GHz)ぐらいまで随時変動します。動作クロックが10倍変わると、ベンチマークのスコアも10倍変わります。CUDAや3D描画の性能測定を行う場合はま…

Linuxコンソールのスクリーンセーバーの設定方法

コンソールのスクリーンセーバーの設定方法です 標準コマンドで設定する方法 10分後に画面表示をOFFにする場合は以下のコマンドを実行します setterm -blank 10 数字の単位は「分」です. 0を指定すると,スクリーンセーバーはOFF,つまり画面が常に表示され…

稼働時間が100年を超えたSSD

S.M.A.R.T.のログを見ていたら、Power-On hours(稼働時間)が100年を超えたSSDが見つかりました。smartctl を実行すると $ sudo /usr/sbin/smartctl -a /dev/sda レポートが出力されます smartctl 7.3 2022-02-28 r5338 [x86_64-linux-6.1.0-12-amd64] (loc…

PC復旧作業用にブータブルUSBを作成する方法(2023年版)

データ修復やPCの復旧作業用に,起動可能なUSBフラッシュドライブを用意する方法です. ventoy 現時点(2023年)で一番使いやすいのは ventoy です。 open source つまり無料 インストールが簡単 ISOイメージをコピーするだけでISOイメージから起動できる IS…

シェルスクリプトでターミナルの大きさを調べる方法

bashなどのシェルでターミナルのサイズを取得する方法をまとめます おすすめは tput コマンド tputコマンドを使うのが無難です tput cols でターミナルの横幅 tput lines でターミナルの高さ となります.単位はどちらも文字数です 別解1: $COLUMS と $LIN…

C/C++でshellのように"~"や環境変数を展開する方法

bashなどの shell では "~/*" "$HOME/*" はホームディレクトリ以下のファイル名に展開されます.これをC/C++で実装する方法です 実装 wordexp(3) を使います #include <wordexp.h> #include <stdio.h> int main(int argc, char *argv[]) { wordexp_t exp; int flags = 0; int ret</stdio.h></wordexp.h>…

スピーカーの音質を測定する方法

ピンクノイズを再生して,スマホのアプリで音のスペクトルを確認することで,音の再現性をグラフでチェックします.簡易的ですが,音の違いがグラフで比較でき,便利です.以下,方法をまとめます. /usr/bin/speaker-test (alsa-utils) alsa-utils というパ…

時系列データをグラフでプロットして、アニメーションとして保存する方法

グラフをアニメーション(動画ファイル)で保存する方法ですgnuplotを使います gnuplot の do for 構文 "do for" を使うと簡単にアニメーションが作れます.とりあえずsinカーブをアニメーションさせる例です do for [i=0: 60] { plot sin(x + i/10.*pi) } …

CPU(論理プロセッサ)の個数を確認するコマンド(Linux, macOS)

LinuxやmacOSで論理プロセッサの個数を確認する方法をまとめます nproc コマンド(Linux, macOS) GNUの coreutils がインストールされている場合は nproc コマンドが利用できます.macOSでもcoreutilsをインストールしておけば nprocコマンドが使えます. $ …

autotools で make check を実装する方法(その4):XPASSとXFAIL

前回までのエントリの続きです make checkで実行されるテストケースの結果には,ラベルが付きます.わかりやすいのは,成功(PASS)と失敗(FAIL)です.他にもSKIPやERRORがあります.わかりにくいのはXPASSとXFAILです.以下,その意味を説明していきます…

autotools で make check を実装する方法(その3):valgrind を組み込んでメモリリークを検出する

前回のエントリの続きです メモリリークの検出ツールである valgrind を使って、メモリリークに関するテストを自動化します.autotools や make check に関する基礎情報は前回のエントリを参照してください.本エントリでは差分だけ記載します. make check …

autotools で make check を実装する方法(その2)

前回のエントリの続きですmake check で 必要なプログラム・ライブラリのビルド テストケースの実行 を自動で行う方法をまとめます.autotoolsの使い方,make checkに関する基本的な情報は前回のエントリにまとめているので,本エントリは差分だけをまとめま…

autotools で make check を実装する方法(その1)

今更ですが autotools で make check を実装する方法をまとめます. make check の仕組み 手順1: テスト用プログラムを用意する 手順2: Makefile.am で テスト用プログラムを指定する 手順3: configure.ac の記述 手順4: autoreconf -vfi の実行 make check …

LinuxでShiftJISの文字化けを直す方法

最近のLinuxはシフトJIS(SJIS)をサポートしてない場合があります. その場合,moreやless,vimでシフトJISのファイルを開くと文字化けします.Windowsで作成したソースコードやテキストファイルが文字化けする場合は文字コードだけでなく,LinuxがShiftJIS…

Emacsのlsp-modeが起動しないバグ

Emacsのlsp-modeが起動しないバグとその解決方法です 不具合の内容 以下のエラーメッセージを出して,lsp-modeが起動しなくなります. Invalid Image type: 'svg' 解決方法 init.el などに以下の1行を追加すると回避できます (add-to-list 'image-types 'sv…

Mac で winmail.dat を開く方法 (Linuxでも開けます)

メールに添付された winmail.dat を開く方法は二つあります方法1) gmail で開く 方法2) tnef コマンドで変換するgmailにメールを転送すると,googleのシステムがいい感じに変換してくれます(笑).何も考えたく無い場合は gmailを使いましょう. 以下の…

Linuxカーネルのソースコードを読む(その6: git 経由でカーネルソースを高速に入手する方法)

git経由で Linuxのソースコードを高速に入手する方法です 初回 clone 入手するバージョンは 6.3.1 clone先ディレクトリの名前は linux-stable とすると以下のコマンドでソースコードが入手できます $ git clone --depth 1 --branch v6.3.1 git://git.kernel.…

Linuxで日本語文字が中華フォントになる場合の対処方法

ブラウザやGUI上の文字が奇妙なフォント,いわゆる「中華フォント」で表示される場合があります.これは,中華フォント,つまり繁体字や簡体字のフォントがインストールされている場合に起こる症状です.この症状は 中華フォントをアンインストールする 中華…

Linuxカーネルのソースコードを読む(その5:umaskのデフォルト値を調べてみた)

umaskのデフォルト値について,カーネルのソースコードから /etc/の下の設定ファイルまで全部調べました.作業メモを公開します. umaskのデフォルト値 シェル(bash)から見ると, umask の初期値はディストリビューションによって異なります. ディストリビ…

TeX環境のインストール済みのパッケージ一覧を得る方法(JSON版)

詳細な情報が必要な場合は,"--json"をつけるとJSON形式で情報が出力できます.インストール日時だとか,パッケージに含まれるファイル名が必要な場合はJSON形式を使う方が良いでしょう. $ tlmgr info --only-installed --json JSON形式なので jq コマンド…

TeX環境のインストール済みのパッケージ一覧を得る方法

TeX Live 環境のインストール済みパッケージのリストを得るには以下のコマンドを使います $ tlmgr info --only-installed 出力の書式は i パッケージ名: 説明文です パッケージ名だけが欲しい場合 shell芸bash のワンライナー $ tlmgr info --only-installed…