debian

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…

Linux で cab ファイルを展開する

拡張子がcabのファイル(Microsoftがファイルを配布するときに使う形式のファイル)を,Linuxで開くには cabextract というパッケージを使う パッケージのインストールは,debianやubuntuなら $ sudo apt install cabextract 使い方は $ cabextract cabファイ…

MBR(bios)でもESP(uefi)でも起動できるgrub2の設定方法

Linuxを起動する方法はたくさんあります.本エントリでは MBR (Master Boot Record)にインストールした grub2 を使う方法 ESP(Efi System Partition)にインストールした grub2 を使う方法 の2つを共存させたディスクを作成する方法についてまとめます前者は…

gpg の使い方

gpg コマンドの使い方を表で整理します よく使うコマンド一覧 操作 コマンド 鍵の管理 公開鍵の一覧を見る gpg --list-keys 秘密鍵の一覧を見る gpg --list-secret-keys 公開鍵を stdout に出力 gpg -a --export [ID] 秘密鍵を stdout に出力 gpg -a --expor…

memtest86をEFI経由で起動する方法

(2019/12/18追記。最新版 MemTest86 V8.3 Free Edition に合わせて記事を更新しました) (2017/02/28追記。最新版 MemTest86 V7.3 Free Edition に合わせて記事を更新しました)memtest86 を EFI 経由で起動する方法が予想以上に便利だったので設定方法を紹…

linux環境を複製する方法

以下の手順で,インストール済みの linux環境 を新しいHDDやSSDに複製できます(2016/3/22追記: 細かい点について説明を加筆しました) 新しいHDDのフォーマット 予め新しいHDDやSSDをPCに接続し,フォーマットしておきますおすすめの手順は別エントリに書いて…

usb-serial のデバイスファイル名を固定する方法

ルーターの設定,シリアルコンソール,arduinoのような自作デバイスで使うUSB-シリアル変換器は,udev を使うと デバイスファイル名 パーミッション 所有者 を自動設定できます.うまく設定すると rootアカウントや sudo を使わずに シリアルポートが使える…