• Opret dig
  • Glemt adgangskode

User account menu

  • Artikler
  • Forside
  • Forum
  • Nyheder
  • Log ind
Hjem
LinuxIN.dk

Snak med

Opret dig!

Af Domiino | 06.10.2017 12:35

Opstart af Script som root på Debian 9

Installationshjælp
Jeg har fået installeret Gogs på en Debian 9 Server - det kører meget fint og starter fint op med kommandoen:

/home/git/gogs/./gogs web

Det skal køres som root.

Nu kommer spørgsmålet så - hvordan får jeg det til at starte op hver gang computeren bliver genstartet? Jeg har søgt på nettet, men de guides jeg har fundet har ikke lykkes. Kan forstå der er noget med at når det er systemd så er det lidt anderledes?
  • Log ind eller opret dig for at tilføje kommentarer

Kommentarer11

# 1

7 år 9 måneder siden

Permalink

Indsendt af frogmaster den 6. oktober 2017 kl. 16:35

Permalink

Kan forstå der er noget

#0: Kan forstå der er noget med at når det er systemd så er det lidt anderledes?

Ja det er korrekt. Jeg kan ikke svare konkret iht Gogs, ikke mindst fordi du har placeret scriptet i Home (Ejerskab og Tilladelser), men systemd fungerer med systemctl kommandoen, fra terminalen, under starten af OS.

Eksempelvis for at teste uden indstillingen gemmes:
systemctl start navn-på-service-serviced.service

Start at boot time (Indstillingen gemmes):
sudo systemctl enable navn-på-service-serviced.service

For at tjekke systemd status:
systemctl --type=service

Der er iøvrigt forskel på om du ønsker start at services under logon eller boot. Hvis Debian 9 har GUI til Opstartsprogrammer, bør det fungere at tilføje scriptet, hvis du ønsker start under logon.

https://wiki.debian.org/systemd
  • Log ind eller opret dig for at tilføje kommentarer

# 2

7 år 9 måneder siden

Permalink

Indsendt af Domiino den 6. oktober 2017 kl. 20:31

Permalink

Jeg kan vel bare flytte Gogs

Jeg kan vel bare flytte Gogs til en anden folder? Det er det eneste maskinen skal stå og lave. Men hvor burde sådan en mappe ligge?
  • Log ind eller opret dig for at tilføje kommentarer

# 3

7 år 9 måneder siden

Permalink

Indsendt af frogmaster den 6. oktober 2017 kl. 22:53

Permalink

Men hvor burde sådan en

#2: Men hvor burde sådan en mappe ligge?

Jeg vil tro at eksempelvis pseud, du allerede har talt med og som har erfaring med Gogs: https://www.linuxin.dk/node/22267#comment-90270 ved det, men du kan forsøge med /opt/ mappen, der har root permissions, og ind imellem bruges til program installationer.

Det er ikke altid at /opt/ eksisterer i forvejen i roden. Hvis det er tilfældet, så prøv selv at oprette den med file mangeren i root tilstand.
  • Log ind eller opret dig for at tilføje kommentarer

# 4

7 år 8 måneder siden

Permalink

Indsendt af Domiino den 10. oktober 2017 kl. 14:36

Permalink

Det er mig en gåde hvorfor

Det er mig en gåde hvorfor jeg bare ikke kan få Gogs til at køre ved opstart. Hvorfor kan det være så svært. Jeg har prøvet at skrive til "pseud" desværre uden held.

Så er der nogen der kan forklarer mig hvordan jeg får et simpelt program til at kører ved opstart må I meget gerne sige til...
  • Log ind eller opret dig for at tilføje kommentarer

# 5

7 år 8 måneder siden

Permalink

Indsendt af frogmaster den 10. oktober 2017 kl. 15:04

Permalink

Hvilke metoder har du

Hvilke metoder har du allerede forsøgt?

https://linuxconfig.org/how-to-automatically-execute-shell-script-at-st…
https://www.tecmint.com/auto-execute-linux-scripts-during-reboot-or-sta…
  • Log ind eller opret dig for at tilføje kommentarer

# 6

7 år 8 måneder siden

Permalink

Indsendt af Domiino den 10. oktober 2017 kl. 15:07

Permalink

En af dem er denne:

En af dem er denne: https://gogs.io/docs/intro/faqs#how-do-i-run-gogs-at-startup-with-syste…

How do I run Gogs at startup with Systemd?

There’s a systemd service template file in the Gogs GitHub repository, and in the installed files at ./scripts/systemd/gogs.service. You will likely need to modify it for your installation:

Update User, Group, WorkingDirectory, ExecStart, and Environment with values appropriate to your Gogs installation.
(Optional) If you would like to use Gogs with MySQL/MariaDB, PostgreSQL, Redis, or memcached then uncomment the appropriate After lines.

Save your modified service file at /etc/systemd/system/gogs.service, enable it with sudo systemctl enable gogs, and start it with sudo systemctl start gogs.

You can check the status of the Gogs service with sudo systemctl status gogs -l, or display the journal entries with sudo journalctl -b -u gogs.


Men får denne fejl når jeg kommer til et punkt:
root@GITSERVER:/home/git# systemctl enable gogs
Synchronizing state of gogs.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable gogs
update-rc.d: error: gogs Default-Start contains no runlevels, aborting.
root@GITSERVER:/home/git#

  • Log ind eller opret dig for at tilføje kommentarer

# 7

7 år 8 måneder siden

Permalink

Indsendt af Domiino den 10. oktober 2017 kl. 15:10

Permalink

Den her virker vist ikke -

Den her virker vist ikke - da local.rc ikke er aktiv mere i Debian 9: https://www.tecmint.com/auto-execute-linux-scripts-during-reboot-or-sta…

Den anden har jeg rodet lidt med, men synes ikke helt at kunne få den til at virke.
  • Log ind eller opret dig for at tilføje kommentarer

# 8

7 år 8 måneder siden

Permalink

Indsendt af frogmaster den 11. oktober 2017 kl. 20:48

Permalink

Prøv at læse dette:

Prøv at læse dette: https://www.tecmint.com/create-new-service-units-in-systemd/

og dette, hvor gogs befinder sig i home: https://github.com/gogits/gogs/blob/master/scripts/systemd/gogs.service

Hvis ingen kender det eksakte svar, eller du ikke selv finder løsningen, så må du leve med at starte servicen manuelt, formentlig indtil systemd, gogs, eller hvad der skyldes problemet, bliver mere strait on.
  • Log ind eller opret dig for at tilføje kommentarer

# 9

7 år 8 måneder siden

Permalink

Indsendt af Domiino den 12. oktober 2017 kl. 11:25

Permalink

Jeg fik det til at

Jeg fik det til at virke!

Det var noget fra /etc/init.d der forstyrrende - efter en remove virker det bare!
  • Log ind eller opret dig for at tilføje kommentarer

# 10

7 år 8 måneder siden

Permalink

Indsendt af frogmaster den 12. oktober 2017 kl. 15:29

Permalink

Det var noget fra

#9: Det var noget fra /etc/init.d der forstyrrende

Det giver mening. init.d er ikke beregnet til programmer man selv installerer og vil give denne runlevel fejl. Deres opstart skal eventuelt ligge i /etc/systemd/system eller /lib/systemd/system

Glimrende.
  • Log ind eller opret dig for at tilføje kommentarer

# 11

7 år 8 måneder siden

Permalink

Indsendt af snakee den 14. oktober 2017 kl. 10:38

Permalink

Du kan bruge @reboot

#4:
Du kan bruge @reboot kommandoen i en brugers crontab-fil til at køre et program ved opstart.
Fordelene er at du aå kan lave en unik bruger der kun kører den valgte process og som ikke nødvendigvis har root-adgang hvis det ikke er nødvendig.

Du logger bare ind, eller su'er til den valgte bruger. Derfra skal du så redigere denne brugers crontab-fil med crontab -e

Tilføj så sidst i denne fil på sin egen seperate linje.

@reboot sti/til/eksekverbar/.fil

Og huske at gemme.. eventuelt kan du også bruge screen så kan du altid tage fat i processen og se hvad den har skrevet til stdout. Det gøres på følgende måde.

Du skal selvfølgelig have screen inatalleret.

I crontab-filen skriver du så følgende.

@reboot screen -S sti/til/eksekverbar/.fil

Det er så en god ide at gemme det du vil køre i en undermappe i homemappen for den bruger du vil have skal køre programmet og så referere til den fulde sti fra crontab-filen så undgår du besværligt tilladelseshalløj og filen kommer ikke i karambolage med pakkesystemet hvis du bruger noget aådant.

Jeg har selv brugt denne metode til blandt andet at køre syncthing som spytter en masse informationer ud på stdout og som jeg måske kan have glæde af at læse senere. Jeg akan så bare forbinde med screen (læs selv op på dette) se hvad den skriver og så bare detache og lade programmet køre videre når jeg er færdig. Super smart og nyttigt til at debugge programmer på farten uden at afbryde dem.
  • Log ind eller opret dig for at tilføje kommentarer

Svar søges

den er sjov 0
llumos Unix-operativsystem, 0
Den er go 0
14. februar = I Love Free Software Day 0
Lokal fil-deling - for de dovne. 0

Seneste aktivitet

"Intet realistisk alternativ" - mig i r*ven 17
Open source events i danmark? 3
Virtuel maskine? 4
Gode anmeldelser Zorin OS 17.3 8
Open Source-eksperimentet 5
En snak om Linux-kompatibel software 7
Nulstilling af adgangskode 6
PCLinuxOS 27
Ingen Mint 5
Linux App Store Flathub når 3 milliarder downloads 2
Digitaliseringsministeriet sætter gang i pilotprojekt om digital suverænitet 3
Mest sikker webbrowser 5
Firefox 2
Privatbeskeder 7
Backup/synkronisering? 3
BigLinux 5
Chatgpt satire 1
Læsning af databasefil i Firefox 2
Vanilla OS 15
Pepsi Challenge 4

© 2025 Linuxin og de respektive skribenter

Oprettet og drevet af nørder siden 2004 !