debian

OpenSSHのアップグレード後にssh接続できなくなる不具合

概要 openssh 9.8p1 にアップグレードすると,ssh接続できなくなる不具合があります 原因は openssh 9.8からの仕様変更です.古いopensshから9.8以降のopensshにアップグレードすると不具合が発生する場合があります. この不具合はアップグレード後にサーバ…

systemdにバグ./home以下のファイルが全削除される可能性あり

systemdのバージョン256に /homeディレクトリ以下のファイルを削除してしまうバグがあったそうで,修正版の 256.1 がリリースされています.systemdのissuesによると,一時ファイルを一括削除する systemd-tmpfiles --purge コマンドが /home以下を不要ファ…

gpgコマンドがフリーズする件

GnuPGのgpgコマンドがフリーズするので原因を調べました gpgコマンドのフリーズ ファイル hoge.txt.gpg を復号しようとして $ gpg --decrypt hoge.txt.gpg を実行するとgpgコマンドがフリーズします通常はパスフレーズの入力プロンプトが表示されるのですが…

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

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

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

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

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

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

debian(sid)のgrub2にバグがありLinuxがブートしなくなる件

debian(sid)を使っていたら,grub2のバグを踏んで,サーバが起動しなくなりました.顛末をまとめます. バグの内容 apt-get dist-upgrade すると,grub2が壊れて,システムが起動しなくなります! バグは修正済みです 影響を受けるバージョンはGRUB2 2.12か…

debian を使っている人は apt line を見直すべし

Debian のパッケージ構成に変更があり,non-free は non-free と non-free-firmware に分割されることになりました.すでに開発版の sid (unstable)では IntelのCPUのマイクロコード(パッケージ名:intel-microcode) nvidiaのGPUのfirmware(パッケージ…

インストール済みパッケージのバージョン番号を取り出す方法

パッケージのバージョン番号を取り出す方法です。 ubuntu や debian なら dpkg-query コマンドで $ dpkg-query --showformat='${Version}' --show [package-name] redhatやcentos なら rpm コマンドで $ rpm -qp --queryformat "%{VERSION}" [package-name] …

debian の nvidia-graphics-drivers パッケージを自分で編集&更新する方法

debian の nvidia-graphics-drivers が古いまま(470.57.02 )でなかなか更新されないので,自力で 470.63.01 に更新しました.470.57.02 はLinux-5.14をサポートしていませんが(モジュールがビルドできない), 470.63.01 ならLinux-5.14もサポートしていま…

debian/changelog からバージョン番号を取り出す方法

debianのソースパッケージから,生成されるバイナリパッケージのバージョン情報を抽出するには dpkg-parsechangelog を使うのが簡単.例 dpkg-parsechangelog --file path/to/changelog --show-field Version dpkg-parsechangelog --file path/to/changelog …

Linuxで音声出力デバイスを環境変数で切り替える

Linuxで音声出力デバイスを環境変数で切り替える方法 概要 環境変数 PULSE_SINK を使うと,音声出力デバイスをかんたんに切り替えることができるたとえば $ PULSE_SINK=<出力デバイスの番号> <コマンド> とすると,コマンド単位で出力先を変更できる.出力デ…

ユーザー権限で systemd のサービスを稼働させる方法

root権限ではなくて,一般ユーザ権限で systemd のサービスを登録&稼働させる方法です サービスの登録 systemdのサービスは「ユニットファイル」と呼ばれる設定ファイルに記述します. ユーザ権限で起動するサービスは ~/.config/systemd/user/ ディレクト…

RRDCached の使い方

RRDtool を高速化する rrdcached の使い方 RRDcached とは RRDcached は RRDtool のためのキャッシュサーバーです.RRDtool は加速度や湿度センサーの値,サーバーのCPU負荷,パケット数,と言った時系列データに特化したデータベースです.RRDtoolだけでも…

コマンドラインでUNIXタイムスタンプを日付や時刻に変換する

コマンドラインで,unix timestamp を日付や時刻に変換する方法をまとめます GNU系 (linux, debian,ubuntu,redhat,centos) date コマンドで "-d @タイムスタンプ” の書式で unixタイムスタンプを指定します $ date -d @1595812200 Mon Jul 27 10:10:00 JST 2…

ラズパイを軽量webサーバーにする

raspberry pi をwebサーバにする手順目的はフィジカルコンピューティングやIoTと呼ばれるたぐいのものです.具体的にはセンサ情報・ログのモニタリング,軽量なwebサーバである lighttpd を入れてCGI経由で python スクリプトを起動したりします.python ス…

openコマンドで起動するアプリケーションを設定する方法

ubuntu やmacOSでは,ターミナルで $ open hogehoge.pdf とコマンドを実行すると,pdfのビューアーが起動して pdfを表示できます. $ open http://www.google.com とコマンドを実行すると,ブラウザが起動して URLを開いてくれます.この設定を変更する方法…

vmplayer を起動すると polkit-agent-helper-1: pam_authenticate failed: Authentication というエラーがでる

vmplayer を起動すると polkit-agent-helper-1: pam_authenticate failed: Authentication や vmware-setup-helper requires root access というエラーが出るだけで vmplayer が起動できない場合の対処方法 症状 具体的には ==== AUTHENTICATING FOR org.fre…

インストーラを使わずにdebianをインストールする方法(2020年版)

debian や fedora などの linux が稼働しているPCに,新しいHDDに接続して,そのHDDにdebian をインストールする方法をまとめますこの方法は installerを使うより早い (数分で新しい debain 環境が用意できます) 既存の設定のコピーが簡単 というメリットが…

Rのパッケージ管理

Rのパッケージ管理方法についてまとめます 初期設定 Rの本体は apt でインストール,必要なパッケージは自前でビルド&インストールする方法がおすすめです本体のインストール $ sudo apt install r-base-core 追加インストールするライブラリは $(HOME)/loc…

Jupyter Notebook をPDFで保存する方法(日本語対応)

jupyter notebook の出力は pdf 形式で保存できますその方法は,画面左上の「メニュー」の「名前を付けてダウンロード」から「PDF via LaTeX (.pdf)」を選ぶだけ.ただし,この機能が正常に動作するためには LaTeX がインストールされていること 日本語用に…

bash で乱数を使う

2行でまとめると bash で乱数が必要な場合はシェル変数 RANDOM を参照します 生成される乱数の値域は,0から32767,分布は一様分布,になります 以下詳細. シェル変数 RANDOM bash で乱数が必要な場合はシェル変数 RANDOM を参照します echo $RANDOM シェル…

Linuxでディスプレイ解像度を自動切替する方法

Linuxでディスプレイ解像度を自動で切り替える方法です. ノートPCで外部モニタを使う場合 ノートPCでサスペンドから復帰後,解像度がおかしくなる場合 画面切替機(キーボードスイッチャ,パソコン切替器)を使っている場合 などに,毎回解像度を手動で設定し…

Python でインストール済みのdebianパッケージを調べる方法

debian や ubuntu でインストール済みのdebパッケージの一覧を調べる方法です(pythonのモジュールの一覧ではなくて,linuxのdebパッケージの一覧です)コマンドラインなら $ dpkg -l 等になりますが、似たことをpythonで実装する場合は apt モジュールを使い…

SysV の runlevel と systemd のターゲットの関係

ランレベルとターゲット SystemV で runlevel と呼ばれていたものは ,systemd は target と呼ばれる.対応関係は以下のとおり SysV runlevel systemd の target 3 multi-user.target マルチユーザ.Xが起動しない (コンソールのみ) 5 graphical.target グラ…

svnからgitへの移行方法

久しぶりにSubversionのリポジトリをgitに移行したので手順をまとめておきます2020/11/30 追記.加筆したエントリ http://pyopyopyo.hatenablog.com/entry/2020/11/30/154224 を新しく用意しました. subversion側の状況を確認する SVNでcheckout済みの作業…

Debianが起動しない場合の復旧方法 (Bug#932935)

2019年7月28日に Debianが起動しなくなりました.原因は sid(unstable)と呼ばれる開発版のみに存在するバグです.バグレポートも出ています.症状としては,システムを再起動すると" logsave not found - requires manual a fsck "と表示されるだけでシステ…

迷惑メール対策に負けない,exim4 の正しい設定方法

ラズパイやPC Linuxで構築したサーバ機では, ログの監視結果などをメール送信できると格段に使い勝手が向上します.しかし今のインターネットは迷惑メール対策がしっかりしています.例えば プロバイダのOutbound Port 25 Blocking SPFによる送信ドメイン認…

USB接続のSSD/HDDのSMART情報を見る方法

HDDやSSDの健康状態はS.M.A.R.T情報を調べると確認できます.ところが外付けドライブなどでは少し工夫しないとSMART情報が見えない場合もあります. SMART情報が見えない理由 これは,PCとHDD/SSDとの接続に以下のような様々な組み合わせがあって CPU → SATA…

PyGObjectのインストールエラーを回避する方法

pipコマンドで PyGObjectをインストールしようとすると $ pip3 install PyGObject以下のエラーが出る場合がある Package gobject-introspection-1.0 was not found in the pkg-config search path. Perhaps you should add the directory containing `gobjec…