Mogelijkheden voor het uitzetten van linux

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 14:30

Blokker_1999

Full steam ahead

Topicstarter
Ik zit sinds gisterenochtend na te denken over iets en vraag me af of iemand mij kan helpen.

Op een linux systeem met sysvinit als init systeem, hoeveel manieren zouden er moeten zijn om zo een systeem uit te schakelen dan wel te herstarten?

Ik ging er namelijk van uit dat men het in essentie neerkomt op het gebruik van telinit om het runlevel te veranderen naar 0 of 6.

Nu heb ik een systeem waarvan de leverancier beweerd dat deze extern opdracht krijgt om een soft poweroff te doen, alleen ontbreken zowat alle commandos die daarvoor verantwoordelijk kunnen zijn. Een shutdown, poweroff, reboot of telinit zijn niet aanwezig. De aanwezige busybox heeft enkele wel aan boord maar bij het uitvoeren gebeurd er niets. Wanneer je in hun software een reboot vraagt gaat deze zelfs zo ver dat deze aan de voeding opdracht geeft om de voeding even uit te schakelen en weer in te schakelen.

Zijn er andere, softwarematige mogelijkheden om alsnog een shutdown te geven?

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • Mijzelf
  • Registratie: September 2004
  • Niet online
Dat klinkt als een embedded systeem. Die hoeft niet noodzakelijkerwijs een shutdown mogelijkheid te hebben. Wanneer de kernel geen mogelijkheid heeft om de voeding uit te schakelen, kun je geen 'normale' softwarematige shutdown doen. Bij sommige embedded systemen wordt dat dan geëmuleerd door als poweroff functie een 'while( true ){ sleep(); }' te implementeren.

Bij jouw systeem kan het natuurlijk dat een of andere daemon via I/O de voeding kan uitschakelen. Beetje lomp, maar voor de meeste embedded systemen goed genoeg.

Acties:
  • 0 Henk 'm!

  • Blokker_1999
  • Registratie: Februari 2003
  • Laatst online: 14:30

Blokker_1999

Full steam ahead

Topicstarter
Het is inderdaad een embedded systeem en ik lig nu in conflict met onze studiedienst omdat zij van de leverancier ( die zelf ook niet de fabrikant is ) te horen hebben gekregen dat het toestel zichzelf wel degelijk uitschakelt.

Het toestel kan inderdaad de spanning niet zelf uitschakelen, maar je kan er wel van op aan dat wanneer het signaal tot uitschakeling gegeven zou worden dat alles spanningsloos zal gaan. Dit is een commando dat niet herroepen kan worden. Je moet de uitschakeling doorlopen en daarna alles weer opstarten als je dat per ongeluk doet (wat bijna onmogelijk is).

Ik ben ondertussen al wel zo ver dat ik geleerd heb dat het antwoord dichterbij is dan gedacht. Je kan natuurlijk je runlevel gewoon aan init doorgeven (waarom hebben ze dan ooit telinit uitgevonden?) en dan worden wel enkele processen afgesloten, maar niet alle processen. De webserver blijft bijvoorbeeld wel doordraaien, maat het process dat bijna continue data naar de HDD schrijft valt dan weer wel stil. Dit systeem blijft mij verbazen telkens ik er in begin te graven.

No keyboard detected. Press F1 to continue.


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Nog leuker. Neem CentOS bijvoorbeeld. Ik heb 2 VMs, eentje met versie 6 en eentje met 7. Het commando 'halt' zou 'm uit moeten schakelen. Bij CentOS 6 gebeurt dat ook, de VM wordt netjes afgesloten en gaat 'uit'. Doe ik hetzelfde bij CentOS 7, dan gaat het OS naar de shutdown state, maar de VM zelf gaat niet 'uit', het blijft 'draaien', als in, het venster blijf je zien. Zou 't een fysieke machine zijn, dan wordt bij 6 wel een signaal naar de voeding gestuurd zeg maar, maar bij 7 dus niet. Je moet dan zoals je vroeger had, zelf even op de power knop drukken.

Dat kan met zo'n embedded systeem ook. Verder heb je idd verschillende manieren voor reboot/uitschakelen. Ik kende telinit overigens niet, wel gewoon 'init 0' uitvoeren voor shutdown.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 06-07 15:56

deadinspace

The what goes where now?

Hero of Time schreef op dinsdag 05 januari 2016 @ 13:42:
Nog leuker. Neem CentOS bijvoorbeeld. Ik heb 2 VMs, eentje met versie 6 en eentje met 7. Het commando 'halt' zou 'm uit moeten schakelen.
Volgens https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=746650 zou halt dat niet moeten doen, maar was het een bug in sysvinit dat dat wel gebeurde.

(wat ik irritant vind, want ik ben al jarenlang gewend machines uit te zetten met halt)

Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Nu online

Hero of Time

Moderator LNX

There is only one Legend

Klopt, daarvoor is dus poweroff of shutdown -h bedoelt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

deadinspace schreef op dinsdag 05 januari 2016 @ 14:01:
[...]
(wat ik irritant vind, want ik ben al jarenlang gewend machines uit te zetten met halt)
Maar dat is niet correct.

Als je met remote servers te maken hebt is 't fijn als 'halt' dat niet doet, aangezien ze anders potentieel niet meer aan gaan bij een power cycle (last state). Meestal fixen we dat in de bios (always power on) maar 't is niet alsof dat nooit vergeten wordt.

All my posts are provided as-is. They come with NO WARRANTY at all.


Acties:
  • +1 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 15:53

CAPSLOCK2000

zie teletekst pagina 888

Behalve het systeem netjes af te sluiten kun je ook domweg de stroom uitschakelen. Als je embedded systeem niks hoeft te schrijven naar de lokale disk is dat geen probleem.

PAS OP: ONDERSTAANDE ZET JE COMPUTER KEIHARD UIT:
code:
1
# echo o > /proc/sysrq-trigger

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 10:24
CAPSLOCK2000 schreef op dinsdag 05 januari 2016 @ 17:34:
Behalve het systeem netjes af te sluiten kun je ook domweg de stroom uitschakelen. Als je embedded systeem niks hoeft te schrijven naar de lokale disk is dat geen probleem.

PAS OP: ONDERSTAANDE ZET JE COMPUTER KEIHARD UIT:
code:
1
# echo o > /proc/sysrq-trigger
Ik kon het niet laten om te proberen en inderdaad als root ging de laptop direct uit O-)

Acties:
  • 0 Henk 'm!

  • Puch-Maxi
  • Registratie: December 2003
  • Laatst online: 20:01
En toch testen hé :D

My favorite programming language is solder.


Acties:
  • 0 Henk 'm!

  • jvanhambelgium
  • Registratie: April 2007
  • Laatst online: 07-07 07:57
jbhc schreef op dinsdag 05 januari 2016 @ 20:03:
[...]


Ik kon het niet laten om te proberen en inderdaad als root ging de laptop direct uit O-)
Probeer anders onderstaande eens een keertje ;-) Liefst nog op een productie-bak ;-)

# echo b > /proc/sysrq-trigger

Acties:
  • 0 Henk 'm!

  • Kees
  • Registratie: Juni 1999
  • Laatst online: 15:34

Kees

Serveradmin / BOFH / DoC
jvanhambelgium schreef op dinsdag 05 januari 2016 @ 20:25:
[...]


Probeer anders onderstaande eens een keertje ;-) Liefst nog op een productie-bak ;-)

# echo b > /proc/sysrq-trigger
Vaak genoeg gedaan, alleen doen ze tegenwoordig een controlled shutdown waardoor ik alsnog moest reverten naar een powercut om een keiharde shutdown te testen :P

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


Acties:
  • 0 Henk 'm!

  • The Eagle
  • Registratie: Januari 2002
  • Nu online

The Eagle

I wear my sunglasses at night

Hm, wij gaan binnenkort DR testen op de HA omgeving van onze klant.
Interessant :Y)

Al is het nieuws nog zo slecht, het wordt leuker als je het op zijn Brabants zegt :)


Acties:
  • 0 Henk 'm!

  • jvanhambelgium
  • Registratie: April 2007
  • Laatst online: 07-07 07:57
Kees schreef op dinsdag 05 januari 2016 @ 20:50:
[...]

Vaak genoeg gedaan, alleen doen ze tegenwoordig een controlled shutdown waardoor ik alsnog moest reverten naar een powercut om een keiharde shutdown te testen :P
Pfff, controlled shutdown ... pussies |:(

Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Embedded... Waar gezonde software practices niet gelden.
Als je niet gedegouteerd wil raken, stop er dan maar snel mee ;)

Als ze een soft poweroff kunnen doen vanuit S/W, kun je dan niet achterhalen wat ze doen mbv strace?
De kans zit erin dat ze ook daar gewoon de voeding aanspreken.

Funny fact: ons toestel heeft zelfs geen soft-poweroff, enkel reboot en stroomkabel uittrekken.
Reden: het toestel is gemaakt om 24/7 te draaien en bij elke mogelijk ernstige failure gewoon opnieuw op te starten en (proberen) verder te doen.

Funny fact 2: sinds enkele releases hebben we continuous reboot loop detectie die het rebooten stopt en dan maar met het probleem "leert leven"... Alles voor de uptime, nietwaar?

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • Rainmaker
  • Registratie: Augustus 2000
  • Laatst online: 14-07-2024

Rainmaker

RHCDS

Let op dat die sysrq-trigger het systeem echt direct uitzet.
Geen dirty buffer flush, geen unmount. Niks.

Voor een nette shutdown:
Raising Elephants Is So Utterly Boring.
of:
Reboot Even If System Utterly Broken.

Wikipedia: Magic SysRq key

We are pentium of borg. Division is futile. You will be approximated.


Acties:
  • 0 Henk 'm!

  • jbhc
  • Registratie: Juli 2007
  • Laatst online: 10:24
Rainmaker schreef op dinsdag 05 januari 2016 @ 21:45:
Let op dat die sysrq-trigger het systeem echt direct uitzet.
Geen dirty buffer flush, geen unmount. Niks.

Voor een nette shutdown:
Raising Elephants Is So Utterly Boring.
of:
Reboot Even If System Utterly Broken.

Wikipedia: Magic SysRq key
Voor mijn laptop maakt het toch niet uit. Ik heb hier een extra schijfje in zitten om met linux te kunnen spelen :) (Het spelen loopt alleen nogal uit de hand. Ik heb al 3 weken geen windows meer gebruikt >:) )
Pagina: 1