リモートデスクトップを使う上で覚えておきたいショートカットキー(キーバインド)6個

Windowsサーバを構築、運用しているプロジェクトであれば、リモートデスクトップは必ず使う機能だろう。
今回は、そんなリモートデスクトップを便利に使うためのショートカットキーをまとめてみた。

1.『Alt + Tab』相当のキー

リモートデスクトップで『Alt + Tab』相当の処理をする場合は、『Alt + PageUp』を用いる。
逆(『Alt + Tab + Shift』相当)は『Alt + PageDown』で行える。

2.『Ctrl + Alt + Delete』相当のキー

リモートデスクトップで『Ctrl + Alt + Delete』相当の処...


Linuxでデフォルトのログインシェルといえばbash。sshで接続するにしても、bashは必ず使うものだ。
今回は、そんなbashで利用できるショートカットキー(キーバインド)で覚えておくと便利なものをピックアップしてみた。

1.カーソル移動系

カーソルを移動する際に便利なショートカットキー。
こうしてみると、意外と知らなかったショートカットキーがあったりする。

コマンド 機能
Ctrl + a (Homeキー) カーソルを行の先頭に移動する
Ctrl + e (Endキー) カーソルを行の最後に移動する
Ctrl + b (←キー) カ...

バックアップスクリプトや運用スクリプトなど、同時に複数プロセスで実行させたくない事もあるだろう。
そんなときには、このrun-one経由でスクリプトを実行させるようにすればいい。

run-one コマンド

例えば、別々のセッションからrun-one経由でtopコマンドを実行すると、後からコマンドを打った側のセッションではコマンドは実行されない。
exitコード1で返ってくる。

後からコマンドを打った方を強制的に実行したい場合は、「run-this-one」コマンドを実行する。


オープンソースのデータセンター管理ツール『openDCIM』をインストールしてみた

仕事でデータセンターのラック構成図とか書くのだが、これがまたExcelなのである…
この時代、もうちょっと先進的なものが欲しいなぁ、と思ったりするわけで、色々とアンテナを張って見つけたのが、この『openDCIM』だ。
オープンソースのデータセンター管理ツールだとのこと。まさに先ほど書いていた、Excelで書いているラック構成図を無くすために作られたツールらしい。

こちらにデモがある。ID/パスワードは共に『dcim』となっている。
とりえず、ラック構成図の辺りをいじってみた。

【ラック構成図】

ラック構成図を作成し、そのサーバの前面・背面イメージを貼り付ける事で現地で...


ソースからインストールしたApacheで実行したConfigureのオプションを確認する場合、Apacheのインストール先ディレクトリにある以下のファイルから確認出来る。

cat Apacheのインストール先ディレクトリ/build/config.nice
[root@test-apache ~]# cat /opt/httpd01/build/config.nice
#! /bin/sh
#
# Created by configure

"./configure" \
"--prefix=/opt/httpd01" \
"--enable-rewrite=shared" \
"--...

rsyncといえば、ファイルをバックアップする上でよく利用されるコマンドだ。
それにファイルの更新を認識するカーネルの機能であるinotifyを組み合わせ、ファイルが更新されると同時にバックアップを行う事が出来るのが、今回紹介する『lsyncd』だ。

今回は、CentOS 7にこの『lsyncd』をインストール、実際に使ってみる事にする。
なお、バックアップ先のサーバでは事前にrsyncをデーモンで起動できる環境が必要だが、こちらを参考に構築済とする。

1.『lsyncd』のインストール

まずは、『lsyncd』をインストールする。
コンパイルを行う際に必要となるパッ...


rsyncといえば、ファイルやディレクトリの同期を行えるコマンドとして良く利用されている。
よく利用されるのが、sshと組み合わせてネットワーク越しに差分バックアップを取得する、といったもの。じゃあ、他にネットワーク越しでのバックアップ方法が無いのかというと、そんな事は無い。

実は、rsyncはサーバ側でデーモンとしてrsyncdとして起動させることで、sshを用いずにネットワーク経由でのバックアップを行える。
なお、事前にFirewalledおよびSELinuxを適切に設定(無効にしてもよい)しておくこと。

1.rsyncのインストール

まずは、以下のコマンドでrsyncをイ...


ddといえば、ディスク(/dev/sdaとか)のコピーを取得する際によく利用するコマンドだ。
これを、ネットワーク…というよりssh経由で行う場合は、以下のようにコマンドを実行する。

ローカルのディスクをサーバにコピーする場合

dd if=デバイスファイル | gzip -1 - | ssh ユーザ名@ホスト名(IPアドレス) dd of=コピー後のファイル名

リモートのディスクをコピーする場合

リモートのデ...


初心者の頃やインターネット接続が出来ない環境ならば役に立つのかも知れないが、多くの人にとって、基本的にWindowsのヘルプ機能というのは煩わしいものだろう。
デスクトップなどで間違えてF1キーを押下した日には、いちいちWindows ヘルプの画面が表示される。うざったい。ということで、無効化してみることにした。

なお、各アプリケーションごとに用意されているヘルプは、この方法では抑制することは出来ない。
あくまでもデスクトップやエクスプローラーなどで表示されるWindows ヘルプの無効化だ。Excelなどのオフィスも個別にヘルプが用意されているので、これらは個々に設定する必要がある。...


PHPのコンパイル時に、以下のようなエラーが表示される事がある。

./configure: /opt/httpd01/bin/apxs: /replace/with/path/to/perl/interpreter: bad interpreter: No such file or directory

これは、configure実行時に指定したapxsの参照しているperlへのインタプリタpathが間違っている事が原因。
apxsはインストール直後だと以下のようになっている。

#!/replace/with/path/to/perl/interpreter -w
#
# Lice...

CentOS 7でApacheのインスタンスごとに違うバージョンのPHPを利用する

先日、仕事でLAMPサーバで、異なるバージョンのPHPをApacheのインスタンスごとに切り替える必要があった。
複数のバージョンのPHPを使い分ける場合、『phpenv』を利用する方法もあったけれど、さすがにそれはNGだったのでApacheのインスタンスごとに使い分けを行う事にした。

なお、この設定を行うにあたりApacheとPHPはソースからコンパイルする方法でインストールしている。
仕事で利用したものと違うが、今回の検証ではCentOS 7を用いている。

各インスタンスの対応は、httpd01にphp01を、httpd02にphp02を適用する。
今回は、Apacheはバー...


CentOS 7でApacheのインスタンスを複数作成する

今回は、CentOS 7でApacheをソースからインストールし、複数のインスタンスを構成させる。

1.Apacheのインストール

まずは、Apacheのインストールから行う。
以下のコマンドを実行し、コンパイルに必要となるパッケージをインストールする。

yum install wget gcc pcre-devel

次に、Apacheのコンパイルに必要となるAprおよびApr-Utilをコンパイルする。

cd /opt
mkdir apr apr-util
cd apr
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.5...

リモートデスクトップを利用する際、ある程度決まったサーバにログインするならば、パスワードの入力をしなくてもログイン出来るようにしたい。
そんな時はWindowsの資格情報を保存して接続する事で対応出来るのだが、セキュリティ上それを出来ないようにしている環境もある。

そんな時は、以下のようなbatchファイルを作成しておくといいだろう。


Linuxでユーザの追加・削除についてのログを確認する

Linuxのユーザ追加を行ったログは、Debian系/RHEL系で出力先が異なっている。

Debian/Ubuntu系

Debian/Ubuntu系の場合は、「/var/log/auth.log」に出力される。

test@ubuntu-server:~$ sudo useradd test1
test@ubuntu-server:~$ sudo userdel test1
test@ubuntu-server:~$
test@ubuntu-server:~$ grep -e useradd -e userdel /var/log/auth.log
Jun  9 22:43:58...

rsyncコマンドで覚えておきたい使い方10個

Linuxで差分バックアップを行うコマンドといえば、rsyncコマンドだ。 バックアップ元ディレクトリとバックアップ先ディレクトリに差分があればそれを考慮してバックアップを取得するため、利用している人も多いだろう。

今回は、そんなrsyncコマンドで覚えておきたい使い方についてを紹介する。

1.基本的な使い方

rsyncコマンドは、基本的に以下のようにコマンドを実行しバックアップを行う。

rsync [オプション] バックアップ元ディレクトリ バックアップ先ディレクトリ

オプションを指定する場合はディレクトリの指定前に行う。

2.権限、所有者等を 引き継いでバックアップ

...
サーバ大量構築時のキモ ~Windows Server 2008 R2 自動インストールディスクでインストール完了後にスクリプトの自動実行を設定~

以前、Windows Server 2008 R2の自動インストールディスク(ISO)を作成したが、今回はそのディスクでインストール完了後、自動的にスクリプトを実行させて設定を行わせる方法について記述する。
ここでいう設定とは、筐体のシリアルナンバーに応じてホスト名やIPアドレスを自動的に設定させたり、アプリケーションのサイレントインストールを行わせたりする事。

アプリケーションのインストーラーやスクリプト、事前に配布しておきたいファイルについては、ISOファイルのルートディレクトリ配下に以下のようにディレクトリを作成、そこに配置する。

Sources\$OEM$\$$\SETUP\...


削除したファイルをゴミ箱に移動する、GO言語製の削除ツール『gomi』を使ってみた

LinuxやMacのCUI上でファイルを削除してしまったら、バージョン管理等で別の場所に保存でもしていない限り、通常は元に戻す事は出来ない。
もし必要なファイルを間違って削除してしまったら、HDDの復元やバックアップなどからなんとかして復旧させるか、泣き寝入りするしかないだろう。

今回紹介するツール『gomi』は、削除とリストアを簡単、かつ分かりやすく行えるCUIのゴミ箱ツールだ。開発はGOで行われている。
開発者は日本人のb4b4r07さんだ。類似したソフトである「trash-cli」などと違い単一のバイナリで動作するため、Pythonのバージョンなどに気を使わなくても良いの...


シンボリックリンクということは、オリジナルのファイルやフォルダといったものが存在することになる。 そして、シンボリックリンクはファイルやフォルダに対してのみではなく、シンボリックリンクに対しても作成することが出来る。

今回は、このシンボリックリンクとオリジナルファイルの関連を追う方法について紹介する。 なお、サンプル環境は以下のようになっている。

[root@test-centos7 ~]# ls -la $(find /sample* -type l -or -type f)
-rw-r--r--. 1 root root  0  6月  6 17:18 /sample/test.t...

ファイルの削除前に、そのファイルを参照しているシンボリックリンクを確認する

特定のファイルを削除する前に、そのファイルを参照しているシンボリックリンクの有無を確認する場合、findコマンドを利用すると良いだろう。

ls -la $(find -L /シンボリックリンクがあるフォルダのPATH -samefile /オリジナルファイルのPATH)

たとえば、「/work」「/home」配下にある、「/work/test.txt」のシンボリックリンクを確認する場合、以下のようにコマンドを実行する。

ls -la $(find -L /{work,home} -samefile /work/test.txt)

[root@test-centos7 ~]#...

Linuxでextglobを有効にして「指定したパターン以外のファイル」を指定する

仕事などで日常的にLinuxを利用しているのであれば、ほぼ大半の人がglobを利用した事があるだろう。 globという名前にはあまり馴染みが無いかもしれないが、以下のようにワイルドカードや複数のファイル名を指定したりする機能は使ったことがあるはずだ。

例)「/work」フォルダ配下のファイルを「/work2」に移動する

mv /work/* /work2/

例)「/work」フォルダ配下の「aaa.txt」「bbb.txt」のみを削除する

rm /work/{aaa.txt,bbb.txt}

このような指定方法を可能にしているのがglobという機能になる。 そんなglo...


apacheのログをSQLでselectできる『asql』

Apacheのアクセスログやエラーログを解析するとき、基本的にはawkやgrepを組み合わせて整形する事が多いだろう。
今回は、そんなApacheのログファイルをSQLで解析することが出来るツール『asql』を紹介する。

1.インストール

まずはインストールから。
Debian/Ubuntu系の場合はapt-getで、RHEL系の場合はソースからコンパイルしてインストールする。

Debian/Ubuntu系の場合

sudo apt-get install asql

RHEL系の場合

sudo yum install perl-DBD-SQLite perl-Term...

grepとawk、sedを使って設定ファイルの設定値のみを取得する

Linuxで特定の設定ファイルから設定値のみを取得するには、awkかsedをgrepと組み合わせると良いだろう。
たとえば、ダブルクォーテーション(")やシングルクォーテーション(')で囲まれた設定値のみを取得したい場合は、以下のようにコマンドを実行する。

ダブルクォーテーションで囲まれている場合

grep 設定項目名 設定ファイル | sed 's/[^"]*"\([^"]*\)"[^"]*/\1/g'

シングルクォーテーションで囲まれている場合

grep 設定項目名 設定ファイル | sed "s/[^']*'\([^']*\)'[^']*/\1/g"

...

sedでダブルクォーテーション・シングルクォーテーションで囲まれた文字を置換する

設定ファイルやスクリプトのソースなどでは、ダブルクォーテーションやシングルクォーテーションで値が囲まれている事が多い。
クォーテーションで囲まれている値のみを置換する場合は、以下のようにsedを実行すると良いだろう。

ダブルクォーテーションの場合

sed 's/"\([^"]*\)"/"置換後の値"/' 対象のファイルPATH
[root@test-centos7 work]# cat /work/test.txt
testline1="test1"
testline2="test2"

testline3='test3'
testline4='test4'
[root@test...

nmapコマンドで覚えておきたい使い方11個

LinuxやUNIXでよく利用するポートスキャン(ネットワークスキャン)コマンドといえば、nmapコマンドだ。
今回は、そんなnmapコマンドの覚えておきたい使い方について紹介する。

1.基本的な使い方

nmapコマンドは、基本的に以下のように実行する事で、対象ホストのポートスキャンを行う。

nmap 対象ホスト(ホスト名orIPアドレス)

test@test-vm-ubuntu:~$ nmap 192.168.0.208

Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-01 01:35 JST
Nmap scan r...

Linux コンソール上でGoogle カレンダーを管理出来る『gcalcli』

以前から、LinuxのコンソールでWEBサービスを利用する方法について記述してきたが、今回はGoogleカレンダーをコンソール上で管理する方法についてを紹介する。
『gcalcli』という、Python製のプログラムを利用する事で、Google カレンダーをLinuxコンソールで利用する事が出来る。

それでは、早速利用してみよう。

1.インストール

まずは『gcalcli』のインストールから。
以下のようにpipコマンドからインストールするか、ソースからセットアップを行う。

pipでインストールする場合

pip install gcacli

ソースからセットアップす

...
sudoによるリダイレクトでの書き込み

一般ユーザを利用していて、sudoでリダイレクトをして権限の無いファイルに追記をさせたい事があるだろう。
そんな時、以下のように普通にコマンドを実行した場合、権限が無いと言われ書き込みに失敗してしまう。

sudo echo "test line 2" >> /work/test

test@ubuntu-server:~$ sudo echo "test line 2" >> /work/test
-bash: /work/test: 許可がありません