検索条件
お知らせ
現在サイトのリニューアル作業中のため、表示が崩れているページが存在することがあります。

GNOMEは重いのでXfceに変更する。
XfceはDebianに昔あった懐かしいUIで劇的に軽くなった。
sudo apt install xubuntu-desktop
sudo apt remove ubuntu-gnome-desktop gnome-shell
sudo apt purge ubuntu-gnome-desktop gnome-shell
sudo apt autoremove
echo "startxfce4" > ~/.xsessionrc

右上のタスクバーにある「JA」をクリックして「mozc」に変更すると「全角/半角」キーが使えるようになり、日本語入力が可能になる。


タスクバーを右クリック→パネル→パネルの設定で固定解除するとハンドルが出るのでドラッグしてもっかい固定するといい。
デフォだとパネル2がドックとしてあるが、邪魔なので消す。
cp [OPTION]... [-T] SOURCE DEST
-R
を指定すると配下のディレクトリも再起コピーしてくれる。経験上小文字は問題が起きているので指定しない方がいい。
# ファイルのコピー
cp /path/to/hoge /path/to/
# フォルダのコピー
cp -R /path/to/hoge /path/to/
# ドットファイルを含まないフォルダ中身のコピー
cp -R /path/to/hoge/* /path/to/
# ドットファイルを含むフォルダ中身のコピー
cp -R /path/to/hoge/. /path/to/
入力
cat <<EOF | sort
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF
出力
01
02
03
1
2
3
a1
a2
a3
aaa
aaa
aaa
bbb
bbb
ccc
zzz
入力
cat <<EOF | sort -r
zzz
aaa
bbb
aaa
aaa
ccc
bbb
1
2
3
01
02
03
a1
a2
a3
EOF
出力
zzz
ccc
bbb
bbb
aaa
aaa
aaa
a3
a2
a1
3
2
1
03
02
01
入力
cat <<EOF | sort -u
aaa
bbb
aaa
aaa
ccc
bbb
EOF
出力
aaa
bbb
ccc
Windowsに入っている古くて使いづらいPowerShellをアップグレードするところから始める。
- Powershell 7.xを入れる
- PowerShellを管理者権限で起動
Set-ExecutionPolicy RemoteSigned
を流す
- hoge.ps1などの名前で適当にファイルを作り、
C:\Program Files\PowerShell\7\pwsh.exe
に関連付けする
Ubuntuでサービスを書く場合これが一番汎用性がある。
細かいことは書いていないので適当に解釈すること。
/etc/init.d
にパーミッション755でサービス名のファイルを作成
sudo touch /etc/init.d/prometheus_node_exporter
sudo chmod 755 /etc/init.d/prometheus_node_exporter
作成したファイルに以下のようなコードを書く
#! /usr/bin/env bash
### BEGIN INIT INFO
# Provides: Prometheus Node exporter
# Required-Start: $remote_fs $network $syslog
# Required-Stop: $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Prometheus exporter for hardware and OS.
# Description: Prometheus exporter for hardware and OS metrics exposed.
### END INIT INFO
# Do NOT "set -e"
# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin
DESC="Prometheus Node exporter - Prometheus exporter for hardware and OS metrics exposed"
NAME=prometheus_node_exporter
PIDFILE=/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
WORKINGDIR=/var/lib/prometheus
DAEMON=/usr/local/bin/node_exporter
DAEMON_ARGS="--path.rootfs=/host --web.listen-address=[::]:9100"
USER=prometheus
# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0
do_start()
{
PRM_ENVS="USER=$USER HOME=$WORKINGDIR"
PRM_EXEC="$DAEMON $DAEMON_ARGS"
sh -c "start-stop-daemon --start --quiet --pidfile $PIDFILE --make-pidfile \\
--background --chdir $WORKINGDIR --chuid $USER \\
--exec /bin/bash -- -c '/usr/bin/env $PRM_ENVS $PRM_EXEC'"
}
do_stop()
{
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME --oknodo
rm -f $PIDFILE
}
do_status()
{
if [ -f $PIDFILE ]; then
if kill -0 $(cat "$PIDFILE"); then
echo "$NAME is running, PID is $(cat $PIDFILE)"
else
echo "$NAME process is dead, but pidfile exists"
fi
else
echo "$NAME is not running"
fi
}
case "$1" in
start)
echo "Starting $DESC" "$NAME"
do_start
;;
stop)
echo "Stopping $DESC" "$NAME"
do_stop
;;
status)
do_status
;;
restart)
echo "Restarting $DESC" "$NAME"
do_stop
do_start
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
exit 2
;;
esac
exit 0
- サービスに登録
sudo update-rc.d prometheus_node_exporter defaults
- 後は条件分岐に書かれているコマンドに沿ってserviceを蹴れば動くようになる。止めたりするときはinit.dに定義したものを使う(init.dそのものは単にコマンド名で分岐処理しているだけ)
sudo service prometheus_node_exporter start
update-rc.d prometheus_node_exporter remove