จะทำการเปลี่ยนแปลงกับ Mac / etc / hosts ได้อย่างไร


13

สำหรับ Mac ของฉัน (ใช้ระบบปฏิบัติการ 10.6.8) ฉันสามารถแก้ไขไฟล์โฮสต์ของฉันได้sudo vi /etc/hostsแต่การเปลี่ยนแปลงที่ฉันทำดูเหมือนจะยังคงอยู่หลังจากรีสตาร์ทหรืออาจตื่นจากโหมดสลีป

มีวิธีที่จะทำให้การเปลี่ยนแปลงเหล่านี้ยังคงอยู่หรือไม่?

นี่คือตัวอย่างการเปลี่ยนแปลงที่เพิ่มการแทนที่สำหรับ www.example.com:

$ cat /etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost 
fe80::1%lo0 localhost

1.2.3.4 www.example.com

อัปเดต:ฉันใช้ซอฟต์แวร์ Cisco AnyConnect VPN ด้วยและนั่นก็กลายเป็นเบาะแส ดูคำตอบของ Daniel ด้านล่าง

ปรับปรุง 2013/05/20:ลักษณะการทำงานนี้ได้รับการแก้ไข / การเปลี่ยนแปลงโดย Cisco AnyConnect ใน v3.0.5080 (หรือสูงกว่า) เปิดตัวในฤดูใบไม้ผลิปี 2013 บันทึกประจำรุ่น - hosts.acค้นหา



1
@ user606723 /etcเป็น symbolic link /private/etcไป
Daniel Beck

Brian คุณใช้ซอฟต์แวร์ Cisco VPN หรือไม่ คุณมีไฟล์/etc/hosts.acไหม
Daniel Beck

บิงโก! ฉันกำลังเผชิญกับการใช้ Cisco AnyConnect VPN ฉันอัปเดตไฟล์ /etc/hosts.ac และตอนนี้ก็ยังคงมีการเปลี่ยนแปลง กรุณาใส่นี่เป็นคำตอบและฉันจะยอมรับมัน
BrianC

คำตอบ:


16

คุณกำลังใช้ซอฟต์แวร์ Cisco AnyConnect ซึ่งจะเขียนทับด้วย/private/etc/hosts /private/etc/hosts.acเพียงแก้ไขไฟล์นั้นแทน


14

ฉันมีปัญหาเดียวกัน ในกรณีของฉันฉันใช้ไคลเอนต์ F5 VPN คุณไม่ควรแก้ไข/etc/hostsในขณะที่ไคลเอ็นต์ VPN กำลังทำงานเนื่องจากการเปลี่ยนแปลงเหล่านี้จะถูกลบเมื่อคุณปิดไคลเอนต์ VPN หากต้องการทำการเปลี่ยนแปลงอย่างถาวรให้แก้ไข/etc/hostsไฟล์ก่อนที่จะเริ่มไคลเอนต์ VPN


สำหรับฉันในฐานะ F5 VPN มันมีประโยชน์มาก
เบิร์ต

1

ขอบคุณคำอธิบายของ @ Danial การใช้สคริปต์ตัวตัดคำเพื่อแก้ไขโฮสต์แทนที่จะแก้ไขโดยตรงจะช่วยลดความเจ็บปวดของคุณได้มาก

#!/bin/sh
ORIG=/etc/hosts
SUCKER=/etc/hosts.ac
sudo vim $ORIG
pid=$!
wait $pid
sudo cp $ORIG $SUCKER
echo "$ORIG copied to $SUCKER"

1

ฉันยังมีปัญหานี้กับไคลเอนต์ Pulse Secure VPN ซึ่งทำให้ไฟล์ /etc/pulse-hosts.bak ที่คุณควรแก้ไขด้วย การแก้ไข / etc / hosts ก่อนที่จะเปิด Pulse ก็ใช้งานได้เช่นกัน


1
การแก้ไขไฟล์สำรองมีประโยชน์อย่างไร
สกอตต์

จะไม่เดาว่า - ทำงานให้ฉัน!
Ricky Levi

โดยพื้นฐานแล้วการไหลจะเป็นเช่นนี้เมื่อ Pulse เปิดการเชื่อมต่อ: cp /etc/hosts /etc/pulse-hosts.bakจากนั้นมันจะเพิ่มสิ่งที่ต้องการแก้ไขเพื่อตั้งค่าการเชื่อมต่อ Pulse จากนั้นเมื่อเสร็จสิ้นก็จะดำเนินการ: mv /etc/pulse-hosts.bak /etc/hostsดังนั้นการเปลี่ยนแปลงใด ๆ ที่คุณทำกับ / etc / hosts จะถูกลบออกหาก Pulse เปิดเมื่อคุณทำการแก้ไข
turiyag

0

ไคลเอนต์ VPN ส่วนใหญ่สร้างไฟล์สำรองของ / etc / host เมื่อคุณเริ่ม VPN

เพื่อให้การเปลี่ยนแปลงของคุณเป็นไปอย่างถาวรเพียงแค่เปลี่ยนไฟล์โฮสต์โดยไม่ต้องเชื่อมต่อ VPN

เมื่อคุณเริ่มต้น VPN ไฟล์สำรองข้อมูลจะถูกสร้างขึ้นพร้อมกับการเปลี่ยนแปลงของคุณและไคลเอนต์ VPN ใด ๆ ที่แทนที่ไฟล์โฮสต์จะยังคงเก็บการเปลี่ยนแปลงของคุณ

ชื่อไฟล์สำรองทั่วไปโดยไคลเอนต์:

  • Pulse Secure Client - pulse-hosts.bak
  • Cisco Any Connect - hosts.ac

สิ่งนี้ดูเหมือนจะเป็นคำตอบที่เป็นที่ยอมรับมากขึ้นและคุณสะกดคำว่า "ใด ๆ "
G-Man พูดว่า 'Reinstate Monica'

ขอบคุณ ... คำตอบที่ยอมรับคือการแนะนำให้ WAR อัปเดตไฟล์สำรอง คำตอบนี้เป็นการอัพเดทไฟล์โฮสต์ในขณะที่ VPN ถูกตัดการเชื่อมต่อ โซลูชันนี้จะทำงานสำหรับไคลเอนต์ VPN ใด ๆ
xxnations
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.