CLOVER🍀

That was when it all began.

Linux

Ubuntu Linux 21.04以降でaptにも適用されているPhased Updates

これは、なにをしたくて書いたもの? Ubuntu Linux 22.04 LTSにしてから、パッケージを更新しようとした時に $ sudo apt upgrade 以下のようにパッケージの更新が保留されることが増えました。 以下のパッケージは保留されます: update-notifier update-noti…

TCP Echo Server/Clientを書いて、Netty io_uringを試してみる

これは、なにをしたくて書いたもの? Nettyのio_uringを少し見てみたいな、ということで。 io_uring まずは、io_uring自体について。 io_uringは、非同期IO用のAPIです。カーネル5.1から導入されたそうです。 https://kernel.dk/io_uring.pdf io_uringについ…

複数の宛先に対する簡単なTCPプロキシサーバーをsocat+Pythonで書く

これは、なにをしたくて書いたもの? 時々、TCPでの通信をローカルポートから別の宛先に転送したくなることがあります。いわゆるプロキシです。 個人的に、こういう時にはsocatをよく使っているのですが。 socatでTCPプロキシサーバーを立てる - CLOVER 転送…

SSHでログインしていることを判定するには、SSH_CONNECTION環境変数を見ればよいという話

これは、なにをしたくて書いたもの? 現在のシェルがSSHでリモートログインして起動したものかどうか、判定する方法はないのかな?と思って調べてみたのですが。 SSH_CONNECTIONという環境変数が設定されているかを見ればよいみたいです。 SSH_CONNECTION環…

systemdのターゲット(SystemVのランレベル相当)を変更する

これは、なにをしたくて書いたもの? そういえば、systemdになってからSystemVのランレベルに相当するものを変更したことがないなと思いまして。 multi-user.targetなどの言葉には見覚えがあるのですが、これを切り替えたことがない、という話です。 systemd…

Ubuntu Linux 20.04 LTSにShellCheckをインストールする

これは、なにをしたくて書いたもの? タイトル通り。 シェルスクリプトの静的解析ツールである、ShellCheckをUbuntu Linux 20.04 LTSにインストールしてみます。 ShellCheck ShellCheckとは、シェルスクリプトの静的解析ツールです。 ShellCheck – shell scr…

Apacheとnginxで、HTTPリクエストボディを記録する

これは、なにをしたくて書いたもの? デバッグ等でHTTP POSTやHTTP PUTで送信したHTTPリクエストボディを確認したくなることがありますが、その方法はいろいろあります。 たいていは、アプリケーションのログに出力するようにして済ませたり、tcpdumpなどで…

現在認識しているaptリポジトリーの一覧や、リポジトリーに含まれているパッケージを調べたい

これは、なにをしたくて書いたもの? 現在認識しているaptリポジトリーや、特定のリポジトリーに含まれているパッケージを把握するにはどうしたらいいのかな?ということで、 ちょっと調べてみました。 環境 確認環境は、こちらです。 $ lsb_release -a No L…

Ubuntu Linux 20.04 LTSに、Redisをaptリポジトリからインストールする

これは、なにをしたくて書いたもの? Redisのインストール方法は、公式にはずっとソースコードからビルドするものだと思っていたのですが、どうやら今は違うみたいです。 Ubuntu LinuxやDebianだとaptでインストール可能になっていたので、試してみることに…

aptやdpkgでインストールしたパッケージや、debファイルに含まれるファイルを確認する

これは、なにをしたくて書いたもの? タイトルどおりですが、aptでインストールしたパッケージやdebファイルに含まれるファイルを確認したいな、ということで。 環境 今回の環境は、こちら。Ubuntu Linux 20.04 LTSです。 $ lsb_release -a No LSB modules a…

Redis/memcached互換のDragonflyをRedisとして試す

これは、なにをしたくて書いたもの? Redis/memcached互換を実現しつつ、Redisの25倍高速と謳われているDragonflyというインメモリデータストアがあるようです。 Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストア…

dateコマンドで、タイムゾーンをJST → UTC/UTC → JST(任意のタイムゾーン間)に変換して表示する

これは、なにをしたくて書いたもの? dateコマンドで、あるタイムゾーンの時刻を別のタイムゾーンの時刻に変換して表示するにはどうしたらいいのかな?と思ってメモ。 その一例として、JSTとUTCを使って確認してみます。 環境 今回の環境は、こちら。 $ unam…

Vagrantで使っているUbuntu Linux 22.04 LTSを日本語化する

これは、なにをしたくて書いたもの? 前に、こんなエントリーを書きました。 Vagrantで使っているUbuntu Linux 20.04を日本語化する - CLOVER Ubuntu Linux 22.04 LTSもリリースされましたし、VagrantのBoxも出ているのでこちらのエントリーと同様に日本語化…

testssl.shでサーバーが対応しているSSL/TLSプロトコル、暗号化アルゴリズムなどを確認する

これは、なにをしたくて書いたもの? 以前、OpenSSLとnmapを使って、サーバーが対応しているSSL/TLSプロトコルや暗号化アルゴリズムを確認する方法を調べてみました。 サーバーが対応しているSSL/TLSプロトコルを確認する(openssl s_client、nmap) - CLO…

vagrant-libvirtを使っている時は、たまにimgファイルを削除する

自分はVagrantのProviderにはvagrant-libvirtを使っているのですが、気づくとやたらディスクを使っていることに気づきまして。 ちょっと調べてみると、/var/lib/libvirt/imagesが異様に巨大になっていました。 このディレクトリの中身を見るとわかるのですが…

Docker Engine(Linux)でコンテナからホスト側のサービスにアクセスする(host.docker.internal)

これは、なにをしたくて書いたもの? Docker Desktopには、host.docker.internalというホスト側のIPアドレスを参照する仕組みがあるようです。 Networking features in Docker Desktop for Windows / Features / Use cases and workarounds / I want to conn…

SSH経由でファイルシステムをマウントするSSHFSを、Ubuntu Linux 20.04 LTSで試す

これは、なにをしたくて書いたもの? SSHFSという、SSHとFUSE(Filesystem in Userspace)を使用したネットワークファイルシステムのマウントができる仕組みがあることを 知ったので、ちょっと試してみようかな、と。 SSHFS SSHFSのリポジトリはこちら。 Git…

Ubuntu Linux 20.04 LTSでホスト名を(永続的に)変更したい

これは、なにをしたくて書いたもの? Linuxのホスト名の変え方を、ちゃんと見てきていなかったので、この機会にちょっと見ておきたいな、と。 hostnamectlかnmcli general hostnameのどちらかを使って変更するのが良いみたいですね。 環境 環境は、Ubuntu Li…

Ubuntu Linux 20.04 LTSにLiteSpeedのオープンソース版(OpenLiteSpeed)をインストールしてみる

これは、なにをしたくて書いたもの? ちょっと前から、LiteSpeedやOpenRestyというWebサーバーが気になっていまして。 去年の年末にも出ていましたしね。 12月Webサーバシェア調査、Nginxが大量にシェア失う | TECH+ LiteSpeedについてさらっと眺めたりして…

Vagrantで起動した仮想マシンに、SSH接続する

これは、なにをしたくて書いたもの? Vagrantで起動した仮想マシンにSSH接続(およびSFTPなど)をしたいと思いまして(vagrant sshではなく)。 このような用途のためにvagrant ssh-configというコマンドがあるようなので、試してみました。 ※というか、1度…

systemd制御下で動作するプロセスの、リソース制御を行う

これは、なにをしたくて書いたもの? Linuxにおけるリソース制御といえば、ulimitです。 limits.conf(5) - Linux manual page /etc/security/limits.confファイルや/etc/security/limits.dディレクトリ内に[任意の名前].confファイルを作成して nofileなどの…

tmuxを覚えてみる

これは、なにをしたくて書いたもの? Ubuntu Linuxで、ターミナルにはTerminatorを使っているのですが。 Terminator 時々、タブとウィンドウ分割が増えすぎることもあるので、そろそろtmuxを覚えてみようかなと。 tmux tmuxは、ターミナルマルチプレクサと呼…

Linuxで任意のサイズのファイルを作成する

これは、なにをしたくて書いたもの? Linuxで、任意のサイズのファイルを簡単に作るには?ということで。 メモしておこうかなと。 バイナリファイル、テキストファイルそれぞれを作成する場合で書こうと思います。 環境 今回の環境は、こちら。Ubuntu Linux …

Linuxでメモリの断片化に関する情報を見る?

これは、なにをしたくて書いたもの? Linuxで、メモリの断片化に関する情報が見れるようなので、少し調べてみました。 情報は、このあたりをベースにしています。 The /proc Filesystem — The Linux Kernel documentation proc(5) - Linux manual page Ubunt…

Ubuntu Linux 20.04 LTSに、Androidの画面をPCに転送するscrcpyをインストールする

これは、なにをしたくて書いたもの? 自分はAndroidユーザーなのですが、PCに画面を転送する方法はないのかな?と思って調べたらscrcpyというものを 使えばできそうだったので、試してみました。 scrcpy scrcpyのGitHubリポジトリは、こちら。 GitHub - Geny…

OpenSSLでの暗号スイートと指定方法を確認する(+Apache、nginxでのIPAガイド設定例含む))

これは、なにをしたくて書いたもの? Apacheやnginxの設定を見ていて、Cipher Suiteに指定している文字列の意味があんまりわかってないなと思い。 この機会に、少し見ておきたいな、と。 環境 今回の環境は、こちら。 $ lsb_release -a No LSB modules are a…

Ubuntu Linux 20.04 LTSで、ネットワークデバイスに一時的にIPアドレスを追加する

これは、なにをしたくて書いたもの? Linuxで、一時的にでもIPアドレスを追加できたりしないのかな?と思って調べてみたら、ipコマンドでできそうだったので 試してみました。 環境 今回の環境は、こちらです。Ubuntu Linux 20.04 LTS。 $ lsb_release -a No…

Terraform、Vagrant、ConsulなどのHashiCorp製品をLinuxのパッケージマネージャーでインストールする

これは、なにをしたくて書いたもの? 自分はTerraformやVagrantなど、HashiCorp製品をそれなりに使っているのですが、いつもzipなりdebなりで インストールしていました。 ですが、最近Terraformのドキュメントにaptやyumリポジトリに関するドキュメントが増…

LinuxでOSの情報を確認したい

これは、なにをしたくて書いたもの? Linux OSのバージョン情報などを見る時の方法をまとめておこうかな、と。 特にディストリビューションによって変わらない方法で見る場合は?ということであれば、/etc/os-releaseを見るのが 良さそうです。 確認方法 /et…

Caddy 2を試す

これは、なにをしたくて書いたもの? 以前、Caddyについてエントリを書いたことがあります。 Go製Webサーバー、Caddyで遊ぶ - CLOVER この時は0.10の頃だったのですが、今となっては2を越えているので。ちょっと確認しなおしておこうかな、と思いまして。 Ca…