Alle resultatene av søkene mine har til slutt å gjøre med hostname eller uname -n. Jeg slo opp håndboken for begge, på jakt etter lure alternativer, men ikke lykke.

Jeg prøver å finne et ekvivalent med OSX «s scutil --get ComputerName på Linux-systemer . På Mac OS X brukes datamaskinnavnet som en menneskelig lesbar identifikator for datamaskinen. Den vises på forskjellige administrasjonsskjermbilder ( f.eks. på lagerstyring, Bonjour-basert ekstern tilgang, .. .) og fungerer som standard vertsnavn (etter filtrering for å håndtere mellomrom osv.).

Kommentarer

  • Jeg kan ta feil, men jeg definerer navnet på datamaskinen som nettverksnavn betyr at den ikke har ' ikke et fast navn, ikke sant? Når du installerer en Linux eller OSX på en maskin, velger du vanligvis et navn på den datamaskinen (som er det standard nettverksnavnet jeg antar). Den bærbare datamaskinen min kan for eksempel hete " FooBar " men når jeg kobler til et nettverk på jobben får jeg et vertsnavn som " machine42.work.localnetwork ".
  • @StephenKitt Har dette nøyaktig et annet navn i Linux-systemer?
  • @ Sh3ljohn hvilket formål tjener datamaskinnavn osx? Jeg tror ikke ' det ' er noe tilsvarende i linux-systemet.
  • Ga du noe annet navn enn vertsnavn når du installerer datamaskinen? Prøv å søke etter det navnet i / etc: grep -ri 'name' /etc
  • @Bibek_G Jeg vil bruke dette til å identifisere maskinen som jeg kjører fra en programvare av meg . UUID er utilstrekkelig fordi det kan være flere OS ' som er installert på samme disk som igjen kjører på samme maskin.

Svar

Det nærmeste ekvivalenten med et lesbart (og menneskelig valgt) navn for en datamaskin som kjører Linux, er standard vertsnavn lagret i /etc/hostname. På noen (ikke alle) Linux-distribusjoner blir dette navnet oppgitt under installasjonen som datamaskinens navn (men med begrensninger på nettverksnavnet, i motsetning til Mac OS Xs datamaskinnavn).

Kommentarer

  • Men denne filen brukes ofte til å angi hostname og uname -n, og @ Sh3ljohn ønsket eksplisitt for å unngå utdata fra disse to kommandoene.

Svar

Du kan bruke sudo dmidecode | grep -A3 "^System Information" kommando. Denne kommandoen leser informasjon fra BIOS og maskinvaren. Eksempel fra maskinen min:

System Information Manufacturer: LENOVO Product Name: 20BHA06YGB Version: ThinkPad W540 

Kilder: [1]

Kommentarer

  • Jeg tror ikke ' t tror dette er det jeg leter etter; dette krever administratorrettigheter og gir deg informasjon om maskinvaren, ikke om et brukervalgt navn da du installerte operativsystemet på den maskinen.
  • brukervalgt navn? det høres ut som vertsnavn for meg.
  • Beklager, jeg fikk feil. Jeg vil legge igjen svaret uansett. Det eneste brukervalgte navnet ved hjelp av Linux-distribusjonene jeg kjenner er vertsnavnet.
  • @Bibek_G Dette er grunnen til at jeg ' ikke kan finne svaret på spørsmålet mitt, på OSX dette er to forskjellige ting. Jeg leter etter navnet jeg skrev inn da jeg installerte Linux på den maskinen, som jeg antar ville være standard nettverksnavn.
  • @jschlichtholz Selvfølgelig kan dette svaret være nyttig for noen andre, men som jeg sa til Bibek_G, jeg ser etter hva som kan være standard nettverksnavnet da.

Svar

Strengt tatt , det er ikke noe som heter nettverksrelatert «datamaskinnavn» i Linux, og jeg klarer faktisk ikke å se hensikten med å navngi datamaskiner som ikke er i nettverket.

Årsaken til at datamaskinen din har forskjellige strenger i /etc/hostname, /etc/hosts og uname -n er at DHCP-protokollen har fasiliteter for å gi et vertsnavn sammen med IP-adresse til en ny vert. «machine42.work.localnetwork» ser ut akkurat som et navn DHCP-serveren vil velge. Denne strengen lagres deretter og returneres av gethostname samtaler.

Se også:

Hvordan endrer jeg datamaskinnavnet? (tl; dr echo computername > /etc/hostname) – at «s hva skjer når du velger et navn under installasjonen.

Hvordan endrer jeg vertsnavnet uten omstart? (tl; dr hostname computername) – det er det som skjer når du får en DHCP-leieavtale med et vertsnavn.

Kommentarer

  • " Strengt tatt er det ikke noe som heter nettverksrelatert " datamaskinnavn " i Linux " – Gjør ikke ' t avhenger det av tjenesten? For eksempel tror jeg Windows-ekvivalenten er NetBIOS-navnet. Det er det vennlige navnet uten domenedelene, og det kan være forskjellig fra vertsdelen av et domenenavn (fullt kvalifisert eller ikke).
  • NetBIOS-navnet er fortsatt et nettverksnavn, selv om det ' er forskjellig fra et domenenavn.
  • tools.ietf.org/html/rfc1178 anbefaler IKKE å bruke et domenenavn for navnet på datamaskinen din. Én datamaskin kan tilby en server for flere domenenavn. I dette tilfellet kan vertsnavnet bare levere en av serverne.

Svar

De andre svarene sier at det er nei Linux-ekvivalent, selv om det faktisk er det. Det kalles " Ganske vertsnavn ". Kjør følgende kommando for å få det:

 hostnamectl --pretty  

Kommentarer

  • hostnamectl krever SystemD. Den fine informasjonen er lagret i /etc/machine-info
  • +1 Jeg synes dette burde være det valgte svaret. — Wikipedia sier: " Et vertsnavn er et domenenavn som har en tilknyttet DNS-post. " Kombiner dette med tools.ietf.org/html/rfc1178 som anbefaler IKKE å bruke et domenenavn til navnet på datamaskinen din. Dette betyr at man heller ikke skal bruke et vertsnavn for navnet på datamaskinen din. Hva gir når en enkelt datamaskin prøver å kjøre to nettverk samtidig? I dette tilfellet vertsnavnet kan ' ikke være vertsnavnet for dem begge. vertsnavnet er tydelig overbelastet, og prøver å være både et DNS-vertsnavn og et maskinnavn på t han samme tid.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *