OSSの運用とライセンスについての情報源

はじめに OSS運用のスタッフ的視点での情報減を少しずつまとめていく。 あとは、ライセンスやリーガルなことも。 とりあえずこれ Producing Open Source Software https://producingoss.com/ License Apache License 2.0 GPL family GPLv2 GPLv3 LGPL Contri…

wmctrlを利用したウィンドウのリサイズ

はじめに とあるドキュメントの作成の都合上、Linuxでウィンドウのスクリーンショットを取る必要に迫られた。 ドキュメントのレイアウトの崩れを防ぐために、ウィンドウのサイズは統一しておきたかった。 そのためウィンドウを思い通りにリサイズできるコマ…

Jinja2のhello, world!

はじめに JInja2のドキュメントの最初のサンプルコードが分かりにくくて、しばらくぶりだと色々調べ直しになる。。。 なので、最小限のコードを備忘録として残しておく。 環境 Ubuntu 18.04LTS Jinja2のインストール # pip3 install jinja2 hello, world! 以…

Pythonでリストからディクショナリを生成する

Pythonでキーとバリューが交互に並んだリストからディクショナリを生成するには、以下のようにする。 x = ['key1', 'value1', 'key2', 'value2'] y = dict(zip(x[0::2], x[1::2])) まず、ステップ数を指定したスライスを利用して、x[0::2]でキーのリストを、…

DockerコンテナでNFSのボリュームを利用する

はじめに DockerコンテナでのNFSのボリュームを利用する手順を説明する。 ここでは、NFSサーバの情報は以下とする。 項目 値 IPアドレス 192.168.8.1 NFSのバージョン 4 公開ディレクトリ /shared また、公開ディレクトリには、動作確認用にhello,world!とい…

NFS Version 4のサーバとクライアントの構築手順

はじめに CI環境を構築するにあたって、成果物を共有するための共有ストレージが必要になった。 いろいろ検討したが、ESXiのデータストアとして利用できるという点から、NFS Version 4を採用することにした。 ネット上の情報は古いものが多くて構築に苦労し…

ESXiのパスワードのポリシーを変更する

はじめに デフォルトのESXiのパスワードのポリシーはちょっときつめで、今利用している開発環境のパスワードのポリシーと合わない。 そこで、ESXiのパスワードのポリシーを少し緩めることにした。 変更方法 ファイル/etc/pam.d/passwdにパスワードのポリシー…

KVM環境のNATでポートフォワード

はじめに 以前の記事で書いたlibvirtのフックを利用して、NATでポートフォワードする方法を示す。 古いブログなどではiptables-save/iptables-restoreを利用してポートフォワードの設定を永続化している例もあるが、フックを使う方式が正しいと思われる。 サ…

KVM環境のフックについて調査

はじめに KVM環境でポートフォワードを行おうと思って調べてみたところ、どうもlibvirtのフックの仕組みを利用してiptablesを実行するのがよいらしい。 そのフックの概要を忘れないうちに残しておく。 フックのスクリプト フックはスクリプトとして実装する…

VyOSのNATでポートフォワード

VyOSのNATでのポートフォワードの設定方法について。 eth0へのポート10022へのアクセスに対して、192.168.9.2のポート22に転送する設定は以下。 $ configure # set nat destination rule '10' inbound-interface 'eth0' # set nat destination rule '10' des…

VyOSにSSHの鍵認証でログイン

以下の公開鍵があるとする。 $ cat id_rsa.pub ssh-rsa AAAAB3Nz.... ユーザvyosに対して、この公開鍵を利用してSSHの鍵認証でログインできるようにする。 作業前の設定情報は以下。 $ show configuration (略) login { user vyos { authentication { encryp…

ESXiの環境にVyOSを利用してプライベートネットワークを構築

はじめに ESXiの環境にVyOSを利用してプライベートネットワークを構築したときの手順を残しておく。 ただし、ESXiの話を盛り込むとややこしくなるので、ここではVyOSの構築手順に絞る。 まず、次のようなネットワーク192.168.8.0/24があったとする。 (Intern…

VMware OVF Toolを利用してESXi 6.7からVMをエクスポート

はじめに VMware OVF Toolというコマンドラインツールを利用して、ESXi 6.7からVMをエクスポートする手順を記しておく。 作業マシンの準備 VMのエクスポートの作業を実施するマシンを準備する。 ここでは、Ubuntu 18.04を利用する。 $ uname -srvm Linux 4.1…

ESXi 6.7でコマンドからVMを作成

はじめに ESXi 6.7でのVMの作成を自動化したいので、そのための手順とコマンドを調査した。 まず結論 ESXiにsshでログインして、以下のようなスクリプトを実行すればよい。 #!/bin/sh -ue # (0) パラメータ定義 DATASTORE_PATH=/vmfs/volumes/datastore1 ISO…

ESXi 6.7のパッチの適用手順

はじめに ESXi 6.7にパッチを適用した際の作業記録を記しておく。 前提となるESXiホストの環境は以下とする。 項目 状態 バージョン 6.7 (パッチ未適用) IPアドレス 192.168.8.20 ssh接続 enabled ESXiはVMそのものは安定しているが、周辺ツールにバグが多い…

KVM上にESXi 6.7のVMを構築する手順

はじめに 実験のためにESXi 6.7の環境が必要になったので、KVM上にESXi 6.7のVMを構築した。 ここでは、その構築手順を記しておく。 と言っても、KVM固有の手順はあまりなく、ほぼ単にESXiを構築する手順だが。 1. ESXiのISOイメージのダウンロード 以下のWe…

Node.jsの情報源

はじめに Node.jsの勉強を始めたので、各種情報源をメモしておく。 Node.jsとその周辺 Node.js https://nodejs.org/ ECMAScript Language Specification http://www.ecma-international.org/publications/standards/Ecma-262.htm ECMAScript Language Specif…

「踏み台」の英語表現

はじめに 踏み台についての英語の記事を検索したかったが、「踏み台」を英語でどう表現するか分からなかったので、調べてみた。 結論 どうもjump host、jump serverあるいはbastion hostなどと表記するらしい。 Wikipediaのjump hostの説明 https://en.wikip…

プロキシの設定

はじめに セキュリティ担保の都合でプロキシ通さないとインターネットに出られない環境では、プロキシの設定が原因でつまずく事が多い。 プロキシ除外にテストマシンを指定し忘れて、テスト失敗 非インタラクティブシェルがどうのとかで、Ansibleの実行に失…

Ansibleにおいて、リストの各要素をシングルクォートで囲んでからカンマで連結

はじめに 諸般の事情により、以下のようなリストについて、 terms: - AI - Artificial Intelligence 以下のように加工する必要に迫られた。 "'AI', 'Artificial Intelligence'" つまり、それぞれの要素をシングルクォートで囲って、カンマで連結するとともに…

Ubuntu 18.04でコマンドラインからUbuntu Dock (ランチャー)に登録しているアプリを変更

はじめに やりたいことはタイトル通り。 Ubuntu 18.04上での開発環境を自動構築したかったのが動機。 デフォルトで登録されているRhythmboxやAmazonへのリンクは開発環境には不要だし、追加でGoogle ChromeやVS Codeも登録しておきたい。 Dockに登録している…

プロキシの環境下でのUbuntu 18.04のインストールが異常に遅い場合の対処

プロキシを利用している環境でUbuntu 18.04をインストールしたところ、1時間ぐらいかかった。 インストール中のコンソールの出力を見ていると、時刻同期で度々ntp.ubuntu.comに接続しようとしてタイムアウトを起こしていた。 そこで、インストールメディアか…

~/.ssh以下のパーミッションの一括設定

CentOS 7だと~/.ssh以下のパーミッションを適切に設定しておかないとsshでログインできなかった。 Ubuntu 18.04はそんなことはなかったので、Ubuntuはsshdの設定が少しゆるい? そこで、以下のように設定する。 ディレクトリはオーナーのみ読み書き閲覧可能 …

Linuxのユーザをコマンドラインから作成する

はじめに Linuxのユーザをコマンドラインから作成する手順を記しておく。 useraddがあまりフレンドリーではないので。。。 一般的なユーザの追加 ユーザを追加し、同時にホームディレクトリも作成する。 オプション-mをつけないとホームディレクトリが作成さ…

プロキシサーバ利用の設定

自分がよく使う、OSインストール直後のプロキシの設定方法。 UbuntuでもCentOSでも使えるはず。 echo "Defaults env_keep+=\"http_proxy https_proxy ftp_proxy no_proxy\"" > /etc/sudoers.d/proxy echo "export http_proxy=http://server:port/ export htt…

Windowsの共有フォルダをLinuxで常時マウントする

はじめに 自分の作業環境的に、ファイルサーバはWindowsの共有フォルダとして提供されていることが多い。 そのため、開発環境のLinuxでWindowsの共有フォルダを常時マウントしておきたい。 当然ながら、WindowsとLinuxではユーザ管理やアクセス制御の考え方…

RPMの詳細情報の表示

RPMファイルに格納されている情報のダンプ的なものが欲しかった。 それっぽいものを取得するスクリプトを作成したので、メモしておく。 これで全部の情報が取得できているのかは不明。 #!/bin/bash rpm --querytags | while read line; do rpm -qp $1 --qf "…

Ubuntu 18.04でVMWare Workstation Player 14が動作するまで

はじめに Ubuntu 18.04でVMWare Workstation Player 14を動かすのに苦労したので、記録を残しておく。 環境 $ uname -srvm Linux 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 初回の起動に失敗 (1) インストール完了後の初回起動…

AnsibleでCentOS 7のfirewalldを無効化

firewalldを切り忘れていたために、httpアクセスが通らずに3時間ほど悩んだ。 しかもIEが「DNSエラー」と表示してくれたおかげで、名前解決を疑って遠回りしてしまった。 自分への戒めのために、Ansibleでfirewalldを無効化する方法を残しておく。 - name: f…

ディレクトリを再帰的に辿ってファイルのダイジェストを生成

ディレクトリのコピーが正常終了したかどうかを、ファイルのダイジェストを元に確認したかった。 コマンドの組み立てに、いくらかの調べものと試行錯誤をしたので、メモしておく、 結果的に、コマンドは以下に落ち着いた。 $ find -type f -print0 | sort -z…