debian

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…

quilt の使い方

debian や ubuntu の deb パッケージのメンテナンス(パッチの管理)で使う quilt コマンドの利用方法をまとめますdebパッケージのメンテナンスをしていると,以下の様なエラーが出る場合があります Applying patch 04_hyphen-manpage.diff patching file docs…

.changes ファイルの作り方,更新方法

debian や ubuntu で debパッケージを作成する際に登場する *.changes ファイルについての覚書です .changes ファイルとは *.changes ファイルは, *.deb のパッケージをリポジトリにアップロードする際に必要となる情報を保存しています.具体的には *.deb …

apt で NO_PUBKEY / GPG Error が出る場合の解決方法

apt コマンドで公開鍵に関するエラー, NO_PUBKEY / GPG Error が出る場合は,以下の手順で復旧できます例えば apt-get update で下記のエラーが出る場合は The following signatures couldn't be verified because the public key is not available: NO_PUB…