I was using acd_cli,

mounted to my file system last night, and picked up today to finish up.

I navigated to the directory I mount ACD in and listed the contents.

root@vultr:/var/cloud# ls -alF
ls: cannot open directory '.': Bad address

Only to see an error that I haven’t seen yet (in my experience with ACD_CLI.)

I thought maybe the mount went bad.

It was throwing an  error when I tried to mount the file system again:

16-12-28 18:01:26.195 [WARNING] [acdcli.cache.db] - Sqlite database integrity check failed. 
You may need to clear the cache if you encounter any errors.
Traceback (most recent call last):
File "/usr/local/bin/acdcli", line 9, in <module>
load_entry_point('acdcli==0.3.2', 'console_scripts', 'acdcli')()
File "/usr/local/bin/acd_cli.py", line 1652, in main
cache = db.NodeCache(CACHE_PATH, SETTINGS_PATH, args.check)
File "/usr/local/lib/python3.5/dist-packages/acdcli/cache/db.py", line 65, in __init__
c.execute(_ROOT_ID_SQL)
sqlite3.DatabaseError: database disk image is malformed
root@vultr:~# sqlite3.DatabaseError: database disk image is malformed
sqlite3.DatabaseError:: command not found

Since the local cache could be corrupt, let’s go ahead and clear it:

Your cache directory should be .cache in your home profile.

nodes.db is our database cache.

rm .cache/acd_cli/nodes.db

Then we can run our sync again

 acd_cli sync

You should see “Getting Changes…”:

Wait for this to complete

take note of any errors, possibly sync another time, and go ahead and try your mount.

 

acd_cli mount acd

All better!

This will bring our SQLite database back to normal due to any corruption and allow us to mount ACD and continue to use ACD_CLI

 


 

Some causes of corruption:

  • Mounting ACD to filesystem, reading/writing to the drive via the mount and also synchronizing the drive with the local cache.
  • ?
  • ?
  • ?