のぴぴのメモ

自分用のLinuxとかの技術メモ

Linux

Linuxでファイル名がSJIS(CP932)のものをUTF-8のファイル名に一括変換する

convmvをインストール sudo yum -y install convmv 使い方 cd <変換したいファイルがあるディレクトリ> convmv -r -f cp932 -t utf-8 --notest * -r 再帰的に変換を実行 -f cp932 : 変換元のコード指定。cp932は、windowsのSJISコード名称 -t utf-8: 変換先…

JSONの文字列変換(JSON.dumps)をワンライナーのコマンド実行で実現する

コマンドでの作業で、pythonのコードを書くまででない場合の方法。 変数"POLICY"に設定したJSONを、pythonで文字列に変換して、変数"POLICY_ESCAPE"に格納する。 JSON→文字列にエンコード やること このJSONを、 { "Version": "2012-10-17", "Statement": [ …

Python3でナノ秒の計測をする方法

Pytho処理時間をナノ秒で計測する方法です。python3.7で追加された、time.clock_gettime_ns()を利用することで実現しています。

お名前.comドメイン取得し、Route53のDNS登録をしてLet's Encryptの無料の証明証を取得する手順の全体説明

検証で自己署名証明書(オレオレ証明書)でない証明書が必要だったのですが、お金がかけられなかったのでお名前.comで安いドメインを取得し、Let's Encryptで無料証明書を取得してAWS上で検証をしました。この記事はその時の手順をまとめたものです。

AmazonLinux2でLet's EncryptでCertbot改造せずに証明書を取得する手順

Let's Encryptから無料のサーバ証明書(ワイルドカード証明書)を取得し、(複数の)apacheサーバに証明書を組み込む手順を説明してます。Amazon Linux2でLet's EncryptをググるとCertbotを改造するケースが多いですが、この手順では引数を工夫することで改造な…

RHEL7.1でENA(Elastic Network Adapter)を利用する手順

ENA(Elastic Network Adapter)は、シングルルート I/O 仮想化 (SR-IOV) を使用したAWSの拡張ネットワーキングです。RHEL7.1にはこのENAのドライバが含まれていないため、RHEL7.1環境でENAを利用する場合は個別にインストールする必要があります。この記事は…

RHUIとredhat社のインストールメディアのrpmパッケージファイルの中身に差異があるか確認してみた→結果差異はない

概要 RHUIとredhat社がカスタマーポータルで提供しているrpmパッケージの中身に差異があるのかどうかという話があったので、2つのファイルのdiffをとって確かめてみた。 →結果、差異はなかった。 確認方法 redhat社のカスタマーポータルRHEL7.5のDVDを取得(…

yumで特定のバージョンのrpmパッケージとそのパッケージの依存パッケージをダウンロードする

yumレポジトリに接続できない環境の場合、別の環境で"yumdownloader --resolve 対象パッケージ"で必要なrpmパッケージをダウンロードして持ち込むことでアップデートできます。またyumレポジトリの古いバージョンのパッケージを表示する場合は、”yum --showd…

ECRにdockerログインしてImageをpush/pullしたりリポジトリやイメージ一覧取得)する手順

dockerdでECRの認証情報を取得して、ECRリポジトリを作成し、docker イメージを/push/pullする手順

オレオレ証明書を1コマンド一発でバッチ的に作る方法

自己署名証明書(オレオレ証明書)を作る時、コマンドを3回叩いたり、コマンド実行したら対話的に入力したりで簡単にバッチ化できないかなぁ〜と調べたメモです。結論は、openssl req -x509 -days 36500 -newkey rsa:2048 -nodes -out ${URLNAME}.crt -keyout…

vimの設定と操作時のTips

vimを利用する時の設定と操作時のメモです。 1. ~/.vimrc設定 " setting set fenc=utf-8 "文字コードをUFT-8に設定 set nobackup " バックアップファイルを作らない set noswapfile " スワップファイルを作らない set showcmd " 入力中のコマンドをステータ…

VPC閉塞網からyumリポジトリにアクセスする(Amazon Linux & RHEL)

VPCからインターネットへの外の通信をさせないようにしている環境を想定した検証環境で、rpmパケケージ追加をしようとして、yumリポジトリとの通信ができずハマったのでまとめました。結論は、(1)Amazon Linuxは、「S3のVPC Endpointを設ける」、(2)RHELは、…

Red Hat Developer Program参加とRHEL無償サブスクリプションの取得&更新

Red Hat Developer Programのに参加すると、無料のRed Hat Enterprise Linuxサブスクリプションを取得することができます。RHELのを取得できるのも嬉しいですが、redhatの ナレッジベースを参照できるようになるのが嬉しいです。 ちなみに、この無償プログラ…

AWS 特定のAMIの各リージョンのImageID一覧を取得するシェル

特定の種類のAMIについて、各リージョンのImageIDを取得し、CSV形式で出力するシェルスクリプトです。 例えば、SQL Server Web Editionが含まれているLicense-includeなwindowsインスタンスの各リージョンのImageIDを知りたいとかいうときに利用します。

RHEL7 on EC2にdockerをセットアップする手順

RHEL7 on EC2(License Included)でのdockerセットアップ手順を記載します。 Amazon Linux2へのdockerセットアップ手順(との違いは、RHUIのEPELレポジトリを有効化し、dockerをインストールするところです。

EC2(Amazon Linux2)にprivateなdocker registryの作るメモ

* 1.はじめに 検証用にプライベートなdocker registryをAWS EC2上のAmazon Linux2に作った時のメモです。レジストリを立てて、別のサーバからdockerイメージをpush/pullして確認するまでを記録しています。 内容は、[https://qiita.com/zknzfz/items/13d5d07…

LinuxブロックデバイスとNFSとネットワークの関係性

会社でディスク(ブロックデバイス)とNFSの違いはという話題になったので、Linux kernelの中のブロクデバイス、NFS(ファイルシステム)、ネットワークの関係をざっくりしたポンチ絵に落としてみました。(簡素化するため箸折っていたり、そもそも私の理解が曖昧…

Amazon Linux2にdockerをセットアップする手順

Amazon Linux2上にdocker環境を作った時のメモです。 手順 インスタンスを立ち上げて、sshログインしてからの手順です。 (1)dockerのインストール sudo yum -y update sudo yum -y install docker (2)dockerサービスの起動 最初の"start"でdockerサービスを…

EC2でnetconsoleを使ってカーネルメッセージを取得する

EC2インスタンス(Amazon Linux2)で、netconsoleを使ってカーネルメッセージを別サーバに飛ばして見る設定のメモです。ncatを利用しnetconsoleサーバを一時的に作る方法とsyslogサーバに飛ばす方法の両方を説明します。

Linuxのテスト用に、ハングアップやパニック状態にするカーネルモジュールを作ってみた

テストのために、AWSのAmazon Linuxのインスタンスをカーネルレベルでハングアップさせたかったので、テスト用のカーネルモジュールを作ってみました。 できること カーネルのハングアップ(ping応答もできないレベル。プリエンプションをdisableにして実現) …

AWS CLIのセットアップ(RHEL/Mac)

RHELとmacの、AWS CLIのセットアップ手順です。公式ドキュメントに記載されてなくてハマった点を中心に記載しています。ちなみに、Amazon linuxはプリインストールされているので不要です。

clock_gettime()で負荷をかけたEC2をNetflix FlameScopeでのぞいてみた

はじめに FlameScopeとは この記事で書いていること セットアップ手順①(MacにFlameScopeをセットアップする) (1)前提パッケージのセットアップ (a)gitコマンドのセットアップ (b)pipコマンドのセットアップ (2)FlameScopeのセットアップ セットアップ手順②(…

プロセスのVSZ,RSSとfree,meminfoの関係を実機で確認する

psコマンドのVSZ(仮想メモリ)、RSS(物理メモリ)の挙動について質問を受けたので、簡単な検証プログラムを作ってmalloc/freeのメモリ確保/解放や、データの読み込み・書き込みとVSZ/RSSの関係性及び、freeコマンドとmeminfo情報でシステムワイドなメモリの挙…

Linuxのclock_gettime()でナノ秒の時刻取得をするCのサンプル

1.はじめに 2.コードと実行例 (1)コード (2)実行例 3.説明 (1)clock_gettime(CLOCK_REALTIME, &ts) (2)localtime_r( &ts.tv_sec, &tm) (3)printfで出力 1.はじめに clock_gettime()で時刻を取得し時刻をナノ秒で表示するサンプルです。時刻取得といえばgetti…

最小構成でmanがない場合の対処方法->man-pagesをインストール

結論 タイトル通りですが、備忘録です。 CentOSやRHELで最小構成でインストールした場合、最小限のコマンドマニュアルしかなくて、man(2)、man(3)・・・は、入っていないのですね。 結論から言うと、そんな時は"man-pages"(日本語も必要な場合は、man-pages-…

freeコマンドとmeminfoを取得してCSV形式で保存するシェルスクリプト

はじめに ツール説明 シェルスクリプト 使い方 出力結果 はじめに 昔作った/proc/meminfoを取得時刻情報取得スクリプトを改造して作った、freeコマンド+/proc/meminfoを取得して、CSV形式で出力するシェルスクリプトです。 nopipi.hatenablog.com ツール説明…

"LB + Web x 2 + RDB"マルチAZ”でWordPressをインストールするCloudFormation

はじめに 構成概要 CloudFormationコード はじめに 前にAWSさんの体験ハンズオンで経験した"LB + Web x 2 + DB x 2"環境構築して、そこに動作確認としてWordPressをインストールして動かすところまでの手順を、CloudFormationを使って自動化して見ました。Wo…

SRPM展開&Gun global解析&squashfs化する自作ツールの説明

1.ツールができること 2.インストール方法 2.1 前提環境 2.2 前提パッケージ 2.3 Gnu Globalのインストール 2.4 ツールのセットアップ 2.5 ディレクトリの準備 2.6 sudo設定 3.使い方 3.1 簡単な使い方 3.2 引数の説明 1.ツールができること "srpm2html.py"…

SRPMインストール先を指定する方法

1.普通にSRPMをインストールした場合 2.インストール先ディレクトリを指定する方法 2.1 RPMのマクロ定義ファイル("~/.rpmmacros")で指定 (1)マクロ定義ファイルの設定 (2)SRPMのインストール 2.2 コマンド引数でインストール先ディレクトリを指定する方法 3.…

ubuntuで古いカーネルを削除する方法(/bootの空きが足りない時とか)

1.はじめに 2.対処方法(古いkernelの削除) (1)現在のカーネルバージョンの確認 (2)インストール済みカーネルのバージョン一覧を確認 (3)コマンドをテスト実行確認(DryーRun) (4)パッケージを削除する (5)削除されたか確認 3.参考 1.はじめに ubuntuで「ソフ…