「車輪の再実装」って言葉が好き(実践はできてない)

2020-01-01から1年間の記事一覧

paramikoでclientをcloseせずにCtrl+Cを実現する

paramikoとは paramikoは、SSHの為のPythonライブラリです。 paramikoを使うことで、認証情報の管理、接続、そしてリモートでのコマンドの実行等を行うことができます。 例えば以下のようにすることで、リモートでコマンドを実行できます from paramiko impo…

コンテナランタイムなしでDockerHubのイメージをマウントする

この記事は、東京大学 品川研究室 Advent Calendar 2020及びDocker Advent Calendar 2020の2日目の記事として書かれました。 Docker Advent Calendar のネタですが、Dockerは使わないという若干本末転倒気味な小ネタです。 (あまり埋まってない様子だったの…

Ubuntu18.04でpython3のデフォルトを3.6から3.8に変更したらaptが壊れた話

まとめ Ubuntu18.04で python3 パッケージをインストールするとデフォルトでは python3.6 が入ります。 ただ諸事情で新しいバージョンを使いたくなったので、python3.8 パッケージをインストールして、 update-alternativesを使って python3 コマンドを使っ…

vagrant-libvirtで作ったVMを、dockerのネットワークにつなげる。

...というタイトルのものの、実際は既存のlinuxブリッジにlibvirtの仮想マシンをつなげる方法です。 1. つなげたいdockerネットワークのブリッジ名を調べる. 特に設定をしていなければdocker0のはずですが、 以下の様にして調べても大丈夫だと思います。 doc…

起動済みのdockerコンテナのネットワーク名前空間に入る方法

まず、あらかじめ入りたいコンテナのIDか名前を取得しておき、以下の様な手順で入れる。 pid=$(docker inspect <コンテナのIDか名前> --format '{{.State.Pid}}') sudo mkdir -p /var/run/netns sudo mount --bind /proc/${pid}/ns/net /var/run/netns/<名前…

オンライン上のmanページまとめ(随時追記)

www.mankier.com デフォルトでついているページ内検索が優秀だったり、デザインが一番モダンな感じで個人的に一番好き。対応しているページも多い気がする。 ただSEOの問題か、google検索してこのサイトに飛ぶことは少ない。 linux.die.net ちょっとマニアッ…

linux namespacesのファイルと永続化について

ip netnsコマンドを使うと、/var/run/netnsディレクトリにファイルを足してネットワーク名前空間を足してくれたり、 /proc/[pid]/ns以下に、そのプロセスの名前空間に対応するファイルを見せてくれるのは知っていたけれど、そのあたりの扱いをうろ覚えなので…

vagrant-libvirtをネストした時のネットワークアドレス衝突への対処法

vagrant-libvirtを使うと、vagrantでlibvirtをproviderとして使うことことができ、自分でvirshコマンド等をいちいち叩かなくてすごい便利なのですが、 表題の通り、ネストして使おうとするとネットワークアドレスが衝突して2段目のvagrant upに失敗します。 …

UNIXドメインソケットの通信相手(プロセス)を調べる

UNIX ドメインソケットを使っているプロセスの番号とファイルディスクリプタの番号を知りたくなったので、やり方をメモ。 以下のようにlsofコマンドを使う。 $ sudo lsof -U +E +c 15 | grep containerd systemd 1 root 48u unix 0xffff8b1691980400 0t0 106…