Home Operation and Maintenance Linux Operation and Maintenance What to do if modifying the hosts file in Linux is invalid

What to do if modifying the hosts file in Linux is invalid

Dec 28, 2019 am 10:48 AM
linux

What to do if modifying the hosts file in Linux is invalid

#What should I do if modifying the hosts file in Linux fails?

1. Linux often fails to take effect after modifying the hostName of the local alias /etc/hosts. Solution

Linux modifies the hostName of the local alias /etc/hosts It often does not take effect.

For example, the content of our /etc/hosts is as follows:

#192.68.1.10 message.xxx.com
192.68.1.11 message.xxx.com

But ping message.xxx.com still points to 192.68.1.10.

Related recommendations: "linux tutorial"

## Generally there are 2 solutions:

1). Restart, this is the most direct, reliable and stable method. If it is sometimes inconvenient to restart, you can use the second method.

2). Modify the /etc/sysconfig/network file and change HOSTNAME to the corresponding alias, as follows:

NETWORKING=yes
HOSTNAME=host1

Restart the network service after modification

service network restart (本质是/etc/init.d/network)

3). If it still doesn't work after restarting the server, it may be caused by the local DNS cache.

Check whether nscd is enabled: ps -ef|grep nscd

Directly turn off the Linux nscd cache service:

/etc/init.d/nscd stop

2. Linux DNS

Linux itself does not have dns cache. If you want to use dns cache, you need to install a service program NSCD (name service cache daemon).

nscd caches three services passwd group hosts, so it will record Three libraries correspond to the sources /etc/passwd, /etc/hosts and /etc/resolv.conf. Each library saves two caches, one for records found and one for records not found. Each cache saves a time to live (TTL).

Installation:

  yum install nscd

Modify the configuration file /etc/nscd.conf, enable dns caching, and modify this line

 enable-cache hosts yes

If the nscd service is enabled, there will be dns cache, otherwise there will be no dns cache.

Start, stop, and restart the service

service nscd start | stop | restart

nscd configuration:

You can enable the local DNS cache by editing the /etc/nscd.conf file and adding the following line:

enable-cache hosts yes

The configuration on the Alibaba Cloud host is as follows:

[root@iZ2571ykq ~]# cat /etc/nscd.conf 
#logfile        /var/log/nscd.log
threads         6
max-threads     128
server-user     nscd
debug-level     5
paranoia        no
enable-cache    passwd      no
enable-cache    group       no
enable-cache    hosts       yes
positive-time-to-live   hosts   5
negative-time-to-live   hosts       20
suggested-size  hosts       211
check-files     hosts       yes
persistent      hosts       yes
shared          hosts       yes
max-db-size     hosts       33554432

The explanation of relevant parameters is as follows:

logfile debug-file-name : Specify the file name to which debugging information is written.

debug-level value: Set the desired debugging level.

threads number: This is the number of threads started waiting for requests. A minimum of 5 threads will be created.

server-user user: If this option is set, nscd will run as this user, not as root. If each user uses a separate cache (-S parameter), this option will be ignored

enable-cache service : Enable or disable the specified service cache.

positive-time-to-live service value: Set the TTL (time to live) of the service's positive items (successful requests) in the specified cache. Value is in seconds. Larger values ​​will increase the cache hit rate and thus reduce the average response time, but will increase cache consistency issues.

negative-time-to-live service value: Set the TTL (time to live) of negative items (failed requests) in the specified cache. Value is in seconds. Performance will be significantly improved if there are files owned by uids that are not in the system database (such as when unpacking Linux kernel sources as root); the value should be kept small to reduce cache consistency issues.

suggested-size service value: This is the size of the internal hash table, value should remain a prime number for optimization.

check-files service : Enable or disable checking for changes in files belonging to the specified service. These files are /etc/passwd, /etc/group, and /etc/hosts.

Viewing and clearing nscd

nscd cache DB files are under /var/db/nscd.

nscd -g  查看统计信息

Clear the nscd cache:

nscd -i passwd
nscd -i group
nscd -i hosts

Of course, delete the cache library or stop the nscd service first:

rm -f /var/db/nscd/hosts
service nscd restart
Or directly stop the nscd service service nscd stop.

The above is the detailed content of What to do if modifying the hosts file in Linux is invalid. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

PHP Tutorial
1511
276
How to make PHP container support automatic construction? Continuously integrated CI configuration method of PHP environment How to make PHP container support automatic construction? Continuously integrated CI configuration method of PHP environment Jul 25, 2025 pm 08:54 PM

To enable PHP containers to support automatic construction, the core lies in configuring the continuous integration (CI) process. 1. Use Dockerfile to define the PHP environment, including basic image, extension installation, dependency management and permission settings; 2. Configure CI/CD tools such as GitLabCI, and define the build, test and deployment stages through the .gitlab-ci.yml file to achieve automatic construction, testing and deployment; 3. Integrate test frameworks such as PHPUnit to ensure that tests are automatically run after code changes; 4. Use automated deployment strategies such as Kubernetes to define deployment configuration through the deployment.yaml file; 5. Optimize Dockerfile and adopt multi-stage construction

System requirements to install linux System requirements to install linux Jul 20, 2025 am 03:49 AM

Linuxcanrunonmodesthardwarewithspecificminimumrequirements.A1GHzprocessor(x86orx86_64)isneeded,withadual-coreCPUrecommended.RAMshouldbeatleast512MBforcommand-lineuseor2GBfordesktopenvironments.Diskspacerequiresaminimumof5–10GB,though25GBisbetterforad

What is the code number of Bitcoin? What style of code is Bitcoin? What is the code number of Bitcoin? What style of code is Bitcoin? Jul 22, 2025 pm 09:51 PM

As a pioneer in the digital world, Bitcoin’s unique code name and underlying technology have always been the focus of people’s attention. Its standard code is BTC, also known as XBT on certain platforms that meet international standards. From a technical point of view, Bitcoin is not a single code style, but a huge and sophisticated open source software project. Its core code is mainly written in C and incorporates cryptography, distributed systems and economics principles, so that anyone can view, review and contribute its code.

How to use the `shutdown` command How to use the `shutdown` command Jul 15, 2025 am 12:26 AM

The shutdown command of Linux/macOS can be shut down, restarted, and timed operations through parameters. 1. Turn off the machine immediately and use sudoshutdownnow or -h/-P parameters; 2. Use the time or specific time point for the shutdown, cancel the use of -c; 3. Use the -r parameters to restart, support timed restart; 4. Pay attention to the need for sudo permissions, be cautious in remote operation, and avoid data loss.

How to build an independent PHP task container environment. How to configure the container for running PHP timed scripts How to build an independent PHP task container environment. How to configure the container for running PHP timed scripts Jul 25, 2025 pm 07:27 PM

Building an independent PHP task container environment can be implemented through Docker. The specific steps are as follows: 1. Install Docker and DockerCompose as the basis; 2. Create an independent directory to store Dockerfile and crontab files; 3. Write Dockerfile to define the PHPCLI environment and install cron and necessary extensions; 4. Write a crontab file to define timing tasks; 5. Write a docker-compose.yml mount script directory and configure environment variables; 6. Start the container and verify the log. Compared with performing timing tasks in web containers, independent containers have the advantages of resource isolation, pure environment, strong stability, and easy expansion. To ensure logging and error capture

How to Securely Erase a Hard Drive on Linux How to Securely Erase a Hard Drive on Linux Jul 24, 2025 am 12:08 AM

Confirm the target hard disk device name (such as /dev/sda) to avoid accidentally deleting the system disk; 2. Use sudoddif=/dev/zeroof=/dev/sdXbs=1Mstatus=progress to overwrite the zero value in full disk, which is suitable for most scenarios; 3. Use sudoshred-v-n3/dev/sdX for three random data overwrites to ensure that it cannot be restored; 4. Optionally execute sudobadblocks-wsv/dev/sdX for destructive write tests; finally use sudohexdump-C/dev/sdX|head to verify whether it is all zero and complete safe erasing.

how to add a user in linux how to add a user in linux Jul 21, 2025 am 03:32 AM

Add useradd or adduser commands commonly used by users in Linux. 1. When using useradd, you need to manually set the password and home directory. Add the -m parameter to create the home directory; 2. You can specify the shell, group and UID through parameters such as -s, -G, and -u; 3. Adduser is an interactive command, suitable for novices to automatically complete the configuration; 4. Pay attention to permissions, username uniqueness and home directory permissions; 5. Userdel can be used to delete users and home directory by mistake. Mastering these key points allows you to manage users efficiently and securely.

How to get help for a command in Linux? How to get help for a command in Linux? Jul 17, 2025 am 12:55 AM

There are four ways to obtain command help in Linux: First, use --help to view basic usage, which is suitable for quickly understanding common options and parameters of commands; second, use man to view the complete man page, providing detailed command descriptions and examples; third, use info to view structured help, which is suitable for information navigation of complex commands such as gcc and make; fourth, refer to network resources and communities, such as Linux China, StackOverflow and other platforms to obtain Chinese materials or solve specific problems. It is recommended for beginners to master it step by step from --help and man.

See all articles