Linux

Kicsit elakadtam… hátha tudtok rá megoldást.
A lényeg, hogy azt akarom elérni, hogy Ubuntu LTS 18.04.2 sleep utáni wake up alkalmával lefusson egy script. Viszont ennek a scriptnek a hálózat feléledése után valamint a képernyő megjelenése után kellene lefutnia. Szóval azt gondoltam, hogy csinálok egy scriptet, amibe berakok egy sleepet és azt hívom meg.

Szóval ezt találtam, hogy ezt kell szerkeszteni (persze a kodirefresh az saját):
/lib/systemd/system-sleep/kodirefresh

Tartalma:

#!/bin/bash
case $1/$2 in
  pre/*)
    echo "Going to $2..."
    # Place your pre suspend commands here, or `exit 0` if no pre suspend action required
    exit 0
    ;;
  post/*)
    echo "Waking up from $2..."
    # Place your post suspend (resume) commands here, or `exit 0` if no post suspend action required
    nohup sudo -u idioty /home/idioty/Desktop/kodi_update.sh --sleep &
    exit 0
    ;;
esac

Aztán ez meghívja a kodi_update.sh-t, aminek a tartalma:

#!/bin/bash

cd "$(dirname "$0")"

if [[ "$1" == "--sleep" ]];then
    slTime=10
    pTime="$2"

    if [[ ${pTime} =~ ^-?[0-9]+$ ]];then
        slTime=${pTime}
    fi
    echo "[KODI update] Sleep for ${slTime} second(s)."
    sleep ${slTime}
else
    echo "[KODI update] No sleep!"
fi

echo "[KODI update] Update begginning"

python KodiHelper/start.py
killall -9 kodi-x11
echo "[KODI update] Update done, Start KODI"
DISPLAY=:0 kodi &
echo "[KODI update] Update exit"

Ami annyit csinál, hogy ha van --sleep érték, akkor vagy 10 vagy ami utána van érték, azzal “sleepeli” a processzt.

Majd lefut a python, ami frissíti a fájlokat, aztán kinyírja a Kodi-t (ha fut) és elindítja újra.

Nost ha ez utóbbit lefuttatom kézzel ssh-n belépve, akkor szépen működik, lefrissül minden és újra is indul a Kodi.

Sőt egyébként alapvetően azt szeretném elérni, hogy indítás után, sleepből felébredés után és éjfél után mindennap fusson le ugyanez a script.
Indítás után és crontabbal éjfél után le is fut és működik is szépen. Viszont a sleepből visszatérés után nem.
Elkezd futni a script, mert megkapom a [KODI update] Sleep for 10 second(s). üzenetet syslogba.
Utána sysloban benne van, hogy leáll a systemd-sleep és ami furcsa, hogy az új script pid-je is ugyanaz, mint a systemd-sleep pidje. (vagyis lehet csak a systemd-sleep process kapja meg a scriptem kimenetét és lehet az írja ki és amiatt látszik azzal a piddel…)

Szóval a logok:

Mar  9 12:05:55 idioty-ZBOX-ID84 systemd-sleep[2666]: System resumed.
Mar  9 12:05:55 idioty-ZBOX-ID84 systemd-sleep[2666]: Waking up from suspend...
...
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd-sleep[2666]: [KODI update] Sleep for 10 second(s).
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd-sleep[2666]: /dev/sda:
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd-sleep[2666]:  setting Advanced Power Management level to 0xfe (254)
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd-sleep[2666]:  APM_level#011= 254
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd[1]: Started Suspend.
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd[1]: sleep.target: Unit not needed anymore. Stopping.
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd[1]: Stopped target Sleep.
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd[1]: Reached target Suspend.
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd[1]: suspend.target: Unit not needed anymore. Stopping.
Mar  9 12:05:59 idioty-ZBOX-ID84 systemd[1]: Stopped target Suspend.

Persze ha senkinek sincs semmi ötlete, akkor majd inkább írok egy daemont ami annyit fog csinálni, hogy egy változót fog figyelni. Ha az a változó asszondja, hogy frissítés, akkor elindítom a scriptett akkor… És a system-sleep/kodirefresh-ben meg ezt a változót jól megváltoztattatom! :D

Sziasztok!

Párom ütközött egy olyan problémába, hogy virtuális gépre felrak egy Debinat. Ezek után meg tudja pingelni de se winscp-vel se putty-val nem tud belépni.
Az ssh igen telepítette.
Tudtok valami javasolni merre induljon el?
whitelistet-be elvileg be tudta rakni a másik gép IP címét de nem segít.

Marpedig akkor is tuti tuzfal lesz. Ha virtualisgep, akkor egyszeruen googlezd meg hogyan kell kompletten kiakpcsolni a tuzfalat abban a verzioban, amid van, es egyszeruen kapcsoljatok ki.

nincs tuzfal.

Konkretan mi a hiba egyebkent? Connection refused? Vagy timeout? Ha timeout, akkor tuzfal lesz, es DROP-ol, ha refused, akkor lehet tuzfal, ami REJECT-el de lehet az is, hogy nincs elinditva a szolgaltatas.


ennyi történik.

Node, ide irjatok be a jo jelszot es orom es boldogsag. Miert nem probaljatok meg beirni a megfelelo jelszot? Hogyan lett telepitve az SSH? Lehetseges, hogy nincs engedelyezve a felhasznalo?

De nem ismerem ezt a szoftvert, igy nem tudom, hogy a TCP kapcsolat kinyitasa elott vagy utan keri be a jelszot. Ha utana, akkor a tuzfal nyitva van es a szolgaltatas is fut. Ha elotte, akkor tovabbra is fennall, amit az elobb irtam.

Ez lehet a VM hálózati beállítása is. Milyen szoftvert használtok virtualizaciora? Virtualbox és HyperV esetén egyszerű a beállítás, KVM esetén Egy kicsit lehet bonyolultabb.
Több kulonbozo módszer van a hálózati beállítása, a két leggyakrabbi beállítás a bridge mód és a NAT. Utóbbi esetében a VM hálózata tulajdon képen a host gépen egy belso virtuális hálózat, amit a gépen kívülről nem egyértelmű, hogy kell elérni. Ami ennél egyszerűbb, a bridge mód, amikor a VM hálózati csatlakozoja tulajdon képen hozza van kötve a host gép fizikai hálózati csatlakozójahoz és a VM megjelenik a hálózaton. Ez viszont csak akkor lehetséges, ha a host gép kábelen csatlakozik a hálózathoz.

A kép alapján maga a hálózati csatlakozás működik, inkább az SSH-van lesz gond. Be van állítva jelszó a “nagy” felhasználóhoz?

be van állítva jelszó.

virtualbox és bridge módban van.

kábelen vagyunk a hálózaton.

Tüzfal nincs debian alatt, win alatt pedig ki van kapcsolva.

Mi tortenik, ha beirod a jelszot? A celgepen a /var/log alatt latszodik probalkozas? Abban mi az indok az elutasitasra?

azt mondta log hogy fail password (de terminálban simán be jelentkezett ezzel a jelszóval)
most megváltoztat a jelszót és ez lett az eredmény (de az új jelszó is működik terminál alatt):

Nem lehet hogy az openssh-utils vagy tools vagy valami nincs feltava? Azt hiszem az sftp abban van.

Lehet, hogy nincs SFTP program feltelepítve. Ezt gyorsan úgy lehet megkerülni, ha SFTP helyett SCP-vel próbáltok meg bejelentkezni.

SCP-vel müködik, de amit nem értek mert VSFTPD-t installáltam.

A vsftpd-nek semmi koze az sftp-hez. Az scp es az sftp az ssh csatornan keresztul megy (ezert kell az openssh tools vagy valami hasonlo nevu csomag, rakj fel mindent, ami erre utalhat, vagy mutass egy listat es megmondjuk a neve alapjan melyik lesz). A vsftpd egy ftp server, amihez ftp protokollal kell csatlakoznod. A titkositott ftp protokollja az ftps.

Szerk: a winscp egyebkent a neve alapjan scp es sftp kliens

A párom köszöni mert itt volt neki a félreértés, hogy mi a különbség a vsftp és a sftp között a különbség.

1 kedvelés

Ha amugy is linuxon tevekenykedik, en feltennek egy wsl-t win-re es akkor nem kell winscp/putty borzalmakkal szenvedni, max a wsl-ben egy midnight commander es csokolom :)

Ez iskolai feladat volt, adott programokkal
kell megoldani direkt.

Szemely szerint ez a bajom az informatikai kepzesek nagy reszevel, nem az elvet tanitjak hanem a konkret program hasznalatot… De ez egy masik topic :)