İşletim sistemi ana bilgisayar adını değiştirmek istiyorum ancak yeniden başlatmak istemiyorum.
Düzenledim /etc/hostname
ancak 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/hostname
ancak 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 hostname
ve 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/hostname
kullanı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/hosts
okuyan 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)
hostname
yeni 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/hostname
ve /etc/hosts
bunlar, bir yeniden başlatmadan veya bir çökmeden sonra okunacak olan dosyalar olduğundan, ki vaktinden bekliyoruz.
hostnamectl
Komut Masaüstü ve Sunucu sürümleri hem varsayılan yüklemesinin bir parçasıdır.
Ana bilgisayar adının ayarlanması hostname
komut 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/hosts
hala ayrı olarak yapılmalıdır.
hostnamectl set-hostname new-hostname
Bu komut systemd-services
paketin bir parçasıdır (Ubuntu 14.04'ten itibaren timedatectl
ve localectl
komutlarını da içerir ). Ubuntu geçerken systemd
, bu araç gelecek.
hostnamectl
mevcut 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/hosts
diğ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.1
için localhost
ve 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/hosts
ve 127.0.0.1 newhost oldhost
. Yani bir 127.0.1.1
adrese gerek yok mu?
sudo nano /etc/hosts
değişikliğin yürürlüğe girmesi için kullanmak zorunda kaldım ; sudo olmadan, sadece nano /etc/hosts
değ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_HERE
Bu, 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/hostname
ve sudo vi /etc/hosts
ve 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 sudo
X11 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 awk
ilk argümanın etrafına tırnak koyar, xauth add
çünkü xauth
giriş ve çıkış formatı simetrik değildir.
Yeniden başlatma olmadan:
/etc/hostname
/etc/hosts
buna göre güncelleyinsudo sysctl kernel.hostname=mynew.local.host
Geç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/hostname
vb.), 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/hostname
istediğ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
( --file
root olarak) seçeneği:
sudo hostname -F /etc/hostname
Hostname (5) ile işleme /etc/hostname
ve 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.conf
hala 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/hostname
Dosyayı 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