Próbuję utworzyć system operacyjny wykryć przenośną funkcję w skrypcie bash,
Więc chcę tylko wiedzieć, że plik "/etc/issue"
jest wspólny dla wszystkich Linuksowych Smaków?
login
etc
portability
Rahul Patil
źródło
źródło
/etc/*-release
plik z pewnymi informacjami.uname
może również zawierać pewne informacje, nie wiedząc, jak dokładny jest odcisk palca. Nie zapominaj, że każdy może zmodyfikować prawie wszystko w instalacji Linuksa, aby zasłonić żądane informacje, znajdzie to tylko w niezmodyfikowanych instalacjach.yum
lubapt-get
następnie na tej podstawie zainstaluje pakiety.Odpowiedzi:
Tak, jest to standardowy plik dla wielu dystrybucji. Jest standardem w większości dystrybucji, Fedora / CentOS / RHEL / Debian / Ubuntu itp.
Możesz przeczytać więcej na ten temat z
man issue
plikiem lub powiązanym plikiem/etc/issue.net
. Możesz zobaczyć stronę podręcznika emisyjnego.net, aby uzyskać więcej informacji i jak dołączyć makra do obu plików.Możesz także przeczytać więcej na ten temat w projekcie Linux From Scratch , Dostosowywanie logowania przy pomocy / etc / issue .
źródło
Oprócz odpowiedzi SLM, warto pamiętać, że każdy (z dostępem do roota) może edytować zawartość
/etc/issue
. Niektóre organizacje mogą to zrobić w celu przedstawienia ostrzeżeń lub zrzeczeń przed logowaniem, a inne mogą usunąć wszelką identyfikację dystrybucji ze względów bezpieczeństwa (nie ma znaczenia, jak skuteczny jest którykolwiek z tych środków).Dlatego chociaż problem / etc / może istnieć prawie cały czas, treść niekoniecznie nadaje się do wykrywania systemu operacyjnego (jak to ująłeś, lub bardziej prawdopodobne, dystrybucja Linuksa).
źródło
@ Odpowiedź EightBitTony jest poprawna. Nie istnieje też domyślnie na Fedorze 23.
Czy nie polegać na nim w celu identyfikacji losowych systemów. Chciałbym użyć
/etc/system-release
albo/etc/os-release
ale nie wiem, ile to jest uniwersalny.Czytanie trochę
/etc/os-release
pochodzi,systemd
więc myślę, że nie będzie działać z archaicznymi dystrybucjami (lub tymi, które nienawidząsystemd
). Nie można znaleźć wiarygodnych informacji o/etc/system-release
. Myślę, że trzeba sprawdzić wiele plików, jeśli zgodność jest ważna. Lub użyj,/etc/os-release
jeśli przypadki krawędzi nie są ważne.źródło