Tại nơi làm việc, tôi làm việc trên một trang web nhỏ sử dụng máy chủ Ubuntu được lưu trữ trên các phiên bản Amazon EC2. Chúng tôi có hai máy chủ web và tại bất kỳ thời điểm nào, một trong số chúng là 'trực tiếp' và một là 'thử nghiệm', nhưng khi chúng tôi có các tính năng hoặc sửa lỗi mới hoạt động trên máy chủ 'thử nghiệm', chúng tôi chạy một kịch bản sử dụng API AWS để hoán đổi địa chỉ IP được gán cho hai hộp để các tên miền được phục vụ bởi hai máy chủ được hoán đổi.
Do đó, tại bất kỳ thời điểm nào, một trong những máy chủ này có thể là máy chủ 'sống' hoặc máy chủ 'thử nghiệm' của chúng tôi, nhưng đây không phải là trạng thái vĩnh viễn.
Để tránh nhầm lẫn khi SSH vào một trong hai máy chủ này, đặc biệt là nếu một người ngớ ngẩn nào đó (như tôi) để một phiên SSH mở trong một thời gian dài và bị nhầm lẫn về việc họ đang sử dụng máy chủ nào, tôi muốn sửa đổi tên máy chủ của hai máy chủ sao cho lời nhắc và tiêu đề trong cửa sổ terminal sẽ đọc ubuntu@ourwebsiteLIVE
hoặc ubuntu@ourwebsiteTESTING
tùy thuộc vào việc máy chủ hiện đang hoạt động hay đang thử nghiệm.
Tôi biết tôi có thể làm điều này bằng cách chạy hostname ourwebsiteLIVE
vv trong tập lệnh hoán đổi IP của chúng tôi và đã thực hiện điều này. Nó hoạt động, nhưng bây giờ mỗi khi tôi có sudo
bất cứ thứ gì trên máy chủ của chúng tôi đều in
sudo: không thể giải quyết máy chủ ourwebsiteLIVE
điều này dường như không phá vỡ bất cứ điều gì, nhưng khá khó chịu. Tôi nghĩ rằng nó cũng có thể sẽ phá vỡ mọi thứ trong tương lai nếu tôi cố gắng xâu chuỗi các lệnh đầu ra cho nhau, vì vậy tôi đoán nó về mặt kỹ thuật không chỉ là vấn đề thẩm mỹ.
Tất cả các giải pháp tôi đã thấy đối với thông báo 'không thể giải quyết tên máy chủ' liên quan đến sửa đổi /etc/hosts
hoặc một số tệp tương tự và sau đó khởi động lại máy chủ . Tôi có thể thấy rằng điều này sẽ tốt cho nhiều trường hợp sử dụng, nhưng không lý tưởng cho chúng tôi vì chúng tôi sửa đổi tên máy chủ thường xuyên và lập trình; chúng tôi không muốn phải đợi khởi động lại mỗi lần chúng tôi chạy tập lệnh hoán đổi.
Có cách nào để tôi có thể làm cho thông báo lỗi biến mất mà không phải khởi động lại không?