#linux
Docker Hub のレート制限を受けないように mirror.gcr.io を使う
概要 Docker Hub のレート制限 が2020\/11\/01から施行されるようになったらしい。 Free plan – anonymous users: 100 pulls per 6 hours Free plan – au
systool でカーネルモジュールのパラメータを確認する
概要 カーネルモジュールのパラーメータを確認したかったので、systool を使ってみた。 sysfs の走査がめんどくさい場合によさそう。 systool のインストール $ sudo apt install sysfsutils
QCOW2 形式のイメージを編集する
概要 QCOW2 形式のイメージを編集する方法のメモ。 今回は例として、下記の CentOS イメージを利用した。 curl -q -L -o centos7.qcow2 http:\/\/cloud.centos.org\/centos\/
LVM でディスクの拡張と追加をやってみる
概要 LVM のディスク追加と領域拡張の作業があったので、そのための検証のメモ。 環境は Ubuntu18.04 。 \/dev\/sda がLVM用のディスクで、\/dev\/sdb がブートディスク。 ツールのインストール $ sudo
graph-easy で有向グラフのアスキーアートを描いてみる
概要 簡単なフローチャートとかネットワーク図とかをドキュメントに載せたいが、 画像だと大げさだったので、アスキーアートにしたかった。 graph-easy というのを使えばできるみたいだったので、ためしたみた。 graph-easy
cron の代わりに Systemd の timer で定期実行を定義してみる
概要 UNIX 環境で定期的に処理を実行する場合は一般的に cron を使う。 しかし、cron を使うとログのことに気を遣うのが嫌だった。 (ログの置き場所とか、ログのローテーションとか…。) Systemd だと journald
socat で tap インターフェースを作成して認証も暗号化もしないVPN
概要 socat で TUN\/TAP インターフェースを扱えるらしく、 UDP で転送すれば簡単な VPN が構成できそうだったので、やってみた。 認証も暗号化も行わない。 想定する環境は↓。 サーバ クライアント O
LXD で使用する veth インターフェースの名前を指定して起動する
概要 LXD でコンテナを立ち上げると、ホスト側とコンテナ側に veth ペアが作られる。 このときコンテナ側にできるインターフェースの名前はプロファイルで eth0 などに指定できるが、 ホスト側にできるインターフェースの名前はコン
ThinkPad の BIOS アップデート用起動ディスクを Linux で作成する
概要 ノートパソコンは BIOS の更新をしたい場合、 サポートから提供されるアップデート方法は Windows しか対応していない場合が多い。 ThinkPad の場合は CD でブート可能なイメージを配布しているが、 ほとんどの
QEMU+KVM と仮想ブリッジとtapデバイスで FreeBSD の環境を用意してみる
概要 実験用の FreeBSD の環境が欲しかったため、QEMU+KVM の仮想環境で用意したときのメモ。 FreeBSD を立ち上げるためのメモだが、起動イメージを変えるだけで Linux も起動できるはず。 (最近、LXD のコン
Systemd で簡単なサービスを定義してみる
概要 いろいろな Linux ディストリビューションで採用されてきている Systemd を理解するために、 hello world を一秒ごとに標準出力へ吐き出す簡単なサービスを定義し、 journalctl でログを確認してみた。
Linuxの起動ディスクのファイルシステムを Ext4 から Btrfsへ移行する
概要 ルートファイルシステムを Ext4 で構成したシステムを Btrfs に移行したくなったので移行してみた。 環境は Ubuntu16.04。 想定環境 \/dev\/sdx 移行元とは別のLinuxシステムでの作業とする。 (USB
TOTPのURIを生成し、QRにエンコードとデコードしてから、ワンタイムパスワードを計算する
概要 Pythonのpasslibのドキュメントを読んでいたらバージョン1.7からtotpに対応していたので、 ワンタイムパスワードを計算してみた。 同時に、GoogleAuthenticatorで使うためのQRコードの生成もしてみた
Python の passlib でハッシュ値を指定のソルトで計算する
概要 \/etc\/shadow に書かれるハッシュ値を自動生成したくなったので、調べてみた。 Ansible と組み合わせたいので、Python の passlib を使う。 他ブログでも方法は紹介されているが、 passlib で非推
Intel AMT の Serial over LAN を Linux で使ってみる
概要 vPro 対応の ThinkPad を持っていたので、 Intel AMT を使って Serial-over-LAN(SOL) をやってみた。 リモートで BIOS の設定も可能。 2017年になって Intel AMT の脆弱
Ubuntu で zram または zswap を有効にする
概要 メモリが足りなかったので、少しでも良くなればと、zram と zswap を試してみた。 (同じ様な技術なので、どちらか一方で良い。) 環境は Ubuntu16.04。 zram 基本は zram-config で管理する。 \/
SSH 公開鍵で暗号化、秘密鍵で復号化
概要 SSH 公開鍵で暗号化したかったのでやってみた。 これができると相手の公開鍵をどこからか取ってきて、 勝手に暗号化して送りつけることができるのでよい。 ちなみに github.com 各ユーザの公開鍵は↓の URL から取得でき
OpenSSL で Web サーバを起動して、証明書の確認
概要 証明書が使えるものかどうかをWebブラウザで確認するときに、 Apache の再起動とかをしなくても、OpenSSL のコマンド一つでできるので、そのメモ。 サーバ側 Let’s Encrypt(certbot) で調達した証明
LXD のイメージを使って、systemd-nspawn のコンテナを起動する
前置き いろいろなコンテナの規格がありますが、普段 LXD と systemd-nspawn を使っています。 systemd の方がコンセプト的に好きなのですが、LXD に比べるとまだユーザ体験では劣っている様に思えます。 まず、s
Linux の起動ディスクのお引越
概要 Ubuntu16.04 を違うディスクに引っ越した時に行った作業のメモ。 (もっと簡単に行う方法もあるかもしれない。) 作業 作業は USB メモリなどから起動した別 Linux からの作業とする。 (引越し元のシステムが起動し
Linux でタグ VLAN を使う
概要 Linux でタグ VLAN を扱いたくなったので、やってみた。 今回の例は Ubuntu16.04 を使った。 カーネルモジュールの確認とロード VLAN を扱うには 8021q というカーネルのモジュールが必要。 modin
ThinkPad のモニタの開閉を検知し CPU の速度を変える
いきさつ スリープはしたくないが、かばんの中で勝手に暑くならないように、 画面を閉じたら CPU の速度を落とし、開けたら CPU の速度を上げる、ということをする。 環境は ThinkPad X220 で Ubuntu16.04 。
Linux のリカバリモードでのファイルの編集
概要 設定をいじっていたら Ubuntu が起動しなくなった。 慌ててリカバリモードで起動したが、設定ファイルを書き込めないので困った。 原因は簡単で、ルートファイルシステム \/ が read-only(ro) でマウントされていたか
Linux でスワップ領域を追加する方法
概要 スワップ領域を追加するときのメモ。 \/var\/swapfileというファイルを生成して行います。 \/var\/swapfile の準備 8GBのスワップ領域を追加する場合は、8GBの空のファイルを作成し、 mkswap でスワップ
Ubuntuからadbを使ってAndroid機に接続してみる
概要 Android機には adb というコマンドを使って接続できるらしいので試してみた。 adbのインストール $ sudo apt-get install andtoid-tools-adb \/etc\/udev\/rules.d\/
マウスポインタを複数使う
概要 ThinkPad のキーボードとトラックボールを使っているので、 トラックポインタとトラックボールで2つ分の入力装置があります。 ふたつあるなら、ふたつのマウスポインタを使ってみよう、ということで。 デバイスのIDを確認する デ
USB をネットワーク経由で使う
いきさつ UVC カメラを IP ネットワーク経由で使いたいな、と思ったわけですが、 ssh でモニタリングするよりも、USB を手元の PC で認識する方がスマートな方法かと。 そこで usbip を使ってみます。 usbip 以下
inotify でファイルを監視する
概要 ファイルの変更をトリガーにして何か動作させたい時ってありますよね。 たとえば、プログラムを書いていて、ファイルを保存したらコンパイルする、など。 そんなときは inotify が便利なようです。 inotifyをインストールする
Nmap を使ってサーバをスキャンする
いきさつ サーバのセキュリティを高めるために、 外側からサーバの確認をしたかったので、Nmap を使ってみた。 ※Nmap はネットワークに負荷がかかる可能性があるため、 使用する場合は対抗機器に負荷がかからないように配慮する必要があ
WakeOnLan の MagicPacket を受け取るための設定を ethtool で行う
概要 WakeOnLan の MagicPacket を受け取るための設定を ethtool で行う。 起動される側 まずネットワークインターフェースが WakeOnLan(WOL) に対応していることと、 BIOS などで WOL
仮想コンソールの色を変える
いきさつ Ubuntu の仮想コンソールのデフォルトの配色ってすごく見辛いので変えてみます。 Setting .bash_profile などに以下を設定します。 if [ "$TERM" = "linu
dircolors をカスタマイズする
概要 デフォルトの dircolors の設定がちょっと微妙だったので、変えてみることに。 GitHub で公開されているコードをつかう GitHub https:\/\/github.com\/seebi\/dircolors-solari
仮想コンソールでのフォントを変える方法
いきさつ 仮想コンソールではフォントを変えられないと思い込んでいたのだが、 変えられるみたいなのでやってみた。 console-setup(root権限) root権限ある場合、初期設定自体をconsole-setupで書き換えられる
BeagleBone Black に Debian をインストールする
いきさつ 普段から Ubuntu を使っていたので、BeagleBone にも Ubuntu を導入しました。 しかし、デスクトップ環境をほとんど使わないことがわかったので、それなら Debian でいいのでは? ということで入れてみ
Linux のタイムゾーンの変更
\/etc\/localtime を変更する Aisa\/Tokyo にする場合は以下の様に打てば良い。 date コマンドなどで時刻が変わっていることを確認できる。 $ sudo sh -c 'cat \/usr\/share\/zon
BeagleBone Black に Adafruit_BBIO をインストールする
いきさつ Ubuntu13.10 を入れた BeagleBone Black で GPIO を Python から使う準備をします。 pip をインストールする $ sudo apt-get update $ sudo apt-get
仮想コンソールが自動的に消灯しないようにする
いきさつ X Window では GUI の設定ツールで画面OFFまでの時間を決めることができますが、 仮想コンソールでのやり方を知らなかったので、調べました。 settermを使う MINUTES に 0 を設定すれば自動的に消灯し
Ubuntu の locale に ja_JP を追加する
概要 Ubuntu の locale に ja_JP を追加する。 サポートされている言語の確認 $ less \/usr\/share\/i18n\/SUPPORTED インストールされている言語の確認 $ locale -a ja_JP.
BeagleBone Black に Ubuntu をインストールする
概要 BeagleBone Black を買ったのですが、 初期搭載されている OS の Angstrom はなかなか使いづらいので、 BeagleBone 用の Ubuntu をインストールしてみる。 Ubuntu13.10 のイン
PulseAudio で音のネットワーク転送
概要 スピーカーにつながっているがっているのはデスクトップPCなので、 ノートPCだとしょぼい音で音楽を聴くことになる。 ノートPCで再生している音をデスクトップに接続されているスピーカーから出力したいので、 ネットワーク経由で音を転
man コマンドの表示をカラーにする
概要 manコマンドで開いたときにある程度色がつくようにしたかったので、調べてみた。 manのページャにlessを使い、less用の環境変数を指定する。 less のインストール sudo apt install less 設定方法
Ubuntu における adm と admin グループ
経緯 Ubuntu12.04 のデフォルトユーザ(ここでは user とする)で id コマンド打ったら、 以下の様に出力されました。 $ id uid=1000(user) gid=1000(user) groups=1000(us
exif の閲覧と削除を CLI で行う
概要 exif というのは jpg に付けられる撮影情報を xml で記述したもの。 これには撮影日時やカメラの機種など、様々な情報が載っている。 ときにはこれを閲覧したり、画像をアップロードするときに削除したい、 こともあるので調べ
Linux の仮想コンソールで CapsLock と Ctrl を入れ替える設定
概要 日本語キーボードで、CapsLock を Ctrl として使うときの方法。 Debian もしくは Ubuntu が対象。 設定 \/etc\/default\/keyboard の XKBOPTIONS に以下の一行を追加する。 X
GnuPG を使って電子署名をする
概要 電子署名を GnuPG https:\/\/gnupg.org\/ によって施します。 準備 install ubuntuでGnuPGを使うためには以下のコマンドを打つ。 $ sudo apt-get install gnupg 公開
Nautilus のサイドバーから不要なディレクトリを消す
概要 nautilusのサイドバーに表示されるディレクトリ一覧表示を制御する。 ~\/.config\/user-dirs.dirs エディタなどで ~\/.config\/user-dirs.dirs を編集する。 ~\/.config\/us