tar 空のアーカイブ作成はご容赦願います

マインクラフトでマルチプレイヤーのForge サーバーをtar コマンドでバックアップしようとすると件のエラーで怒られた。

コマンドは以下。相対ディレクトリでforge/ だけバックアップしようと -C オプションを使ったのが原因らしい。

# tar cfvz minecraft_forge_`date +%Y%m%d-%H%M%S`.tar.gz -C /usr/local/minecraft/forge

ちなみにバグではなくアイテムで空を飛べる「エリトラ」をゲットするコマンドはこちら。

give @p minecraft:elytra

エリトラをチェストプレートの代わりに装備して、ジャンプボタンを連打すると空中滑空できました。

$PATHの初期化

yum で install していると身に覚えのないPATHが登録されていました。そんなPATHを削除するスクリプトを見かけたのでシェアします。
/hoge/hoge2 を削除するとき

export PATH=$(echo -n $PATH |tr ':' '\n' |sed ”/hoge\/hoge2/d” |tr '\n' ':')

参考URL: https://teratail.com/questions/59445

削除したいPATHが多かったり完全に初期化したいとき私の使うコマンドは、unset PATH です。echo $PATH で確認してから残したいPATHを : で仕切ってテキストで保存してから実行します。

# echo $PATH
# unset PATH
# PATH=$PATH/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# export PATH

危険なコマンドなので自己責任でお願いします。

NTP

いつものようにNTPでLinux の時計を同期しようと、

# ntpq -p

しようとすると同期しないので、

ntpdate ntp.nict.jp

すると the NTP socket is in use, exiting とエラー。
ファイアウォールのUDP123ポートを開放。

# vi /etc/sysconfig/iptables
-A INPUT -p udp --dport 123 -j ACCEPT (追加
# service iptables restart

NTPサービスを一時停止して、ntp.nict.jp に手動で時刻を同期します。

# service ntpd stop
# ntpdate ntp.nict.jp
# service ntpd start

再起動。今度は、

# ntpq -p

出来ました。あんまりずれていると手動で同期しないとダメだった。時計の確認。watch でdate コマンドを1秒おきに実行。

# watch -n 1 date

エスケープするには、Ctrl + C か Ctrl + X で。

参考URL:https://superuser.com/questions/639202/updating-time-ntpdate3108-the-ntp-socket-is-in-use-exiting

http://tech.ckme.co.jp/ntp.shtml

RTX810 設定ファイルコマンド

不揮発性メモリ上の設定ファイルの確認

show config list
* 0   2017/01/20 17:21:50    3762 086/086
  0.1 2017/01/20 17:21:17    3452 084/084
  0.2 2017/01/20 17:18:17    3417 085/085

外部メモリ(SDカード)への設定ファイルのバックアップ

copy config 0 sd1:config.txt

外部メモリ(SDカード)から設定ファイルの書き換え

copy config sd1:config.txt 0

任意の設定リストの読み込み

set-default-config 2
restart

設定ファイルの削除

delete config filename

アカウントのロック

Microsoft アカウントのパスワードがロックされていた件。

Linux でアカウントをロック解除するには次のコマンドを使います。

passwd -l | -u login

-l :ロック
-u:解除
login:アカウント名

いずれもroot でログインする必要があります。

話は変わりますが、今週のパーソンオブインタレスト5はアンビリバボーな衝撃の展開でしたね。この結末もシミュレーションだったのでしょうか、信じたくはありませんが・・・。次週も見逃せませんね。

NTFSハードディスク認識

fedora からepelリポジトリをダウンロード、解凍。

# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -ivh epel-release-6-8.noarch.rpm

yumで ntfs-3g をインストールして完了。

# yum --enablerepo=epel install ntfs-3g

参考URL http://easyramble.com/add-repositories-and-set-priorities.html

CentOSでNTFS認識!マウント済HDDを読み書きする方法!

Linuxシェルのコマンド履歴

Linuxシェルのコマンド履歴は bash に

$ history

として保存され [↑]、[↓] キーで参照されます。履歴を検索するには、[Ctrl]+[R] キーを押下してプロンプトが

(reverse-i-search)`': _

となったとき、検索文字列を入力(lsと入力したときの例)すると

(reverse-i-search)`ls': ls -l /home/gusachan/public_html

検索候補が表示されますが、次の候補を再検索するにはさらに、[Ctrl]+[R] を行い、[Enter]キーで確定、コマンドを編集または実行できます。

bash のヒストリー一覧を履歴番号付きで出力するには、

$ history

ヒストリーを削除するには、

$ history -c

特定のコマンド履歴を削除するには、

$ history -d [履歴番号]

配列変数への文字列の代入

今日もLinuxのシェルスクリプト、配列変数のお勉強です。

今回は、findコマンドで取得したディレクトリ名を配列変数へ代入して表示するスクリプトです。

#!/bin/bash
declare -a dir=()
declare -i count
for DIR in $(find . -maxdepth 1 -type d)
do
    dir=("${dir[@]}" `basename ${DIR}`)
    echo "${dir[count]}"
    count=count+1
done

実は以下のように書けば、同じことをするのに配列変数は関係ないのですけれどね。コードの可搬性、拡張性を考えると配列変数を使うこともあるのかな・・・と。

#!/bin/bash
for DIR in $(find . -maxdepth 1 -type d)
do
    echo `basename $DIR`
done

実際の結果は、隠しディレクトリも表示されます。隠しディレクトリを除外したいときには、findコマンドの -not -regex オプションでドットの付くファイルを指定します。

#!/bin/bash
for DIR in $(find . -maxdepth 1 -type d -not -regex ".*\/\..*")
do
    echo `basename $DIR`
done

maxdepth の値を変えるとさらに掘り進められます・・・が、表示結果があまりエレガントではありません。ではforループをネストすれば良いのでしょうが、それもあまり意味がないのかも知れません。

# sh findDir.sh
public_html
samba
test
ダウンロード
テンプレート
デスクトップ
ドキュメント
音楽
画像
公開

参考URL

http://qiita.com/b4b4r07/items/e56a8e3471fb45df2f59
http://d.hatena.ne.jp/yohei-a/20091028/1256707671
ttp://tapira.hatenablog.com/entry/2014/10/02/120550