硬盘管理和维护
osso-docktool的Python项目详细描述
osso docktool提供将磁盘注册到osso仪表板的工具,以便 打印标签并擦除磁盘。
要求:
apt install --no-install-recommends pwgen smartmontools # for smartctl
示例用法(作为根):
osso-docktool sdb
示例设置(作为根):
pip3 install https://downloads.osso.nl/docktool/osso-docktool-latest.tar.gz install -dm0700 /etc/osso-docktool install /usr/local/share/doc/osso-docktool/local_settings.py.template \ /etc/osso-docktool/local_settings.py ${EDITOR:-vi} /etc/osso-docktool/local_settings.py # ^-- fix hostnames, fix tokens # get 1 shared token from: # https://account.example.com/admin/usertoken/token/
自动化示例:
/etc/sudoers(修改,使用visudo):
osso ALL=NOPASSWD: /usr/local/sbin/spawn-root-dbus
/usr/local/sbin/spawn-root-dbus(0700):
#!/bin/sh # Quick hack to wait for Xauth file to arrive.. sleep 10 /bin/mkdir -p /run/user/0 exec /usr/bin/env -i \ DISPLAY=:0 TERM=xterm \ LC_ALL=en_US.UTF-8 \ XAUTHORITY=/run/user/1000/gdm/Xauthority \ /usr/bin/dbus-daemon --session --address="unix:path=/run/user/0/bus"
/usr/local/sbin/inv-connect.sh(0700):
#!/bin/sh logger "Inventory disk $1 inserted" DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus \ DISPLAY=:0 \ LC_ALL=en_US.UTF-8 \ TERM=xterm-256color \ XAUTHORITY=/run/user/1000/gdm/Xauthority \ gnome-terminal -- /usr/local/bin/osso-docktool "$1" || sleep 60
/usr/local/sbin/inv-disconnect.sh(0700):
#!/bin/sh exec logger "Inventory USB disk removed"
/etc/udev/rules.d/10-osso-docktool.rules:
KERNEL=="sd[b-z]", SUBSYSTEM=="block", SUBSYSTEMS=="scsi", ACTION=="add", PROGRAM="/usr/local/sbin/inv-connect.sh %k" SUBSYSTEM=="block", SUBSYSTEMS=="usb", NAME="invdisk", SYMLINK+="invdisk%n", ACTION=="remove",RUN+="/usr/local/sbin/inv-disconnect.sh"
确保存在用户systemd的根dbus守护进程子进程。
.config/systemd/user/spawn-root-dbus.service:
[Unit] Description=Auto-start root-dbus After=graphical.target [Service] ExecStart=/usr/bin/sudo /usr/local/sbin/spawn-root-dbus Restart=always [Install] WantedBy=default.target
启用:
systemd --user daemon-reload systemd --user start spawn-root-dbus.service systemd --user enable spawn-root-dbus.service