topコマンドをより見やすくしたhtopコマンド。
普通に使うだけでも便利なコマンドではあるが、いろいろな使い方を覚えることで更に便利に利用できる。
1.基本の使い方
基本的には、以下のようにオプション無しでコマンドを実行すればいい。
htop
各ステータスの見方はtopコマンドよりもわかりやすいだろう。
左上
上から順にCPU使用率、メモリ使用率、Swap使用率をバー表示させる。
右上
上から順にタスク、ロードアベレージ、Uptimeを表示させる。
下半分
通常のtopコマンドと同じように、プロセスのリストを表示させている。
そ...
Windows 7やWindows 10で動く壁紙を使うことができるのは知っていたが、有志の作成したプログラム「GIFPaper」を利用することで、Mac OS Xでも設定できるようだ。
LinuxコンソールでランダムなUUIDを生成する場合、以下の方法がある。
1.uuidgenコマンドを用いる
uuidgenコマンドを用いることで、ランダムなUUIDを生成することができる。
uuidgen
[root@BS-PUB-CENT7-01 ~]# uuidgen
908e641e-f696-4cac-b457-09d3af31e088
[root@BS-PUB-CENT7-01 ~]# uuidgen
ad9cfcc6-a61b-4b14-af9b-7930e6f67e5d
[root@BS-PUB-CENT7-01 ~]# uuidgen
9a3f1284-f4...
Linuxでパスワード管理する際に利用するコマンドといえば、passwdコマンドだ。
会社の手順書なんかでこのコマンドが出てくる際、だいたいはパスワードを設定したりする際にばかり登場するが、結構いろいろな使い方がある。
1.パスワードの設定をする
必ず一度は実行したことがあるであろう、パスワードの設定。
この使い方は知らない人はいないのではなかろうか。
passwd # 自分自身のパスワードを設定する
passwd # 指定したユーザのパスワードを設定する(rootのみ)
[root@BS-PUB-CENT7-01 ~]# passwd test
ユー...
時折、ポートなどの疎通確認のため、相手先のポートがちゃんと開いているかを確認したい時がある。
そんな時は、基本的にポートの疎通確認用のコマンドを利用するのだが、地味にBashからでも疎通確認を行うことができる。
exec 3<> /dev/tcp/相手先ホスト名/ポート番号 # TCP通信の場合
exec 3<> /dev/udp/相手先ホスト名/ポート番号 # UDP通信の場合
準備ができたら、以下のコマンドで...
awkで特定の列を除外して出力させる場合は、以下のように対象となる列を空白にしてやることで対応できる。
例:2列目を除外して出力させる場合
awk '{$2="";print}' 対象ファイル
[root@BS-PUB-CENT7-01 ~]# cat /tmp/test1.txt
id name prefecture value
1 aaa 1 123
2 bbb 2 544
3 ccc 1 65745
4 ddd 1 122
5 eee 2 222
6 fff 1 444
7 ggg 3 566
8 hhh 4 111
9 iii 3 12
10 bbb 2 1243
11 d...
CSVやTSVのデータを扱っていると、大容量になるとcatなんかでは抽出するのは辛くなってくる。
かと言って、grepで行抽出、awkで列指定しての行抽出となると毎回はちょっとつらいし、複数人にそれをやらせるとブーイングが来そうだ。DBにインポートすればよいのだろうが、それも面倒くさい。。。jsonであればjqコマンドを使えば良いのだけど、そうも言ってられないし、わざわざjson形式に切り替えるのも面倒くさい。
そんな時に使えそうなのが、csvファイルに対してSELECT文などを利用できるコマンド「q」コマンドだ。
これならSQL使えれば簡単に扱えるし、DBも必要なさそう。
...
以前にObserviumというモニタリングツールを紹介したことがあったが、そこからフォークした「LibreNMS」というツールがあるようなので、今回はそれをインストールして簡単に触ってみることにする。
インストール先は前回同様、CentOS 7とする。
このLibreNMS、当たり前のことではあるがDBサーバとWebサーバを分離させて動作させることができるのだが、今回はお試しのため同一サーバで動作させることにする。
ちなみに、今回はインストールまでしか行わないのだが、実際にLibreNMSがどういうものかを体験したい場合は、公式のプロジェクトトップページからデモにアクセスす...
Maxscaleとアプリケーションサーバが同居したサーバで負荷テストを行ったところ、どうも途中でDBとの通信が失敗したりする部分があった。
で、なんでなんだろと調べていく際にssコマンドを実行したところ…
[root@test-server01 ~]# ss -nap | grep ':3306' | wc -l
24299
…えっΣ(゚д゚ )
3306って、確かにMaxscaleのポートだけど…
どうも、すべてTIME-WAIT状態でローカルのTCPポート(CentOS7のデフォルトのローカルポート範囲が「61000-32768=28232」)を使い潰していたようだ。通信内容...
MacやUbuntu デスクトップを使っている人であればお馴染みの仮想デスクトップだが、Windows 10でついに公式に機能として組み込まれた。
仮想デスクトップというものがどういったものか知らない人に簡単に説明すると、一つのOSで複数のデスクトップを使うというイメージ。例えばこのデスクトップではChromeとteratermを、このデスクトップではエディタとそれに関連することを調べているブラウザだけを開くといったようにしておくと、「Alt + Tab」でウィンドウを選択するときにはその仮想デスクトップで開いているウィンドウしか選択されないので、複数プログラムを開いて仕事する際に整理しやすいという機能だ。
Windows 10でログイン時に特定のプログラムを起動させたい場合は、以下のPATHにプログラムのショートカットを配置しておく。
メモリの占有率を、プロセス別に見た目にもわかりやすく表示させたいことがあるが、そんなときに使えそうなのがこの「pagemon」だ。
Canonical製のツールらしく、主にUbuntuで利用することが想定されているプログラムなのだが、どのプロセスがどのメモリ空間を専有しているのか、バイナリエディタのようにターミナル上に表示してくれるツールだ。
今回は、実際にUbuntu Server 16.04 LTSにこのツールを導入し、ターミナル上に表示させてみる。
1.インストール
以下のコマンドでapt-getでリポジトリを導入し、pagemonをインストールする。
sudo add...
時折、ターミナルの操作内容を動画やgifファイルにして共有したい時というものがある。
そんなときに使えるのが、今回紹介するターミナルの操作内容をgifにしてくれる「ttystudio」というコマンドだ。
既存のコマンドであればscriptコマンドで記録、scriptreplayコマンドでターミナル上で再生しているのだが、このコマンドであれば最初からgifとして記録してくれるのでブラウザ等から操作内容を見ることができる。
1.インストール
事前に、nodejs、npmが必要になるのでそれらをインストールする。
Debian/Ubuntu系の場合
sudo apt-get in...
Webベースのネットワーク機器管理ツール「rConfig」なるものを見かけたので、試しにインストールして見ることにした。
なお、インストール先はCentOS 7には対応していないため、CentOS 6を用いる。
1.前提パッケージのインストール・設定
まずはrConfigの動作に前提となるパッケージをインストールする。
以下のコマンドを実行する。
yum -y install wget mlocate attr open-vm-tools httpd openssl-devel openssl mod_ssl vsftpd telnet bind-utils vixie-c...
ESXi用のWebクライアントである「ESXi Embedded Host Client」が、無償ライセンスでも利用できるようになったと聞いたので、実際に自宅環境で入れてみることにした。
1.インストール
まず、上記リンクの「Download the VIB here.」からvibファイルをダウンロードし、対象のESXiにscpやvSphere Clientのデータストアブラウザでアップロードする。
アップロード後、sshで接続しvibファイルのインストールを行う。
esxcli software vib install -v /vmfs/volumes/datastor...
今回は、「Untangle」というLinuxベースのファイアウォール用OSをインストールしてみる。
比較的軽量、かつWebコンソール経由での管理・運用ができるのが特徴らしい。こちらにデモもあるので、最初に触ってみると良いだろう。
なお、実際にファイアウォールのポリシー等を設定する場合、Untangle.comへのアカウント登録(無料)が必要になる。
1.インストール
まず、こちらからISOファイルをダウンロードしておく。
その後、ISOファイルをそのまま使うなり、ディスクに焼くなりしてインストールできる状態にしておく。
で、そのままインストール対象のマシンに入れ...
自宅サーバにESXi6をインストールしたところ、「Initializing IOV...」でフリーズしてしまっていた。
これだと困るので、以下の対応を実施した。
- まず、ESXi自体を起動させるため、ブート時に「Shift + O」で起動メニューの末尾に「noIOMMU」を追記する。
- ESXiが起動してきたら、vSphere Clientからsshを有効にする
- 最後に、以下のコマンドを実行して次回以降は起動時に「noIOMMU」が適用されるようにする。
awkで、「-F」などで一度特定の文字で区切ったあと、特定の列だけ更に別の文字で区切りたい時がある。
そういった場合、以下のように「split」で対象の列を区切って値を配列に入れてやれば良い。
Windows 10 Homeも、今までのWindows 7や8と同じくRemote Desktopのホストになる機能はない。
で、7や8の場合だったらConcurrent RDP Patcherを利用すれば機能を追加できたので、Windows 10でも似たようなツールがあるだろうと調べたところ、RDP wrapperというツールが作成されていた。
今回はこれを使って、Windows 10 Homeでリモートデスクトップが利用できるようにする。
RDP wrapperでリモートデスクトップを有効にする
まずは、こちらからRDP wrapperの最新版(latest)をダウン...
Windows 10で動画ファイルやgifなどを使って動く壁紙を作る場合、前に紹介したBioniX Animated Wallpaperを使うか、今回紹介する「DeskScapes」を使う方法がある。
※なお、こちらはFencesを開発したStarDockのソフトなのだけど、有料のソフトなので注意。今回は30day Trialでお試し。
まず、こちらからDeskScapesの「30-day Trial」をダウンロードしてくる。
ダウンロードした「DeskScapes8_cnet_setup.exe」を実行し、インストールを進めていく。
...
家のPCをWindows 10に切り替えたので、Windows 7/8.1などでもやっていた画像ファイルを右クリックした時に出てくるメニューから「デスクトップの背景として設定」を削除する設定を行うことにした。
1.コマンドプロンプトから設定する
コマンドプロンプトからregコマンドを利用して設定する場合、以下のコマンドを実行してやればよい。
reg delete HKEY_CLASSES_ROOT\SystemFileAssociations\.bmp\Shell\setdesktopwallpaper /f
reg delete HKEY_CLASSES_ROOT\Sys...
以前、Proxmox VE 3.1でWindows 7に対して行った処理だが、Proxmox VE 4.1上にWindows 10を入れたので同様の方法でVirtIO Driverを適用していく。
VirtIO Driverは、乱暴な言い方をしてしまえばKVM用のVMware Toolsのようなもので、仮想マシンにインストールすることでパフォーマンスを改善したりすることができるものだ。
まずはISOファイルのダウンロード。
以下からダウンロードしてくる。
ダウンロードしてきたISOファイルを、対象の仮想マシンが読み込めるス...
ここのところ、仕事でJSONをいじる際にjqコマンドで触る事が多くなったので、使ってて便利だと思った使い方についてをまとめてみることにした。
1.読みやすいよう整形する
jqコマンドをただ通すだけで、整形されてないJSONファイルを読みやすいように整形して出力させることができる。
jq . 対象ファイル
[root@BS-PUB-CENT7-02 ~]# cat /tmp/sample0.json
[{"id":"0001","name":"test001","value":112,"group1":{"subg01":[{"id":"1001","type":"type0...
jqコマンドでは、JSONファイルでの集計処理(キーの数を数えたり、合計や平均、最大値や最小値を出したり)をすることが出来る。
なお、今回は以下のようなJSONファイルをサンプルに進めていく。
● sample1.json
[
{
"id": "0001",
"name": "test001",
"value": 112,
"group1": {
"subg01": [
{
"id": "1001",
"type": "type001"
},
{...
以前、仕事中の負荷テスト時の調べ物でCockroachDBなるものを知ったので、試しにCentOS 7に入れてみることにする。
CockroachDBはいわゆるNewSQLと呼ばれるDBで、NoSQLでトランザクションをできるようにしたものだと覚えておけばよいだろう。特にこのCockroachDBは分散KeyValueStoreで、データを分散して保存させることに力を入れているらしい。データベース内の操作はSQLで行えるので、RDBMSからの移行も比較的簡単に行えるだろう。
現時点(2016/05時点)ではまだBeta版のようなので本番導入はちょっとどうかと思うが、面白い代物だと思う...
先日、仕事で負荷テストを行っていた際、RethinkDBなるNoSQL(JSONデータベース)があることを知ったので、試しに入れてみる事にした。
MongoDBに比べるとパフォーマンス面では劣る面があるようだけど、テーブルのjoinをしたりといったRDBMSっぽいこともできるようだ。こちらを見ると、MongoDBが書き込み時(読み込み時もか?)にDBロックを書けることが多いのに対し、ロック無しでトランザクションを実現する事が可能らしい。
(まぁ、今回はあくまでもお試しなので、CentOS 7に入れて少しいじってみるだけなのだが)
1.インストール
まずはインストール。
こちらを...
自宅環境でLinuxで利用できるウィルスチェックを入れたくなったので、Clam AntiVirusを導入した。
今回はサーバとして動作させているCentOS 7に導入させることにした。
1.インストール
まずはインストール。
CentOS 7でClam AntiVirusをインストールする場合、Repoforgeからインストールすると楽なので、まずリポジトリを導入する。
(Epelだったらもっといいのだが、残念ながらデーモンとして動作させるclamdがなかった。)
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm -i...
自宅環境でプロキシサーバを構築する事にした。
構成はOSはCentOS 7、ミドルウェアとしてSquidを利用する典型的なプロキシサーバになる。
1.インストール
まずは、以下のコマンドでSquidをインストールする。
yum install squid
第22回シェル芸勉強会の復習(後半)。
Q5.
ファイルの中から、足して10になる並びを抽出するという問題。
これについては、後から調べてみたけどもawkでゴリ押しするしかなさそうだ。
以下、模範回答から。
ゴールデンウィーク2日目に、第22回シェル芸勉強会に参加してきたので、その復習。
今回は全体的にawk力が要求されるような問題が多かったようだ。
今回の問題・解答例はこちら。
なんか長くなったので、復習した内容を前半と後半で分けて記述する。