Saya menggunakan mulai otomatis khusus ke X dengan kromium dalam mode kios (24/7) dan melakukan ini: https://www.youtube.com/watch?v=P9Sk9bNrzeg
Saya mengatur cadangan (ke google drive) yang dibuat oleh cron di folder cron.daily - Saya menulis skrip:
#!/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
Skrip ini bekerja dengan baik hingga versi 6.9 dari DietPi ketika dijalankan dari cron.daily.
Script berfungsi dengan baik ketika saya menjalankannya secara manual.
Setelah memperbarui ke v.6.10 dan v.6.11, skrip tidak berfungsi dari cron.daily, tetapi berfungsi dengan baik saat memulai secara manual.
Di backup.log saya memiliki string karakter yang tidak dapat dipahami dengan string seperti ini: memeriksa akses root elevasi.
Juga tidak dimulai dari crontab.
@elot
Terima kasih atas laporannya.
G_USER_INPUT=0
seharusnya benar-benar terdeteksi otomatis pada eksekusi cron, jadi tidak perlu ditetapkan. Tetapi jika Anda ingin mempengaruhi, Anda perlu mengekspornya, yang tentunya patut untuk dicoba:
export G_USER_INPUT=0
Pada eksekusi non-interaktif, skrip akan keluar, jika (hampir) ruang kosong yang tidak mencukupi terdeteksi pada drive target: https://github.com/Fourdee/DietPi/blob/master/dietpi/dietpi-backup#L456
Tapi Anda katakan, eksekusi manual berfungsi dengan baik? Jika ruang kosong tidak mencukupi, Anda akan melihat prompt whiptail maka itu memberi Anda pilihan untuk mengabaikan atau keluar.
Tentang entri log, beberapa kode warna samar + checking for elevation root access
diharapkan. Mencoba:
cat /mnt/rpi/backup.log
agar kode warna aktif dan log dengan demikian diformat. Berikan juga keluaran ini di sini, sehingga kami dapat memeriksa pada tahap mana masalah tersebut terjadi.
Script berfungsi dengan baik ketika saya menjalankannya secara manual.
Aneh.
Coba jalankan tugas cron dan tempel hasil log /mnt/rpi/backup.log
NB: dietpi-backup
secara otomatis mengeluarkan rsync ke logfile /var/log/dietpi-backup.log
, Anda dapat menggunakannya juga.
Jadi, saya mencoba menjalankan tugas cron tanpa G_USER_INPUT = 0 (Saya menghapus ini dari skrip) dan ...
File log cadangan saya dari /mnt/rpi/backup.log
[90m[[0m[33m......[90m][0m Checking for (elevated) root access[0m
dietpi-backup.log kosong
Saya tidak melihat proses aktif setelah waktu cron dimulai.
Jadi, saya menambahkan untuk menguji skrip lain, untuk melihat output dalam file setelah cron start:
#!/bin/sh
echo 'Cron works!' > /mnt/rpi/cronworks.log
tetapi skrip ini belum dimulai - tidak ada file "cronworks.log" di / mnt / rpi /
itu aneh karena ada file keluaran (backup.log) dari skrip saya dengan cadangan (dari 1 posting saya), tetapi tidak dari yang sederhana ini
@elot
Oke, setidaknya ada juga kesalahan dengan cron. Perhatikan bahwa cron memulai skrip melalui run-parts /etc/cron.X/script
dan ada beberapa aturan, misalnya skrip harus dimiliki oleh root (AFAIK) dan yang lebih pasti skrip tidak boleh memiliki akhiran file. Itu berarti /etc/cron.daily/script.sh
akan dilewati, namanya harus /etc/cron.daily/script
sebagai gantinya.
Juga tidak diperlukan, tapi coba gunakan #!/bin/bash
sebagai shebang saat menggunakan dengan skrip DietPi. Mereka sendiri memiliki #!/bin/bash
, tetapi agar gagal, coba gunakan juga di dalam skrip cron.
Script selalu memiliki nama "backup" (tanpa .sh), saya mengubah "#! / Bin / sh" menjadi "#! / Bin / bash" di script juga, dan script ini sudah dimiliki oleh root. Skrip "test" saya dari posting terakhir sekarang juga berfungsi.
Saya mencoba segalanya, tetapi tetap tidak berhasil. Saya mengubah skrip untuk mencetak ke file log setelah menyelesaikan satu pekerjaan dan saya melihat skrip itu dimulai, tetapi pencadangan tidak dimulai atau selesai (dietpi-backup.log kosong), karena tidak dapat pergi ke pekerjaan berikutnya seperti tar, rclone dll Dan juga setelah menjalankan cron saya melihat proses / usr / sbin / cron -f bekerja dan -bash - apakah normal?
Skrip masih berfungsi jika saya menjalankannya secara manual - tetapi ketika pencadangan selesai, saya harus mengklik OK dan Batal (layar whiptail), dan setelah itu - pekerjaan berikutnya dimulai.
Saya pikir masalahnya adalah dengan menggunakan dietpi-backup ke auto backup yang dimulai oleh cron. Ini bekerja pada versi 6.9, tetapi tidak berfungsi setelah menulis ulang dietpi-backup.
@elot
Sekali lagi, untuk memastikan:
/DietPi/dietpi/dietpi-backup 1
berhasil dijalankan?G_USER_INPUTS=0 /DietPi/dietpi/dietpi-backup 1
berfungsi tanpa kesalahan juga, menunjukkan sesuatu seperti: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
bekerja juga, menunjukkan semua dieksekusi dan diselesaikan dalam /mnt/rpi/backup.log
?
run-parts --test /etc/cron.daily
mencantumkan skrip Anda (jika dalam harian, jika tidak sesuaikan)/usr/sbin/cron -f
+ -bash
diharapkan ya, karena ini memulai lingkungan bash karena #!/bin/bash
.Jika semua hal di atas benar, maka dapatkah Anda mencoba menjalankan bagian-bagian secara manual dan melihat apakah itu dijalankan seperti yang diharapkan:
~/testdir/backup
run-parts ~/testdir
Saya menguji saat Anda menunjukkan dan pada setiap pertanyaan Anda: ya, semuanya berfungsi ketika saya memulainya secara manual.
Saya mengujinya dengan perintah run-parts, tetapi masih berfungsi - ketika saya melakukannya secara manual.
Script saya terdaftar setelah digunakan run-parts --test /etc/cron.daily
Jika saya menambahkan G_USER_INPUTS = 0 dan memulai skrip secara manual, apakah saya harus melihat layar (whiptail) dengan informasi tentang log, dll.? Karena saya selalu melihatnya.
@elot
G_USER_INPUTS=0
hanya menonaktifkan menu whiptail untuk ditampilkan. Informasi hanya ditampilkan sebagai pesan terminal dan pertanyaan dijawab sebagai "tidak" (batalkan jika pemeriksaan ruang kosong tidak mencukupi, tidak ada tampilan log).
Untuk memaksanya masuk ke skrip, Anda perlu mengekspornya sebelum menjalankan skrip:
#!/bin/bash
export G_USER_INPUTS=0
/DietPi/dietpi/dietpi-backup 1
atau lebih mudah langsung berikan saja: G_USER_INPUTS=0 /DietPi/dietpi/dietpi-backup 1
Saya baru tahu bahwa Anda menggunakan G_USER_INPUT=0
atas tanpa S
, harus G_USER_INPUTS=0
dengan S
.
Tetapi jika variabel tidak diekspor, skrip akan menentukan, apakah input pengguna dapat dibuat atau tidak. Dalam cron dan misalnya eksekusi unit systemd, semua skrip DietPi harus secara otomatis menentukan dan menetapkan G_USER_INPUTS=0
.
Anda dapat memverifikasi bahwa metode kami berfungsi, dengan menambahkan ke awal tugas cron Anda (atau tugas uji):
[[ -t 0 ]] && echo 'This environments allows user inputs' > /mnt/rpi/inputs.log || echo 'This environment does not allow user inputs' > /mnt/rpi/inputs.log
Saat menjalankan skrip secara manual, harus dikatakan bahwa input pengguna diizinkan (menu whiptail muncul), jika dijalankan melalui cron, maka seharusnya tidak, dan tidak ada menu whiptail yang membuat skrip hang.
Pertama saya menguji G_USER_INPUTS=0
dan jika saya memulai skrip secara manual, log:
This environments allows user inputs
lain jika dimulai dengan cron:
This environment does not allow user inputs
Selanjutnya saya mencoba mengubah skrip saya menjadi ini:
#!/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
dan dietpi-backup.log masih kosong, tapi backup.log:
ketika cron dimulai dan secara otomatis memulai skrip ini:
pon, 9 lip 2018, 18:54:01 CEST
Backup failed!
ketika saya memulai skrip secara manual:
pon, 9 lip 2018, 18:58:40 CEST
Backup: DONE.
Tar backup: DONE.
Copy to GDrive: DONE.
Remove tar: DONE.
Sangat menjengkelkan ... selanjutnya, skrip saya hanya memiliki:
#!/bin/bash
export G_USER_INPUTS=0
/DietPi/dietpi/dietpi-backup 1
dan masih tidak berfungsi jika skrip ini dimulai oleh cron.
Masalahnya masih dengan dietpi-backup yang dimulai oleh cron dari v6.10. Saya pikir itu masalah dengan perubahan yang Anda buat di v6.10 dalam skrip dietpi-backup.
dietpi-backup.log masih kosong
@elot
Terima kasih atas upaya pengujian Anda.
Saya akan melalui perubahan kami. Sejauh ini tidak ada petunjuk. Setidaknya menurut pengujian Anda, skrip sebenarnya tidak macet (whiptail / G_USER_INPUTS bukan masalahnya), tetapi gagal.
Membuat beberapa pengujian sendiri:
[......] Checking for (elevated) root access
Setelah mengomentari pemeriksaan pengguna root, dalam dietpi-backup
, menjalankannya melalui cron mengarah ke:
[FAILED] RootFS is currently Read Only, unable to continue.
Tapi:
root@VM-Jessie:~# G_CHECK_ROOTFS_RW
[ OK ] Root access verified.
[ OK ] DietPi-Drive_Manager | RootFS R/W access verified.
@elot
tput
adalah masalahnya:
tput: No value for $TERM and no -T specified
Perbaiki: https://github.com/Fourdee/DietPi/commit/82ac7b32d32dca9db4fdb824c7ead80174844090
Patch ini juga memperbaiki masalah lain: "run_ntpd 1" dijalankan oleh cron setiap hari atau setiap jam tidak menyinkronkan waktu (stempel waktu / var / lib / systemd / clock tidak berubah).
@kimisara
Jep kamu benar, ini masuk akal.
Hanya untuk menghindari pengeditan skrip manual untuk menerapkan perbaikan, semua dengan masalah yang sama harus dilakukan: wget https://raw.githubusercontent.com/Fourdee/DietPi/82ac7b32d32dca9db4fdb824c7ead80174844090/dietpi/func/dietpi-globals -O /DietPi/dietpi/func/dietpi-globals
Saya pikir beberapa masalah terbuka kami terkait dengan ini. Jika run_ntpd
dalam cron.hourly gagal, dietpi-logclear
tidak akan dipanggil setelahnya, yang menyebabkan / var / log terisi: https://github.com/Fourdee/DietPi/issues/ 1920
Saya hanya ingin tahu, mengapa masalah ini muncul pertama kali dengan v6.10 +, karena kami sudah menggunakan tput
sebelumnya dalam cron jobs kami.
Mungkin seseorang dapat menemukan perubahan, yang menyebabkan masalah, jadi kami tahu bagaimana cara merawatnya lebih baik di masa depan:
tput cuu
dan tput cols
dipanggil dalam kedua kasus, serta tput ed
pada setiap pemberitahuan DietPi lainnya saat menghapus animasi pemrosesan.Pengujian lebih lanjut tentang ini:
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
di cron disetel ke dumb
tput
mengklaim tidak ada nilai untuk variabel tersebut, meskipun itu tidak valid.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
Karena $ TERM yang tidak valid tidak menyebabkan kesalahan apa pun (hanya mengarah ke tidak ada output tput), kesalahan tput cron tampaknya terkait dengan hilangnya -T
, [[ -t 0 ]]
menghasilkan false. Mungkin juga ini berperilaku berbeda sebelumnya. Pembaruan ncurses-bin
APT terakhir pada 2018-02-15: http://ftp.de.debian.org/debian/pool/main/n/ncurses/
Kami sudah memiliki masalah dengan terminal non-interaktif / tidak valid, jadi sekarang keluar dari skrip dietpi- *, jika $ TERM kosong atau ' unknown
' ditemukan: https://github.com/Fourdee/DietPi/blob/ testing / dietpi / func / dietpi-globals # L30 -L35
tput
perintah lain yang memerlukan terminal valid.Uji di v6.9:
root<strong i="6">@DietPi</strong>:/tmp# cat cron.test
dumb
tput: No value for $TERM and no -T specified
finish
Pembaruan APT tidak berisi cron dan / atau ncurses (dikurangi dengan paket tidak terkait yang diuji):
apt-get dist-upgrade
dan reboot, cron tidak menghentikan eksekusi setelah kesalahan 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
ke v6.11 master: Sangat aneh, masih tidak ada masalah ...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
- Oke, ini terkait dengan perubahan global, tetapi karena tput
gagal dan gagal, mengapa skrip kita keluar sekarang dan tidak keluar di v6.9?
Perubahan terkait teridentifikasi: https://github.com/Fourdee/DietPi/blob/master/dietpi/func/dietpi-globals#L266
local lines=$(( (${#input_string}+6)/$(tput cols) ))
mengarah ke seluruh skrip keluar, sedangkan (sebelumnya)
local lines
(( lines=(${#input_string}+6)/$(tput cols) ))
menunjukkan kesalahan, tetapi mengizinkan skrip berjalan (lihat di atas).
Perbaiki https://github.com/Fourdee/DietPi/commit/82ac7b32d32dca9db4fdb824c7ead80174844090 berfungsi dan juga merupakan solusi terbersih, karena tput
akan sepenuhnya dilewati dalam shell non-interaktif. Tetapi agar gagal, kita harus kembali ke metode sebelumnya untuk mendeklarasikan variabel terlebih dahulu dan kemudian menetapkan nilai setelahnya dalam lingkungan aritmatika: Komit selesai https://github.com/Fourdee/DietPi/commit/0f18aa4dc0af8ab910a0173dce8849d5b53c30b0
@elotx @kmara
Untuk membersihkan tawaran, saya membuka masalah baru, silakan coba terapkan perbaikan yang disebutkan di sana dan laporkan kembali, jika itu menyelesaikan semua masalah: https://github.com/Fourdee/DietPi/issues/1923
Saya akan menutup masalah ini demi yang baru.
Saya berhasil ssh ke v6.13 saya tetapi itu akan hang setelahnya.
Perintah "tput cols" mengeluarkan tput: terminal tidak dikenal "rxvt-256color" , menghasilkan nilai kosong pada baris 328 dari dietpi-login, membuatnya hang selamanya setelah berhasil membaca database saat boot awal.
Mengekspor TERM = xterm, peretasan jelek, sepertinya telah memperbaiki skrip login, dan sekarang dapat mulai menginstal.
Jika ini adalah bagian yang salah, harap bersabar, karena saya tidak begitu tahu cara menggunakan masalah github; Saya telah menemukan utas ini setelah berjam-jam googling yang tidak berguna untuk kesalahan, jika Anda memindahkannya mungkin meninggalkan sisa tentang kesalahan warna rxvt-256, jika seseorang memiliki masalah yang sama.
Salam Hormat!
@wuhei
Hai,
Terima kasih atas laporan dan solusinya π
Klien SSH mana yang Anda jalankan?
@Tokopedia
Saya membuka edisi terpisah untuk ini. Mengidentifikasi masalah: https://github.com/Fourdee/DietPi/issues/2034
@wuhei
Setelah login ke SSH silakan coba: export TERM='xterm-256color'
β¬: Ah ini pada dasarnya apa yang sudah Anda temukan π.
Jika ini berhasil, Anda dapat menambahkan skrip ke /etc/profile.d/
yang berisi sesuatu seperti:
[[ $SSH_TTY ]] && [[ $TERM =~ 256 ]] && export TERM='xterm-256color'
xterm-256color
, yang didukung oleh DietPi.Alternatifnya adalah menginstal paket yang berisi lebih banyak definisi terminal: G_AGI ncurses-term
@Fourdee OpenSSH_7.7p1, OpenSSL 1.1.0h di Arch Linux
@MichaIng terima kasih senang saya bisa membantu secara kebetulan!
Harap diingat bahwa saya adalah seorang sysadmin yang buruk dan dengan mengikuti artikel ini oleh Tom Ryder, saya telah mengetahui bahwa saya memiliki konfigurasi terminal "deklarasi" yang salah konfigurasi.
Pada akhirnya yang memperbaiki masalah saya adalah
Saya tidak dapat memindai file terminfo ke pi saya, karena scp tidak diinstal (mungkin pertimbangkan untuk menginstalnya bersama dengan server dropbear?), Jadi saya mengunggahnya ke server yang saya miliki dan hanya mendownloadnya dari pi.
Senang bisa membantu, bersorak dan minta maaf lagi atas kekacauannya - lanjutkan!
@wuhei
Jep, menyetel $ TERM dalam /root/.bashrc
tentu saja berfungsi juga, menambahkannya ke /etc/profile[.d/] menyelesaikannya di seluruh sistem untuk semua pengguna, yang merupakan solusi yang akan kami gunakan dengan DietPi.
Artikel yang Anda tautkan cukup bagus, menjelaskan segalanya dan kemungkinan dengan sangat baik π. Jadi pada dasarnya Anda menginstal tipe terminal yang diperlukan secara manual. Artikel tersebut juga menyebutkan paket ncurses-term
sebagai opsi untuk menginstal berbagai definisi terminal. Tetapi untuk menjaga DietPi tetap ramping, saya tidak ingin menginstal paket ini sebelumnya untuk kasus yang jarang terjadi. Sebaliknya lebih baik, gunakan solusi bashrc / profile; Mungkin juga untuk memeriksa dukungan terminal sebelum menerapkan perbaikan pada login SSH.
Untuk pengujian dengan klien PuTTY: PuTTY> Connection
> Data
> Terminal-type string
Tentang menginstal SCP: Ada beberapa protokol transfer file lainnya, FTP, SFTP atau drive jaringan NFS, SMB, untuk mentransfer file. Saya tidak akan melakukan pra-instal, tetapi memberikan pilihan kepada pengguna bagaimana cara mendapatkan file dari klien ke server. Stik USB, drive eksternal tentu saja juga dimungkinkan atau cukup salin & tempel ke terminal SSH untuk berjaga-jaga. Tetapi bagaimanapun sebagai solusi umum saya akan menggunakan salah satu dari dua cara yang disebutkan di atas.
Komentar yang paling membantu
@Fourdee OpenSSH_7.7p1, OpenSSL 1.1.0h di Arch Linux
@MichaIng terima kasih senang saya bisa membantu secara kebetulan!
Harap diingat bahwa saya adalah seorang sysadmin yang buruk dan dengan mengikuti artikel ini oleh Tom Ryder, saya telah mengetahui bahwa saya memiliki konfigurasi terminal "deklarasi" yang salah konfigurasi.
Pada akhirnya yang memperbaiki masalah saya adalah
Saya tidak dapat memindai file terminfo ke pi saya, karena scp tidak diinstal (mungkin pertimbangkan untuk menginstalnya bersama dengan server dropbear?), Jadi saya mengunggahnya ke server yang saya miliki dan hanya mendownloadnya dari pi.
Senang bisa membantu, bersorak dan minta maaf lagi atas kekacauannya - lanjutkan!