İşletim sistemi ana bilgisayar adını değiştirmek istiyorum ancak yeniden başlatmak istemiyorum.
Düzenledim /etc/hostnameancak uygulanması için yeniden başlatılması gerekiyor. Bu nasıl önlenir?
İşletim sistemi ana bilgisayar adını değiştirmek istiyorum ancak yeniden başlatmak istemiyorum.
Düzenledim /etc/hostnameancak uygulanması için yeniden başlatılması gerekiyor. Bu nasıl önlenir?
Yanıtlar:
Bu kolay. Gear (ekranın sağ üst köşesinde bulunan) simgesine tıklayın, "Bu bilgisayar hakkında" ekranını açın (Gear simgesinde bulunur) ve "Aygıt adı" nı düzenleyin.
Veya bir terminalde aşağıdaki komutu kullanın:
sudo hostname your-new-name
Bu, siz yeniden başlatana kadar ana bilgisayar adını yeni adınıza ayarlayacaktır. Bkz man hostnameve nasıl bilgisayar adını değiştiririm? daha fazla bilgi için. _Adınızı kullanmayın .
Not
Yeniden başlattıktan sonra yaptığınız değişiklikler /etc/hostnamekullanılacaktır, bu nedenle (soruda söylediğiniz gibi), yine de kullanmalısınız.
sudo -H gedit /etc/hostname
(veya başka bir düzenleyici), böylece bu dosya ana bilgisayar adını içerir.
Dosyanın doğru kurulduğunu test etmek için şunu çalıştırın:
sudo service hostname start
Ayrıca /etc/hostsokuyan satırı da düzenlemeli ve değiştirmelisiniz:
127.0.1.1 your-old-hostname
Böylece şimdi yeni ana bilgisayar adınızı içerir. (Bu gereklidir, aksi takdirde birçok komut çalışmayı durduracaktır.)
/etc/hosts(diğer cevaplara bakınız)
hostnameyeni adın hemen yürürlüğe girmesine neden olacak olsa da, siz de değişmediğiniz sürece "kalıcı" değildir /etc/hostnameve /etc/hostsbunlar, bir yeniden başlatmadan veya bir çökmeden sonra okunacak olan dosyalar olduğundan, ki vaktinden bekliyoruz.
hostnamectlKomut Masaüstü ve Sunucu sürümleri hem varsayılan yüklemesinin bir parçasıdır.
Ana bilgisayar adının ayarlanması hostnamekomut ve düzenleme ile birleştirir /etc/hostname. Statik ana bilgisayar adını ayarlamanın yanı sıra, Ubuntu'da kullanılmayan "güzel" ana bilgisayar adını da ayarlayabilir. Ne yazık ki, düzenleme /etc/hostshala ayrı olarak yapılmalıdır.
hostnamectl set-hostname new-hostname
Bu komut systemd-servicespaketin bir parçasıdır (Ubuntu 14.04'ten itibaren timedatectlve localectlkomutlarını da içerir ). Ubuntu geçerken systemd, bu araç gelecek.
hostnamectlmevcut değil. Sanırım Ubuntu'nun bazı lezzetleri henüz sistem kullanmıyor.
Ana bilgisayarı veya bilgisayar adını ubuntu'da yeniden başlatmadan değiştirme
/ Etc / hostname dosyasını düzenleyin ve yeni değere geçin,
nano /etc/hostname
/ Etc / hosts dosyasını düzenleyin ve eski 127.0.1.1 satırını yeni ana bilgisayar adınızla değiştirin
127.0.0.1 localhost
127.0.1.1 ubuntu.local ubuntu # change to your new hostname/fqdn
Not : Ben bunu bir forum> Edit / etc / hosts dosyasında okudum ve eski 127.0.1.1 satırını yeni ana bilgisayar adınızla değiştirdim (eğer bunu yapmazsanız, artık sudo kullanamazsınız. , grub menüsünde ESC tuşuna basın, kurtarmayı seçin ve ana bilgisayar dosyanızı doğru ayarlara getirin)
Şimdi yeniden başlattıktan sonra, ana makine adınız seçtiğiniz yeni adınız olacak
Yeniden başlatmadan değiştirmek için , / etc / hostname dosyasını düzenledikten sonra sadece hostname.sh dosyasını kullanabilirsiniz. Her iki ana bilgisayar adınızı da / etc / hosts dosyasında (127.0.0.1 newhost oldhost) tutmalısınız.
sudo service hostname start
Not : Değişikliği etkin hale getirmek için yukarıdaki komut. Bu dosyaya kaydedilen ana bilgisayar adı (/ etc / hostname), sistem yeniden başlatıldığında korunacaktır (ve aynı servis kullanılarak ayarlanacaktır).
sudo: unable to resolve host old-hostname. Bu kısım için, jesperado çözümü iyi çalışıyor.
/etc/hostsdiğerleri de dahil olmak üzere 12.04.2 LTS'de başarısız olmaya başlar . Güncellediğinizden emin olunw/sbin/reboot/etc/hosts
127.0.0.1için localhostve 127.0.1.1özel bir ana makine adı için. Sağ? Sonra, cevabınızın sonuna doğru, bir rebot olmadan bir eylem için , /etc/hostsve 127.0.0.1 newhost oldhost. Yani bir 127.0.1.1adrese gerek yok mu?
sudo nano /etc/hostsdeğişikliğin yürürlüğe girmesi için kullanmak zorunda kaldım ; sudo olmadan, sadece nano /etc/hostsdeğişikliği kaydetmedim
Ubuntu'yu kurarken varsayılan ad ayarlandı. Ana bilgisayarları ve ana bilgisayar adı dosyalarını düzenleyerek, hem Masaüstünde hem de Sunucu'da istediğinizi kolayca değiştirebilirsiniz. Aşağıda nasıl:
sudo hostname NEW_NAME_HEREBu, ana bilgisayar adını bir sonraki yeniden başlatmaya kadar değiştirir. Değişiklik mevcut terminalinizde hemen görünmeyecek. Yeni ana bilgisayar adını görmek için yeni bir terminal başlatın.
Adı kalıcı olarak değiştirmek için, ana bilgisayar dosyalarını düzenlemek için komutu çalıştırın:
sudo -H gedit /etc/hostname ve sudo -H gedit /etc/hosts
GUI'siz Ubuntu sunucusu için çalıştırmak sudo vi /etc/hostnameve sudo vi /etc/hostsve teker teker düzenleyin. Her iki dosyada da adını istediğin şekilde değiştir ve kaydet.
Son olarak, değişiklikleri uygulamak için bilgisayarınızı yeniden başlatın.
Ana bilgisayar adını belirtilen şekilde değiştiren bir komut dosyası. Yalnızca sudoX11 uygulamalarının yeniden başlatılması gerekmeden çalışmaya devam etmesini sağlar.
Kullanımı: sudo ./change_hostname.sh new-hostname
#!/usr/bin/env bash
NEW_HOSTNAME=$1
echo $NEW_HOSTNAME > /proc/sys/kernel/hostname
sed -i 's/127.0.1.1.*/127.0.1.1\t'"$NEW_HOSTNAME"'/g' /etc/hosts
echo $NEW_HOSTNAME > /etc/hostname
service hostname start
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"
su $SUDO_USER -c "xauth add $(xauth list | sed 's/^.*\//'"$NEW_HOSTNAME"'\//g' | awk 'NR==1 {sub($1,"\"&\""); print}')"işe yarar? Sadece merak.
xauth list) alır ve eski ana bilgisayar adını yeni ana bilgisayar adı ( sed) ile değiştirir. Sonra awkilk argümanın etrafına tırnak koyar, xauth addçünkü xauthgiriş ve çıkış formatı simetrik değildir.
Yeniden başlatma olmadan:
/etc/hostname/etc/hostsbuna göre güncelleyinsudo sysctl kernel.hostname=mynew.local.hostGeçerli ana bilgisayar adınızı şununla kontrol edin: hostname -f
sudo: unable to resolve host oldname, sysctl: setting key "kernel.hostname": Read-only file system. Belki de Proxmox içindeki bir BT olduğu için.
Yukarıdaki yaklaşımlar ( hostnamectl,, etc/hostnamevb.), Hemen anasistem adı değişikliği için çalışsa da, bulut-init - anasistem adının ayarını kontrol edebilen - diğer birçok şeyin arasında bulunur. Bu nedenle eğer bulut-init kuruluysa, yeniden başlatmanın ardından takılmayacaktır. Değişikliğin yeniden başlatmanın ardından kalmasını istiyorsanız, cloud-init config dosyalarını düzenlemeniz gerekir, cloud-in'in hostname set / update modülünü devre dışı bırakın :
sudo sed 's/preserve_hostname: false/preserve_hostname: true/' /etc/cloud/cloud.cfg
veya cloud-init'i tamamen devre dışı bırak:
sudo touch /etc/cloud/cloud-init.disabled
/etc/cloud/cloud.cfg. Paket adı nedir? Sadece cloud-init?
Mevcut ana bilgisayar adınızı almak için:
cat /etc/hostname
Bu, herhangi bir metin düzenleyicide değiştirilebilir. Ayrıca localhost dışındaki bir girişi 127.0.0.1 / etc / hosts dosyasında güncellemeniz gerekir.
/etc/hostnameistediğiniz ana bilgisayar adıyla değiştirin (düzenleyebilirsiniz sudo nano /etc/hostname)/etc/hosts, 127.0'ın yanındaki girişi değiştirin. İstediğiniz ana bilgisayar adıyla 1 .1 (düzenleyebilirsiniz sudo nano /etc/hosts)sudo service hostname restart; sudo service networking restart# if you do nothing you'll end up with: # * /etc/hostname (and 'hostname') managed via: 'preserve_hostame: false' # if you do not change /etc/hostname, it will be updated with the cloud # provided hostname on each boot. If you make a change, then manual # maintenance takes over, and cloud-init will not modify it.görüyorum ki şu anda Ubuntu 18'im yok, bu yüzden hafta sonlarına kadar test edemiyorum.
Bu yeniden başlatma olmadan ve herhangi bir terminal kullanımı olmadan.
Terminali aç. Kendiniz görün.
(Daha eski sürümler için, metin kutusu düzenlenemez.)
Orijinal Yazarın sorusuna klasik cevap düzenlediğiniz bir kez, yani /etc/hostname, bunu çalıştırarak yeniden başlatma olmadan uygulamak yapmak hostname (1) ile -F( --fileroot olarak) seçeneği:
sudo hostname -F /etc/hostname
Hostname (5) ile işleme /etc/hostnameve söz konusu programı şimdi yirmi yıldır Debian ve türevleri aynı olmuştur ve paket o sağlayarak etiketlendiği esansiyel ve gerekli ve IIRC ilk satırlarında anlamıyla aynı şeyi kullandık on yıl ( /etc/init/hostname.confhala içeriyor), bu yüzden kimsenin bundan zaten bahsetmediğine gerçekten şaşırdığımı söylemeliyim :)
sudo hostname your-new-name
sudo /etc/init.d/networking restart
Bence bu işi yapmalı
Cevapları okudum, ama sanırım bunu aradığınızı düşünüyorum:
/etc/hostnameDosyayı düzenledikten sonra bu iki komutu yerine getirmeniz yeterlidir .
$ sudo service hostname restart
$ exec bash
Bu kadar. Yeniden başlatmaya gerek yoktur.Ayrıca dosyadaki adı da değiştirdiğinizden emin olun /etc/hosts.
/etc/hosts(14.04 tarihinde onayladım).
DigitalOcean Topluluğu'ndan gelen cevaba dayanan çözüm .
Edit hosts dosyasını.
$ sudo nano /etc/hosts
Eski adı yenisiyle değiştirin .
127.0.0.1 localhost newname
Yeni ana bilgisayar adını ayarlayın.
$ sudo hostnamectl set-hostname newname