Virtualboxで作成したCentOS7が起動しない

相当しばらくぶりの投稿です。今日はVirtualboxの話題。


VirtualBox上でCentOS7の仮想マシンを先日作ったのですが、
これを起動しようとしたところ、起動できず。
復旧する羽目になりました。その時の対応メモです。

環境

起動直後


起動直後はこんな感じでした。完全にダメですね。


f:id:think-t:20180904005430j:plain

レスキューモードで起動


ということでレスキューモードで立ち上げます。


f:id:think-t:20180904010633j:plain


f:id:think-t:20180904010648j:plain


f:id:think-t:20180904010926j:plain

復旧


参考リンクのページを参考に「grubx64.efi」をコピーしました。
参考リンクのコマンドをそのまま参考にしながら進めましたが、「/dev/centos_gateway/root」「/dev/sda2」「/dev/sda1」はレスキューモードにしたタイミングで既にマウントされていました。

vgchange -ay
mount /dev/centos_gateway/root /mnt/sysimage
mount /dev/sda2 /mnt/sysimage/boot
mount /dev/sda1 /mnt/sysimage/boot/efi
mount --bind /proc /mnt/sysimage/proc
mount --bind /sys /mnt/sysimage/sys
mount --bind /dev /mnt/sysimage/dev
chroot /mnt/sysimage
cp -p /boot/efi/EFI/centos/grubx64.efi /boot/efi/EFI/BOOT/
exit
umount -R /mnt/sysimage
shutdown -r now


これでローカルからブートしたらもとに戻せました。


f:id:think-t:20180904012050j:plain


今日はこんなところで。

パスワード変更時に「/usr/share/cracklib/pw_dict: error reading header」エラーが出たときの対処メモ

普段作業用に使っているVMのパスワードがなぜか変更できなくなったので、
そのとき調査したことと、復旧で行ったことをメモしておきます。


環境はCentOS6.6の64ビット版です。

起きたこと


passwd コマンドを使って、パスワードを変更しようとしたところ、以下のようなメッセージが出ました。

# passwd
ユーザー root のパスワードを変更。
新しいパスワード:
/usr/share/cracklib/pw_dict: error reading header
PWOpen: 成功です

調べた


参考リンクを元に環境を調べたところ、cracklibの辞書ファイルが0バイトになっていたため、辞書ファイルが壊れてしまったと推測。

# cd /usr/share/cracklib/
# ls -la
合計 264
drwxr-xr-x.  2 root root   4096  7月 21 12:13 2014 .
drwxr-xr-x. 78 root root   4096  5月 31 16:24 2016 ..
-rw-r--r--.  1 root root   1024  6月 25 15:39 2011 cracklib-small.hwm
-rw-r--r--.  1 root root 235109  6月 25 15:39 2011 cracklib-small.pwd
-rw-r--r--.  1 root root  12416  6月 25 15:39 2011 cracklib-small.pwi
-rw-r--r--.  1 root root    360  6月 25 15:39 2011 cracklib.magic
-rw-r--r--.  1 root root      0  1月 27 16:55 2015 pw_dict.hwm
-rw-r--r--.  1 root root      0  1月 27 16:55 2015 pw_dict.pwd
-rw-r--r--.  1 root root      0  1月 27 16:55 2015 pw_dict.pwi

直す


該当するファイルが含まれるRPMパッケージを確認すると「cracklib-dicts」であることが分かったので、これをインストールしなおすことにしました。

# rpm -qf /usr/share/cracklib/pw_dict.hwm 
cracklib-dicts-2.8.16-4.el6.x86_64


パッケージの依存関係に「pam」があったので、強制再インストールにすることにしました。

# rpm -q --whatrequires cracklib-dicts                                                                             
pam-1.1.1-20.el6.x86_64

# yumdownloader cracklib-dicts
# rpm -Uvh --force cracklib-dicts-2.8.16-4.el6.x86_64.rpm 


cracklib-dictsパッケージの再インストールを行った結果、パスワード変更ができるようになりました。

# passwd
ユーザー root のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: 全ての認証トークンが正しく更新できました。


今日はこんなところで。

awscliでWindowsインスタンスのパスワードを取得する

自分用のメモとしてWindowインスタンスのパスワードを取得する方法を。


通常だとマネジメントコンソール上で秘密鍵ファイルからAdministratorユーザーのパスワードを取得しますが、
結構面倒くさいので、コマンドラインからパスワードを取得する方法を試しました。


awscliでコマンドが用意されています。

$ aws ec2 get-password-data --instance-id i-xxxxxxxx
{
    "InstanceId": "i-xxxxxxxx",
    "Timestamp": "2016-08-27T07:58:22.000Z",
    "PasswordData": "\r\nAuEqrqN9xg7SrLgheizv0Y9jGVLzgVj+SxStcNzduNRjiOZzOzkFpqTiJeCQOgsXlhVTaytOqBiK3l05UDcvPXQL51i5wXB/RFy1DJlTQkBPaP4O6n28xBvDCUBS5VXhApNJgrZUUDkNfMXm4ZO1vktJzdXB0zkMe1mOi1zwJC9J5VwcKPD4YqADhH3z7FutNhDyJvjPsxlcUiTbZo0Sv54caeY1GQMhMChP9gj8QeC9+d0aKzuNXCHmbygt0mcv9s1iq+8/a+C+P9aA18h8NkeAGIwMt9RdsojjaRZLtNtJMg0mAJmJ2EfsoSnO8fEiAwjEd4eJ9RqIYHO7YLpXpA==\r\n"


そのままだと暗号化された状態のパスワードが戻ってくるので、復号するには秘密鍵ファイルを指定します。

$ aws ec2 get-password-data --instance-id i-xxxxxxxx --priv-launch-key /home/myuser/.ssh/id_rsa                                                                                       
{
    "InstanceId": "i-xxxxxxxx",
    "Timestamp": "2016-08-27T07:58:22.000Z",
    "PasswordData": "XXXXXXXXXX"
}


これで少し作業が楽になりそうです。
今日はこんなところで。

Windows Server 2012R2でIE Enhanced Security Configurationの設定を変更する

自分メモです。

Windows Server 2012R2では、初期状態で、「IE Enhanced Security Configuration」が有効になっています。
これを無効にする方法のメモ。

サーバーマネージャーから「IE Enhanced Security Configuration」を無効にすることで対応してみます。

サーバーマネージャーを起動


f:id:think-t:20160827151125p:plain


Local Serverを選択後、「IE Enhanced Security Configuration」を選択


f:id:think-t:20160827151145p:plain


Administrator, 一般ユーザのうち、解除が必要なものを選択して実行


f:id:think-t:20160827151217p:plain



今日はこんなところで。

ChefDKバージョンアップ時に"No live threads left. Deadlock? (fatal)"

今回は、普段、作業環境に使っているVMのChefDK環境をバージョンアップしたときの話です。
ちょっとはまったのでメモ。

  • バージョンアップ前:chefdk-0.6.2-1.el6.x86_64
  • バージョンアップ後:chefdk-0.12.0-1.el6.x86_64


バージョンアップ後に、実行してみるとこんなエラーが。(Driverはkitchen-sshをgemでインストールして実行)

# kitchen converge                                                                                                                                                           
-----> Starting Kitchen (v1.6.0)
-----> Converging <*********>...
$$$$$$ Running legacy converge for 'Ssh' Driver
        Preparing files for transfer
        Preparing dna.json
        Resolving cookbook dependencies with Berkshelf 4.3.0...
 /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/command.rb:181:in `join': No live threads left. Deadlock? (fatal)
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/command.rb:181:in `map'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/command.rb:181:in `run_action'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/command/action.rb:39:in `block in call'
         from /opt/chefdk/embedded/lib/ruby/2.1.0/benchmark.rb:279:in `measure'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/command/action.rb:37:in `call'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/cli.rb:56:in `perform'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/cli.rb:180:in `block (2 levels) in <class:CLI>'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/cli.rb:321:in `invoke_task'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/bin/kitchen:13:in `block in <top (required)>'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/lib/kitchen/errors.rb:154:in `with_friendly_errors'
         from /opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/test-kitchen-1.6.0/bin/kitchen:13:in `<top (required)>'
         from /usr/bin/kitchen:15:in `load'
         from /usr/bin/kitchen:15:in `<main>'


調べたところ、~/.chefdk 以下のgemを削除後、再度インストールしてみると良い、とのことでしたので、ディレクトリ内のgemを削除後、
再度、kitchen-sshをインストール。


以降は問題なく実行できました。



今日はこんなところで。