Linux Commands

How to Fix tar Command “Error: file changed as we read it” in Linux

The tar command is a commonly used tool for creating backups and archiving files in Linux systems. However, sometimes, when using the tar command, you may encounter the “error: file changed as we read it” error, which can be frustrating and hinder efficient system operation.

In this article, we will explore the “error: file changed as we read it” error, its causes, and solutions to fix it.

Understanding the “error: file changed as we read it” Error

The “error: file changed as we read it” error is a common error that occurs when using the tar command to create backups or archives in Linux systems. This error typically indicates that the tar command is trying to read a file that is being modified at the same time.

There are several scenarios that can trigger this error, such as the modification of a file during the backup process or the opening of a file by another program while the backup is in progress. This error can have a significant impact on the tar command operation, causing incomplete backups or archives.

Fixing the “error: file changed as we read it” Error

There are several solutions to fix the “error: file changed as we read it” error when using the tar command in Linux systems.

Solution 1: Using the –ignore-failed-read Parameters

One solution is to use the –ignore-failed-read parameters when using the tar command. This option instructs the tar command to ignore any errors encountered during the backup or archiving process, allowing the backup or archive process to continue despite the “error: file changed as we read it” error.

Note: This solution may result in incomplete backups or archives, leading to data loss.

Solution 2: Using the –exclude Option

Another solution is to use the –exclude option when using the tar command. This option instructs the tar command to exclude files that are being modified during the backup or archiving process, preventing the “error: file changed as we read it” error from occurring.

This solution is effective in preventing the error, but it requires manual identification and exclusion of files being modified during the backup process, which can be time-consuming.

Solution 3: Using the –warning=no-file-changed Option

A third solution is to use the –warning=no-file-changed option when using the tar command. This option instructs the tar command to treat the “error: file changed as we read it” error as a warning rather than an error, allowing the backup or archive process to continue.

This solution is effective in preventing the error from halting the backup or archiving process, but it can also result in incomplete backup.

Tips to Avoid the “error: file changed as we read it” Error

This error may be caused by files being archived by tar command itself being included in the tar archive file being generated.

Let’s take example to make it clearer:

tar cvf backup.tar .

The reason why the error is occurring is because the tar command is trying to create an archive file named “backup.tar“, which is also included in the list of files being archived. This causes the tar command to interpret “backup.tar” as both an input file and an output file, leading to an error because the file is being modified while it’s being archived.

To resolve the error, it is necessary to ensure that the output tar file is not included in the list of files being archived. This can be done by either changing the name or location of the output file, or by excluding it from the list of input files for the tar command. By doing so, the tar command will not interpret the output file as an input file, and the error will be avoided.

Conclusion

The “error: file changed as we read it” error is a common issue encountered when using the tar command in Linux systems. Understanding the causes of this error and implementing solutions such as using the –exclude option or making it sure that the output tar file is not being part of the files which are going to be archived.

About the author

Kashif

I am an Electrical Engineer. I love to write about electronics. I am passionate about writing and sharing new ideas related to emerging technologies in the field of electronics.