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

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

ディスクユーティリティ.appが初期化できないディスクを初期化する方法

ディスクユーティリティ.appで初期化できないディスク(USBフラッシュドライブ,外付けHDD,SDカードなど)を初期化する方法ですmacOS標準のアプリ,ディスクユーティリティ.appはパーティションテーブルの状態によってはディスクの初期化もパーティションテ…

Pythonで積分を計算する

scipyの integrate モジュールを使うと定積分が簡単に計算できます spicy.integrate の使い方 例えば を計算するコードは,たったの三行です. from scipy import integrate from math import sin, pi print( integrate.quad(sin, 0, pi/2.)) 結果は数値解な…

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

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

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

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

TeXを再インストールする方法

TeX

TeXのインストール済みパッケージを,強制的に再インストールし直すワンライナーです $ tlmgr info --only-installed | while read a pkg b; do pkg=${pkg/:/}; sudo tlmgr install $pkg --reinstall; done [改訂第8版]LaTeX2ε美文書作成入門作者:奥村晴彦,…

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…

mac OSにtexlive2023 (BasicTeX)をインストールする方法

mac の TeX環境を texlive2023 (BasicTeX) に更新したので手順をまとめます.この記事は以下のエントリを macOS と Tex Live 2023 に合わせて更新・加筆したものです. https://pyopyopyo.hatenablog.com/entry/2022/04/06/211116 (TeX Live 2022の記事) htt…

C言語で glibc のバージョンを確認する方法

C言語で glibc のバージョンを確認する方法をまとめます コンパイル時にバージョンを確認する 以下のマクロを使います __GLIBC__ __GLIBC_MINOR__ バージョンをprintf()で表示する #include <stdio.h> int main(void) { printf("%d.%d\n", __GLIBC__, __GLIBC_MINOR__</stdio.h>…

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

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

matplotlib のフォントの設定

jupyter notebook などで matplotlib を使ってグラフをプロットするとX軸の軸ラベルやタイトルで日本語が表示できない・文字化けする場合があるその時は,日本語フォントの設定を見直すと良い 日本語フォントの設定 import matplotlib.pyplot as plt plt.rcP…

pipコマンドが error: externally-managed-environment を出す際の対処方法

pipコマンドが error: externally-managed-environment というエラーを出す場合は~/.config/pip/pip.conf を作成して [global] break-system-packages = trueと書いておけば,ひとまずエラーは出なくなります.pythonのパッケージを全部自前で管理したいなら…

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

NVMe のSSD(Micron 3400 2TB)を新調したところ,Linux起動時に 毎回SMARTエラーが出るようになりました.原因を調査し,自己解決したので経緯をまとめます2024年1月30日追記 : この問題は smartmontools 7.4 で解決しました smartmontools 側で対処するこ…

pdfから画像を劣化なしで抜き出す方法

pdfimages コマンドを使うと,pdfファイルから画質を落とさずに画像を取り出すことができます. pdfimages のインストール Linux,debianやubuntuの場合 $ sudo port install poppler-utils mac port の場合 $ sudo port install poppler 使い方 pdfのファイ…

LinuxとかmacOSでハッカーぽい画面を作る方法

LinuxとかmacOSでハッカーぽい画面を出す方法をまとめます コマンドライン・ターミナルで実行する系 ターミナルを複数開いて、以下のコマンドを実行すれば、それっぽい雰囲気が出せます figlet, toilet, cowsay $ figlet hello world _ _ _ _ _ | |__ ___| |…

macOSからLinux(ubuntuとかラズパイ)のIPアドレスを調べる方法

macから同じLANにつながっているLinuxマシン(ubuntuとかラズパイ)のIPアドレスを調べる方法です dscacheutil コマンド Linux側に avahi (mDNS)がインストールされていれば,"Linuxマシンのホスト名.local "でIPアドレスが引けます面倒ならpingコマンドなど…

NVIDIAのGPUのファン回転数をリモートから変更する

headlessで運用しているGPUサーバのファン回転数をリモートから変更する方法ですポイントは sshでログインして nvidia-settingsコマンドをつかう X11の認証を通すために2つの環境変数DISPLAYと環境変数XAUTHORITYを設定する の2つです コマンド ssh でログ…

~/.ssh/config を無視する方法

sshで ~/.ssh/config の設定を無視する方法です. $ ssh -F none 設定ファイルを指定するオプション -F で none を指定すると, ~/.ssh/config および /etc/ssh/ssh_config をロードしなくなります.マニュアルから該当箇所を引用しておきます -F configfile…

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

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

コマンドラインで文字コードを自動判別する方法

シェルスクリプトやコマンドラインで,テキストファイルの文字コードを自動判別する方法です nkf を使う head -n 1000 ファイル名 | nkf -g nkf -g ファイル名でも良いですが,nkfは遅いので,ファイルサイズが大きくなると処理に時間がかかります.アホみた…

最新のLinuxカーネルで VMware workstation/player を使う方法

Michal Kubeček さんが github.com でパッチ済みの vmware kernel module のソースコードを公開していますgithub.comこれを使うと,簡単に,最新のLinuxカーネルで VMware workstation や player が利用できます 使い方 git clone $ git clone https://githu…

BibTeXで複数著者を省略(et al.)する方法

TeX

BibTeX で複数の著者がいる場合は,省略して et al. と表記する方法です著者名を省略すると文献リストが短くなります.ページ数が制限されている場合に使われる常套テクニックなので,ここに手順をメモしておきます. 概要 TeXで BibTeXを使うと,文献データ…

Amazon S3 へのアップロードを高速化する方法

aws

AmazonのS3にファイルをアップロードする際に役立つ,高速化のTipsです aws コマンド(CLI)を使う CLIが一番軽量・高速です サブコマンドは cp よりも sync の方が良い cp よりもsyncの方が高速になります.scpの代わりに rsync を使うのと同じ理由です cd […

matplotlib でグラフを保存すると凡例(legend)や軸ラベルが見切れる際の対処方法

matplotlib でグラフを保存すると 凡例(legend) 軸ラベル colormap が枠からはみ出てファイルに正しく保存できない場合の対処方法です解決方法だけ列挙しておきます.困った時は片っ端から試してみましょう! box_inches='tight' をつけてみる (役立ち度:★★…

NVIDIAのGPUのファン回転数をコマンドラインで変更する

例えば回転数を60%に固定したいなら nvidia-settings -a GPUFanControlState=1 -a GPUTargetFanSpeed=60 自動制御に戻したい場合は nvidia-settings -a GPUFanControlState=0 補足 複数のGPU、ファンがある場合は [gpu:番号] [fan:番号] でデバイスを指定で…

matplotlib で y=x の直線を書く方法

pythonのmatplotlib でグラフに y=x の直線を書く方法 fig, ax = plt.subplots(1,1) ax.axline((0, 0), slope=1) axlineを使って,原点(0,0)を通り傾き 1の直線を描く方法が一番使い勝手が良い

pytorchをインストールするだけでssh鍵を抜き取られる件

PyTorch にマルウェアが混入しssh鍵を抜き取れられる被害が出ているそうです pytorch.org本家サイトに,被害の有無をチェックするコードが紹介されています python3 -c "import pathlib;import importlib.util;s=importlib.util.find_spec('triton'); affect…

python で全角英数を半角英数に変換する

python で全角英数の文字を、半角英数に変換する方法です import mojimoji x = "文字列アイウエオABCDE" y = mojimoji.zen_to_han(x, kana=False) print(y) mojimoji というモジュールを使うのが楽です。kana=Trueを指定すると、全角カタカナも半角カナ…

Emacsの便利機能:bookmark

emacs には bookmark 機能があります3行でまとめると Emacs は {ファイル名,行番号} のペアをbookmarkとして登録できる ファイルが編集され行番号が変わると bookmark は自動更新される とりあえず「M-x bookmark- で関数を検索」 だけ覚えておけばOK キー…