ããªã¹ã¯ã¢ãŒãïŒ24/7ïŒã§ã¯ãã ã䜿çšããXãžã®ã«ã¹ã¿ã èªåèµ·åã䜿çšããŸããïŒ https ïŒ
cronã«ãã£ãŠäœæãããããã¯ã¢ãããcron.dailyãã©ã«ããŒã«ïŒGoogleãã©ã€ãã«ïŒèšå®ããŸãã-ã¹ã¯ãªãããäœæããŸããïŒ
#!/bin/sh
G_USER_INPUT=0
/DietPi/dietpi/dietpi-backup 1 > /mnt/rpi/backup.log && tar zcfv /mnt/rpi/backup.tar.gz /mnt/backup/dietpi-backup/ >> /mnt/rpi/backup.log && rclone copy /mnt/rpi/backup.tar.gz dysk: -L >> /mnt/rpi/backup.log && rm -r /mnt/rpi/backup.tar.gz >> /mnt/rpi/backup.log && reboot
ãã®ã¹ã¯ãªããã¯ãcron.dailyããå®è¡ããå ŽåãDietPiã®ããŒãžã§ã³6.9ãŸã§ã¯æ£åžžã«æ©èœããŠããŸããã
ã¹ã¯ãªãããæåã§å®è¡ãããšããŸãæ©èœããŸãã
v.6.10ããã³v.6.11ã«æŽæ°ããåŸãã¹ã¯ãªããã¯cron.dailyããã¯æ©èœããŸããããæåã§éå§ãããšæ£åžžã«æ©èœããŸãã
backup.logã«ã次ã®ãããªæååãå«ãç解ã§ããªãæååããããŸããæšé«ã«ãŒãã¢ã¯ã»ã¹ããã§ãã¯ããŠããŸãã
ãŸããcrontabããéå§ããããã§ã¯ãããŸããã
@eljotx
ãå ±åããããšãããããŸãã
G_USER_INPUT=0
ã¯ãå®éã«ã¯cronã®å®è¡æã«èªåæ€åºããããããå²ãåœãŠãå¿
èŠã¯ãããŸããã ãã ãã圱é¿ãäžãããå Žåã¯ããšã¯ã¹ããŒãããå¿
èŠããããŸãããã¡ãããããã¯è©ŠããŠã¿ã䟡å€ããããŸãã
export G_USER_INPUT=0
é察話åã®å®è¡ã§ã¯ãã¿ãŒã²ãããã©ã€ãã§äžååãªç©ºãé åïŒã«è¿ãïŒãæ€åºãããå Žåãã¹ã¯ãªããã¯çµäºããŸãïŒ //github.com/Fourdee/DietPi/blob/master/dietpi/dietpi-backup#L456
ããããããªãã¯ãæåå®è¡ã¯ããŸããããšèšããŸããïŒ ç©ºã容éãäžè¶³ããŠããå Žåã¯ããã€ããããŒã«ããã³ããã衚瀺ãããç¡èŠãããçµäºããããéžæã§ããŸãã
ãã°ãšã³ããªã«ã€ããŠã¯ãããã€ãã®äžå¯è§£ãªã«ã©ãŒã³ãŒã+ checking for elevation root access
ãäºæ³ãããŸãã è©ŠããŠã¿ãŠãã ããïŒ
cat /mnt/rpi/backup.log
ã«ã©ãŒã³ãŒããã¢ã¯ãã£ãã«ããŠããã°ããã©ãŒãããããŸãã ãŸãããã®åºåãããã«å
¥åããŠãã ãããåé¡ãçºçãã段éã確èªã§ããŸãã
ã¹ã¯ãªãããæåã§å®è¡ãããšããŸãæ©èœããŸãã
å¥åŠãªã
cronãžã§ããå®è¡ããŠããã°çµæã貌ãä»ããŠã¿ãŠãã ãã/mnt/rpi/backup.log
泚æïŒ dietpi-backup
èªåçã«rsyncããã°ãã¡ã€ã«/var/log/dietpi-backup.log
ã«åºåããŸããããã䜿çšã§ããŸãã
ã ãããç§ã¯G_USER_INPUT = 0ãªãã§cronãžã§ããå®è¡ããããšããŸãïŒç§ã¯ãããã¹ã¯ãªããããåé€ããŸããïŒãããŠ...
/mnt/rpi/backup.logããã®ããã¯ã¢ãããã°ãã¡ã€ã«
[90m[[0m[33m......[90m][0m Checking for (elevated) root access[0m
Dietpi-backup.logã空ã§ã
cronãéå§ãããåŸãã¢ã¯ãã£ããªããã»ã¹ã¯è¡šç€ºãããŸããã§ããã
ããã§ãcronã®éå§åŸã«ãã¡ã€ã«å ã®åºåã確èªããããã«ãå¥ã®ã¹ã¯ãªããã®ãã¹ãã«è¿œå ããŸããã
#!/bin/sh
echo 'Cron works!' > /mnt/rpi/cronworks.log
ãããããã®ã¹ã¯ãªããã¯éå§ãããŠããŸãã-/ mnt / rpi /ã«ãã¡ã€ã«ãcronworks.logãã¯ãããŸãã
ã¹ã¯ãªããããã®åºåãã¡ã€ã«ïŒbackup.logïŒãšããã¯ã¢ããïŒæåã®æçš¿ããïŒãããã®ã§å¥åŠã§ããããã®åçŽãªãã®ããã¯ãããŸãã
@eljotx
ããŠãå°ãªããšãcronã®ãšã©ãŒãããããã§ãã cronã¯run-parts /etc/cron.X/script
ãä»ããŠã¹ã¯ãªãããéå§ããããã€ãã®ã«ãŒã«ãããããšã«æ³šæããŠãã ãããããšãã°ãã¹ã¯ãªããã¯rootïŒAFAIKïŒãææããå¿
èŠããããã¹ã¯ãªããã«ãã¡ã€ã«ã®æ«å°Ÿãä»ããªãããã«ããå¿
èŠããããŸãã ã€ãŸãã /etc/cron.daily/script.sh
ã¯ã¹ãããããã代ããã«ååã/etc/cron.daily/script
ã«ããå¿
èŠããããŸãã
ãŸããããã¯å¿
èŠã§ã¯ãªãã¯ãã§ãããDietPiã¹ã¯ãªããã§äœ¿çšãããšã#!/bin/bash
ãã·ãã³ãšããŠ#!/bin/bash
ããããŸããããã§ã€ã«ã»ãŒãã«ããããã«ãcronã¹ã¯ãªããå
ã§ã䜿çšããŠã¿ãŠãã ããã
ã¹ã¯ãªããã®ååã¯åžžã«ãbackupãïŒãshãªãïŒã§ãããã¹ã¯ãªããã§ããïŒïŒ/ bin / shãããïŒïŒ/ bin / bashãã«å€æŽããŸããããã®ã¹ã¯ãªããã¯ãrootãææããŠããŸãã ååã®æçš¿ã®ããã¹ããã¹ã¯ãªãããæ©èœããããã«ãªããŸããã
ç§ã¯ãã¹ãŠãè©ŠããŸããããããã§ãæ©èœããŸããã 1ã€ã®ãžã§ããçµäºããåŸãã¹ã¯ãªããããã°ãã¡ã€ã«ã«åºåããããã«å€æŽãããšãã¹ã¯ãªãããéå§ãããŸãããtarãrcloneãªã©ã®æ¬¡ã®ãžã§ãã«ç§»åã§ããªããããããã¯ã¢ãããéå§ãŸãã¯çµäºããŸããïŒdietpi-backup.logã空ã§ãïŒããŸããcronãå®è¡ããåŸãããã»ã¹/ usr / sbin / cron -fãæ©èœãã-bashãæ©èœããŠããããšã確èªããŸãããããã¯æ£åžžã§ããïŒ
ã¹ã¯ãªãããæåã§å®è¡ããŠãåŒãç¶ãæ©èœããŸãããããã¯ã¢ãããçµäºãããã[OK]ãã¯ãªãã¯ããŠ[ãã£ã³ã»ã«]ïŒãã€ããããŒã«ç»é¢ïŒãã¯ãªãã¯ããå¿ èŠããããŸãããã®åŸã次ã®ãžã§ããéå§ãããŸãã
åé¡ã¯ãcronã«ãã£ãŠéå§ãããèªåããã¯ã¢ããã«dietpi-backupã䜿çšããããšã«ãããšæããŸãã 6.9ããŒãžã§ã³ã§ã¯åäœããŸããããdietpi-backupãæžãçŽããåŸã¯åäœããŸããã§ããã
@eljotx
ç¹°ãè¿ãã«ãªããŸããã念ã®ããã«èšã£ãŠãããŸãã
/DietPi/dietpi/dietpi-backup 1
ã¯æ£åžžã«å®è¡ãããŸããïŒG_USER_INPUTS=0 /DietPi/dietpi/dietpi-backup 1
ãå®è¡ãããšããšã©ãŒãçºçããã«æ©èœãã次ã®ããã«è¡šç€ºãããŸããroot@VM-Jessie:~# G_USER_INPUTS=0 /DietPi/dietpi/dietpi-backup 1
[ OK ] Root access verified.
[ OK ] DietPi-Drive_Manager | RootFS R/W access verified.
[ OK ] DietPi-Backup | Checking for pre-req APT packages: rsync
[ INFO ] DietPi-Backup | Flagged for installation: rsync
[ OK ] DietPi-Backup | APT installation for: rsync, please wait...
Selecting previously unselected package rsync.
(Reading database ... 36227 files and directories currently installed.)
Preparing to unpack .../rsync_3.1.1-3+deb8u1_amd64.deb ...
Unpacking rsync (3.1.1-3+deb8u1) ...
Processing triggers for systemd (215-17+deb8u7) ...
Setting up rsync (3.1.1-3+deb8u1) ...
Processing triggers for systemd (215-17+deb8u7) ...
[ OK ] DietPi-Backup | G_AGI: rsync
DietPi-Backup
âââââââââââââââââââââââââââââââââââââââââââââââââââââ
Mode: Backup
[ OK ] DietPi-Backup | DietPi-Userdata validation: /mnt/dietpi_userdata
[ SUB1 ] DietPi-Services > stop
[ OK ] DietPi-Services | occ maintenance:mode --on
[ OK ] DietPi-Services | stop : cron
[ OK ] DietPi-Services | stop : sonarr
[ OK ] DietPi-Services | stop : lighttpd
[ OK ] DietPi-Services | stop : php5-fpm
[ OK ] DietPi-Services | stop : mysql
[ SUB1 ] DietPi-Services > stop
[ OK ] DietPi-Services | stop : cron
[ OK ] DietPi-Services | stop : sonarr
[ OK ] DietPi-Services | stop : lighttpd
[ OK ] DietPi-Services | stop : php5-fpm
[ OK ] DietPi-Services | stop : mysql
[ INFO ] DietPi-Backup | Backing up to: /mnt/dietpi-backup
[ OK ] DietPi-Backup | Free space check: path=/mnt/dietpi-backup/data | available=5695 MB | required=1861 MB
[ OK ] DietPi-Backup | rsync -aH --delete --delete-excluded --exclude-from=/tmp/.dietpi-backup_filter_inc_exc -v --log-file=/var/log/dietpi-backup.log / /mnt/dietpi-backup/data/
[ INFO ] DietPi-Backup | Backup Completed:
Backup was saved to:
- /mnt/dietpi-backup
- Log file: /var/log/dietpi-backup.log
[ SUB1 ] DietPi-Services > start
[ OK ] DietPi-Services | start : mysql
[ OK ] DietPi-Services | start : php5-fpm
[ OK ] DietPi-Services | start : lighttpd
[ OK ] DietPi-Services | start : sonarr
[ OK ] DietPi-Services | start : cron
[ SUB2 ] DietPi-Process_tool > Apply
[ OK ] DietPi-Process_tool | Completed
[ OK ] DietPi-Services | occ maintenance:mode --off
/DietPi/dietpi/dietpi-backup 1 > /mnt/rpi/backup.log && tar zcfv /mnt/rpi/backup.tar.gz /mnt/backup/dietpi-backup/ >> /mnt/rpi/backup.log && rclone copy /mnt/rpi/backup.tar.gz dysk: -L >> /mnt/rpi/backup.log && rm -r /mnt/rpi/backup.tar.gz >> /mnt/rpi/backup.log && reboot
ãã¹ãŠãå®è¡ããã /mnt/rpi/backup.log
çµäºããããšã瀺ããŠãåæ§ã«æ©èœããŸããïŒ
run-parts --test /etc/cron.daily
ã¯ãã¹ã¯ãªãããäžèŠ§è¡šç€ºããŸãïŒæ¯æ¥ã®å Žåããã以å€ã®å Žåã¯èª¿æŽããŸãïŒ/usr/sbin/cron -f
#!/bin/bash
åå ã§bashç°å¢ãéå§ããããã /usr/sbin/cron -f
+ -bash
ã¯yesãšäºæ³ãããŸããäžèšã®ãã¹ãŠãåœãŠã¯ãŸãå Žåã¯ãæåã§run-partsãèµ·åããŠãæåŸ ã©ããã«å®è¡ããããã©ããã確èªã§ããŸããïŒ
~/testdir/backup
run-parts ~/testdir
ç§ã¯ããªãã瀺ãããã«ããããŠããªãã®ãã¹ãŠã®è³ªåã«ã€ããŠãã¹ãããŸããïŒã¯ããç§ããããæåã§éå§ãããšãã«ãã¹ãŠãæ©èœããŠããŸãã
run-partsã³ãã³ãã§ãã¹ãããŸããããæåã§å®è¡ãããšãŸã æ©èœããŠããŸãã
ç§ã®ã¹ã¯ãªããã¯äœ¿çšåŸã«ãªã¹ããããŸãrun-parts --test /etc/cron.daily
G_USER_INPUTS = 0ãè¿œå ããŠã¹ã¯ãªãããæåã§éå§ããå Žåããã°ãªã©ã®æ å ±ãå«ãç»é¢ïŒãã€ããããŒã«ïŒã衚瀺ããå¿ èŠããããŸããïŒ ãã€ãèŠãŠããããã
@eljotx
G_USER_INPUTS=0
ã¯ããã€ããããŒã«ã¡ãã¥ãŒã®è¡šç€ºãç¡å¹ã«ããã ãã§ãã æ
å ±ã¯ç«¯æ«ã¡ãã»ãŒãžãšããŠè¡šç€ºããã質åã¯ããããããšããŠåçãããŸãïŒç©ºãé åã®ãã§ãã¯ãäžååãªå Žåã¯ãã£ã³ã»ã«ãããã°ãã¥ãŒã¯è¡šç€ºãããŸããïŒã
ã¹ã¯ãªããã«å¯ŸããŠåŒ·å¶çã«å®è¡ããã«ã¯ãã¹ã¯ãªãããå®è¡ããåã«ãšã¯ã¹ããŒãããå¿ èŠããããŸãã
#!/bin/bash
export G_USER_INPUTS=0
/DietPi/dietpi/dietpi-backup 1
ãŸãã¯ç°¡åã«çŽæ¥è²ããŸãïŒ G_USER_INPUTS=0 /DietPi/dietpi/dietpi-backup 1
ç§ã¯ã¡ããã©ããªãã䜿çšããããšãèªãG_USER_INPUT=0
ããšãªããäžèšã®S
ãããã¯ããå¿
èŠãããã G_USER_INPUTS=0
ãšS
ã
ãã ããå€æ°ããšã¯ã¹ããŒããããªãå Žåãã¹ã¯ãªããã¯ãŠãŒã¶ãŒå
¥åãå¯èœãã©ãããå€æããŸãã cronãsystemdãŠãããã®å®è¡ãªã©ã§ã¯ããã¹ãŠã®DietPiã¹ã¯ãªãããèªåçã«G_USER_INPUTS=0
決å®ããŠå²ãåœãŠãå¿
èŠããããŸãã
cronãžã§ãïŒãŸãã¯ãã¹ããžã§ãïŒã®éå§ã«è¿œå ããããšã§ããã®æ¹æ³ãæ©èœããããšã確èªã§ããŸãã
[[ -t 0 ]] && echo 'This environments allows user inputs' > /mnt/rpi/inputs.log || echo 'This environment does not allow user inputs' > /mnt/rpi/inputs.log
ã¹ã¯ãªãããæåã§å®è¡ããå ŽåããŠãŒã¶ãŒå
¥åãèš±å¯ãããŠããïŒãã€ããããŒã«ã¡ãã¥ãŒã衚瀺ãããïŒããšã瀺ãå¿
èŠããããŸããcronçµç±ã§èµ·åããå Žåã¯èš±å¯ãããŸããããŸãããã€ããããŒã«ã¡ãã¥ãŒã«ãã£ãŠã¹ã¯ãªããããã³ã°ããããšã¯ãããŸããã
æåã«G_USER_INPUTS=0
ããã¹ãããã¹ã¯ãªãããæåã§éå§ããå Žåã¯ã次ã®ãã°ãèšé²ããŸãã
This environments allows user inputs
ãã以å€ã®å Žåãcronã§éå§ããå ŽåïŒ
This environment does not allow user inputs
次ã«ãã¹ã¯ãªããã次ã®ããã«å€æŽããããšããŸãã
#!/bin/bash
export G_USER_INPUTS=0
date > /mnt/rpi/backup.log && /DietPi/dietpi/dietpi-backup 1 && (echo "Backup: DONE. " >> /mnt/rpi/backup.log && tar zcfv /mnt/rpi/backup.tar.gz /mnt/backup/dietpi-backup/ && echo "Tar backup: DONE. " >> /mnt/rpi/backup.log && rclone copy /mnt/rpi/backup.tar.gz dysk: && echo "Copy to GDrive: DONE. " >> /mnt/rpi/backup.log && rm -r /mnt/rpi/backup.tar.gz && echo "Remove tar: DONE." >> /mnt/rpi/backup.log && reboot) || echo "Backup failed!" >> /mnt/rpi/backup.log
ãããŠdietpi-backup.logã¯ãŸã 空ã§ãããbackup.logïŒ
cronãèµ·åãããã®ã¹ã¯ãªãããèªåçã«èµ·åãããšãïŒ
pon, 9 lip 2018, 18:54:01 CEST
Backup failed!
ã¹ã¯ãªãããæåã§éå§ãããšãïŒ
pon, 9 lip 2018, 18:58:40 CEST
Backup: DONE.
Tar backup: DONE.
Copy to GDrive: DONE.
Remove tar: DONE.
ããã¯éåžžã«è¿·æã§ã...次ã«ãç§ã®ã¹ã¯ãªããã«ã¯æ¬¡ã®ãã®ãããããŸããïŒ
#!/bin/bash
export G_USER_INPUTS=0
/DietPi/dietpi/dietpi-backup 1
ãã®ã¹ã¯ãªãããcronã«ãã£ãŠéå§ãããå ŽåããŸã æ©èœããŸããã
åé¡ã¯ãŸã dietpiã«ãããŸã-v6.10ããcronã«ãã£ãŠéå§ãããããã¯ã¢ããã ããã¯ãdietpi-backupã¹ã¯ãªããã®v6.10ã§è¡ã£ãå€æŽã®åé¡ã ãšæããŸãã
Dietpi-backup.logã¯ãŸã 空ã§ã
@eljotx
ãã¹ãã«ãååããã ãããããšãããããŸãã
ç§ã¯ç§ãã¡ã®å€æŽãééããŸãã ä»ã®ãšããæãããã¯ãããŸããã å°ãªããšããã¹ãã«ãããšãã¹ã¯ãªããã¯å®éã«ã¯ãã³ã°ããŠããŸãããïŒwhiptail / G_USER_INPUTSã¯åé¡ã§ã¯ãããŸããïŒã倱æããŠããŸãã
ããã€ãã®ç¬èªã®ãã¹ããè¡ããŸããïŒ
[......] Checking for (elevated) root access
rootãŠãŒã¶ãŒãã§ãã¯ã«ã³ã¡ã³ãããåŸã dietpi-backup
ãcronãä»ããŠå®è¡ãããšã次ã®ããã«ãªããŸãã
[FAILED] RootFS is currently Read Only, unable to continue.
ã ãïŒ
root@VM-Jessie:~# G_CHECK_ROOTFS_RW
[ OK ] Root access verified.
[ OK ] DietPi-Drive_Manager | RootFS R/W access verified.
@eljotx
tput
ãåé¡ã§ãïŒ
tput: No value for $TERM and no -T specified
ä¿®æ£ïŒ https ïŒ
ãã®ãããã¯ãå¥ã®åé¡ãä¿®æ£ããŸããcronã«ãã£ãŠæ¯æ¥ãŸãã¯æ¯æå®è¡ããããrun_ntpd1ãã¯æå»ãåæããŸããïŒ/ var / lib / systemd / clockã®ã¿ã€ã ã¹ã¿ã³ãã¯å€æŽãããŸããïŒã
@kmakisara
ãããããªãã¯æ£ãããããã¯çã«ããªã£ãŠããã
ä¿®æ£ãé©çšããããã®æåã®ã¹ã¯ãªããç·šéãé¿ããããã«ãåãåé¡ã®ãã¹ãŠãè¡ãå¿
èŠããããŸãïŒ wget https://raw.githubusercontent.com/Fourdee/DietPi/82ac7b32d32dca9db4fdb824c7ead80174844090/dietpi/func/dietpi-globals -O /DietPi/dietpi/func/dietpi-globals
ç§ãã¡ã®æªè§£æ±ºã®åé¡ã®ããã€ãã¯ããã«é¢é£ããŠãããšæããŸãã cron.hourlyå
ã®run_ntpd
ã倱æããå Žåã dietpi-logclear
ã¯åŸã§åŒã³åºãããã/ var / logããã£ã±ãã«ãªããŸãïŒ https ïŒ
以åã«cronãžã§ãå
ã§tput
ã䜿çšããããããªããã®åé¡ãv6.10 +ã§æåã«çºçããã®ãçåã«æã£ãŠããŸãã
ãã¶ã誰ããåé¡ãåŒãèµ·ãããå€åãèŠã€ããããšãã§ããã®ã§ãç§ãã¡ã¯å°æ¥ãã®ãããªããè¯ãäžè©±ãããæ¹æ³ãç¥ã£ãŠããŸãïŒ
tput cuu
ãštput cols
ã¯ã©ã¡ãã®å ŽåãåŒã³åºãããåŠçã¢ãã¡ãŒã·ã§ã³ãã¯ãªã¢ãããšãä»ã®ãã¹ãŠã®DietPiéç¥ã§tput ed
ãåŒã³åºãããŸããããã«é¢ãããããªããã¹ãïŒ
root@VM-Stretch:/tmp# cat /etc/cron.minutely/test
#!/bin/bash
echo "$TERM" &> /tmp/cron.test
tput ed &>> /tmp/cron.test
echo 'finish' &>> /tmp/cron.test
root@VM-Stretch:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
$TERM
ã¯dumb
èšå®ãããŠããŸãtput
ã¯ãå€æ°ã®å€ãç¡å¹ã§ãããšããŠããå€ããªããšäž»åŒµããŠããŸããroot@VM-Stretch:/tmp# TERM='dumb' tput cols
237
root@VM-Stretch:/tmp# export TERM='dumb' tput cols
root@VM-Stretch:/tmp# export TERM='dumb' tput cols && echo continue
continue
ç¡å¹ãª$ TERMã¯ãšã©ãŒãåŒãèµ·ãããªãããïŒtputåºåããªãã ãã§ãïŒãcron tputãšã©ãŒã¯-T
æ¬ èœã«é¢é£ããŠããããã§ã [[ -t 0 ]]
ã¯falseã«ãªããŸãã ãã¶ããããã以åã¯éã£ãæ¯ãèããããŸããã 2018-02-15ã®æåŸã®ncurses-bin
APTã¢ããããŒãïŒ http ïŒ//ftp.de.debian.org/debian/pool/main/n/ncurses/
éã€ã³ã¿ã©ã¯ãã£ã/ç¡å¹ãªç«¯æ«ã§ãã§ã«åé¡ãçºçããŠããããã空ã®$ TERMãŸã㯠' unknown
'ãèŠã€ãã£ãå Žåã¯ãdietpi- *ã¹ã¯ãªãããçµäºããŸãïŒ //github.com/Fourdee/DietPi/blob/ãã¹ã/ dietpi / func / dietpi-globalsïŒL30 -L35
tput
åŒã³åºãããã«æ³šæããå¿
èŠããããŸããv6.9ã§ã®ãã¹ãïŒ
root<strong i="6">@DietPi</strong>:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
finish
APTã¢ããããŒãã«ã¯cronãncursesã¯å«ãŸããŠããŸããïŒãã¹ããããç¡é¢ä¿ã®ããã±ãŒãžã«ãã£ãŠåæžãããŸãïŒïŒ
apt-get dist-upgrade
ãå®è¡ããŠåèµ·åããåŸã§ããcronã¯tputãšã©ãŒã®åŸã§å®è¡ãåæ¢ããŸãããroot<strong i="15">@DietPi</strong>:/tmp# cat /etc/cron.minutely/test
#!/bin/bash
echo "$TERM" &> /tmp/cron.test
[[ -t 0 ]] && echo 'interactive' &>> /tmp/cron.test
tput ed &>> /tmp/cron.test
echo 'finish' &>> /tmp/cron.test
root<strong i="16">@DietPi</strong>:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
finish
dietpi-update
ããv6.11ãã¹ã¿ãŒãžïŒéåžžã«å¥åŠã§ãããããã§ãåé¡ã¯ãããŸãã...root<strong i="22">@DietPi</strong>:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
finish
root<strong i="27">@DietPi</strong>:/tmp# cat /etc/cron.minutely/test
#!/bin/bash
echo "$TERM" &> /tmp/cron.test
[[ -t 0 ]] && echo 'interactive' &>> /tmp/cron.test
tput ed &>> /tmp/cron.test
/DietPi/dietpi/dietpi-backup 1 &>> /tmp/cron.test
echo 'finish' &>> /tmp/cron.test
root<strong i="28">@DietPi</strong>:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
[......] Checking for (elevated) root accesstput: No value for $TERM and no -T specified
/DietPi/dietpi/func/dietpi-globals: line 266: ( 38 + 6 ) / : syntax error: operand expected (error token is "/ ")
finish
dietpi-globals
v6.9ã§ãã¹ãïŒroot<strong i="34">@DietPi</strong>:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
Checking for (elevated) root accesstput: No value for $TERM and no -T specified
/DietPi/dietpi/func/dietpi-globals: line 308: ((: lines=(38+6)/ : syntax error: operand expected (error token is "/ ")
tput: No value for $TERM and no -T specified
[ OK ] Root access verified.
DietPi-Run_ntpd | systemctl restart systemd-timesyncdtput: No value for $TERM and no -T specified
/DietPi/dietpi/func/dietpi-globals: line 308: ((: lines=(38+6)/ : syntax error: operand expected (error token is "/ ")
[.. ] tput: No value for $TERM and no -T specified
[ OK ] DietPi-Run_ntpd | systemctl restart systemd-timesyncd
[ INFO ] DietPi-Run_ntpd | NTPD: Waiting for completion of systemd-timesyncd (1/60)
[ OK ] DietPi-Run_ntpd | NTPD: systemd-timesyncd synced
[ OK ] NTPD: time sync | Completed
finish
-ããŠãããã¯ã°ããŒãã«ã®å€æŽã«é¢é£ããŠããŸããã tput
ã倱æããã®ã«ããªãã¹ã¯ãªãããä»ããçµäºããv6.9ã§çµäºããªãã£ãã®ã§ããïŒ
èå¥ãããé¢é£ããå€æŽïŒ https ïŒ
local lines=$(( (${#input_string}+6)/$(tput cols) ))
ã¯ã¹ã¯ãªããå
šäœã®çµäºã«ã€ãªãããŸãããïŒåã®ïŒ
local lines
(( lines=(${#input_string}+6)/$(tput cols) ))
ãšã©ãŒã衚瀺ãããŸããããã¹ã¯ãªãããç¶è¡ã§ããŸããïŒäžèšãåç §ïŒã
ä¿®æ£https://github.com/Fourdee/DietPi/commit/82ac7b32d32dca9db4fdb824c7ead80174844090ã¯æ©èœãã tput
ãé察話åã·ã§ã«å
ã§å®å
šã«ã¹ãããããããããæãã¯ãªãŒã³ãªãœãªã¥ãŒã·ã§ã³ã§ããããŸãã ãã ãããã§ã€ã«ã»ãŒãã«ããã«ã¯ãåã®ã¡ãœããã«æ»ã£ãŠæåã«å€æ°ã宣èšããåŸã§ç®è¡ç°å¢å
ã§å€ãå²ãåœãŠãå¿
èŠããããŸããã³ãããå®äºhttps://github.com/Fourdee/DietPi/commit/0f18aa4dc0af8ab910a0173dce8849d5b53c30b0
@eljotx @kmakisara
æ°ããåé¡ãéããå
¥æãã¯ãªãŒã³ã¢ããããã«ã¯ãããã«èšèŒãããŠããä¿®æ£ãé©çšããŠããã¹ãŠã®åé¡ã解決ããå Žåã¯å ±åããŠãã ããïŒ //github.com/Fourdee/DietPi/issues/1923
ç§ã¯ãã®åé¡ãéããŠãæ°ããåé¡ãæ¯æããŸãã
v6.13ã«SSHã§æ£åžžã«æ¥ç¶ã§ããŸããããããã«ãã³ã°ããŸãã
ãtputcolsãã³ãã³ãã¯tputïŒunknown terminal "rxvt-256color"ãåºåããŠããŸããããã®çµæãdietpi-loginã®328è¡ç®ã«å€ã空ã«ãªããæåã®èµ·åæã«ããŒã¿ããŒã¹ãæ£åžžã«èªã¿åã£ãåŸãæ°žä¹ ã«ãã³ã°ããŸããã
éãããã¯ã§ããTERM = xtermããšã¯ã¹ããŒããããšããã°ã€ã³ã¹ã¯ãªãããä¿®æ£ãããããã§ãã€ã³ã¹ããŒã«ãéå§ã§ããããã«ãªããŸããã
ãããééã£ãã»ã¯ã·ã§ã³ã§ããå Žåã¯ããã°ãããåŸ ã¡ãã ãããgithubã®åé¡ã®äœ¿çšæ¹æ³ãããããããŸããã äœæéããšã©ãŒãã°ãŒã°ã«ã§èª¿ã¹ãåŸããã®ã¹ã¬ãããèŠã€ããŸããã移åãããšã誰ããåãåé¡ãæ±ããŠããå Žåã«åããŠãrxvt-256colorãšã©ãŒã«ã€ããŠæ®ããæ®ãå¯èœæ§ããããŸãã
å®ãããé¡ãããŸãïŒ
@wuhei
ããã«ã¡ã¯ã
ã¬ããŒããšãœãªã¥ãŒã·ã§ã³ãããããšãð
ã©ã®SSHã¯ã©ã€ã¢ã³ããå®è¡ããŠããŸããïŒ
@Fourdee
ç§ã¯ããã«ã€ããŠå¥ã®åé¡ãéããŠããŸããã åé¡ãç¹å®ããŸããïŒ https ïŒ
@wuhei
SSHã«ãã°ã€ã³ããåŸãè©ŠããŠã¿ãŠãã ããïŒ export TERM='xterm-256color'
â¬ïŒãããããã¯åºæ¬çã«ããªãããã§ã«èŠã€ãããã®ã§ãðã
ãããæ©èœããå Žåã¯ã次ã®ãããªã¹ã¯ãªããã/etc/profile.d/
è¿œå ã§ããŸãã
[[ $SSH_TTY ]] && [[ $TERM =~ 256 ]] && export TERM='xterm-256color'
xterm-256color
ã«èª¿æŽããŸããå¥ã®æ¹æ³ã¯ãããå€ãã®ç«¯æ«å®çŸ©ãå«ãããã±ãŒãžãã€ã³ã¹ããŒã«ããããšã§ãïŒ G_AGI ncurses-term
@Fourdee OpenSSH_7.7p1ãArchLinuxäžã®OpenSSL1.1.0h
@MichaIngããŸããŸæäŒã£ãŠããããŠããã£ãïŒ
ç§ã¯æªãã·ã¹ãã 管çè ã§ãããTom Ryderã«ãããã®èšäºã«åŸã
çµå±ãç§ã«ãšã£ãŠåé¡ã解決ããã®ã¯
scpãã€ã³ã¹ããŒã«ãããŠããªãããïŒããããdropbearãµãŒããŒãšäžç·ã«ã€ã³ã¹ããŒã«ããããšãæ€èšããŸããïŒïŒãterminfoãã¡ã€ã«ãpiã«scpã§ããŸããã§ããããã®ãããææããŠãããµãŒããŒã«ã¢ããããŒãããŠãpiããååŸããŸããã
æäŒã£ãŠãããŠããããã§ããå¿æŽããŠãæ··ä¹±ããŠããäžåºŠç³ãèš³ãããŸãã-é 匵ã£ãŠãã ããïŒ
@wuhei
ãã¡ããã$ TERMã/root/.bashrc
å
ã«èšå®ããããšãã§ããŸããããã/etc/profile[.d/]ã«è¿œå ãããšããã¹ãŠã®ãŠãŒã¶ãŒãã·ã¹ãã å
šäœã§è§£æ±ºã§ããŸããããã¯ãDietPiã§äœ¿çšãããœãªã¥ãŒã·ã§ã³ã§ãã
ããªãããªã³ã¯ããèšäºã¯ãšãŠãçŽ æŽãããããã¹ãŠãšå¯èœæ§ãéåžžã«ãã説æããŠããŸãðã ãããã£ãŠãåºæ¬çã«å¿
èŠãªç«¯æ«ã¿ã€ããæåã§ã€ã³ã¹ããŒã«ããŸããã ãã®èšäºã§ã¯ãããŸããŸãªç«¯æ«å®çŸ©ãã€ã³ã¹ããŒã«ããããã®ãªãã·ã§ã³ãšããŠã ncurses-term
ããã±ãŒãžã«ã€ããŠãèšåããŠããŸãã ããããDietPiãã¹ãªã ã«ä¿ã€ããã«ãç§ã¯ãã®ãããªãŸããªã±ãŒã¹ã®ããã«ãã®ããã±ãŒãžããã¬ã€ã³ã¹ããŒã«ããããšã«ããŸãç±å¿ã§ã¯ãããŸããã 代ããã«ãbashrc / profileãœãªã¥ãŒã·ã§ã³ã䜿çšããããšããå§ãããŸãã SSHãã°ã€ã³ã«ä¿®æ£ãé©çšããåã«ã端æ«ã®ãµããŒãã確èªããããšãã§ããŸãã
PuTTYã¯ã©ã€ã¢ã³ãã§ãã¹ãããå ŽåïŒPuTTY> Connection
> Data
> Terminal-type string
SCPã®ã€ã³ã¹ããŒã«ã«ã€ããŠïŒãã¡ã€ã«ã転éããããã«ãFTPãSFTPããŸãã¯ãããã¯ãŒã¯ãã©ã€ãNFSãSMBãªã©ãä»ã«ãããã€ãã®ãã¡ã€ã«è»¢éãããã³ã«ããããŸãã ãã¬ã€ã³ã¹ããŒã«ã¯ããŸããããã¯ã©ã€ã¢ã³ããããµãŒããŒã«ãã¡ã€ã«ãååŸããæ¹æ³ã¯ãŠãŒã¶ãŒã«ä»»ããŸãã ãã¡ãããUSBã¹ãã£ãã¯ãå€ä»ããã©ã€ããå¯èœã§ããå Žåã«ãã£ãŠã¯ãSSH端æ«ã«ã³ããŒããŠè²Œãä»ããããšãã§ããŸãã ãããããšã«ããäžè¬çãªè§£æ±ºçãšããŠãç§ã¯äžèšã®2ã€ã®æ¹æ³ã®ããããã䜿çšããŸãã
æãåèã«ãªãã³ã¡ã³ã
@Fourdee OpenSSH_7.7p1ãArchLinuxäžã®OpenSSL1.1.0h
@MichaIngããŸããŸæäŒã£ãŠããããŠããã£ãïŒ
ç§ã¯æªãã·ã¹ãã 管çè ã§ãããTom Ryderã«ãããã®èšäºã«åŸã
çµå±ãç§ã«ãšã£ãŠåé¡ã解決ããã®ã¯
scpãã€ã³ã¹ããŒã«ãããŠããªãããïŒããããdropbearãµãŒããŒãšäžç·ã«ã€ã³ã¹ããŒã«ããããšãæ€èšããŸããïŒïŒãterminfoãã¡ã€ã«ãpiã«scpã§ããŸããã§ããããã®ãããææããŠãããµãŒããŒã«ã¢ããããŒãããŠãpiããååŸããŸããã
æäŒã£ãŠãããŠããããã§ããå¿æŽããŠãæ··ä¹±ããŠããäžåºŠç³ãèš³ãããŸãã-é 匵ã£ãŠãã ããïŒ