Thanks. I gave up on the backed-up tree a while ago and reinstalled Cygwin, but I'll keep this information in mind if I ever run into this again.
From: Cygwin <cygwin-bounces~dk068x=att....@cygwin.com> On Behalf Of Andrey Repin via Cygwin Sent: Friday, August 9, 2024 3:07 AM To: David Karr <davidmichaelk...@gmail.com>; cygwin@cygwin.com Cc: Andrey Repin <anrdae...@yandex.ru> Subject: Re: How to repair the symlinks in a copied cygwin64 tree Greetings, David Karr! > At my work, I had to have my laptop reimagined for various reasons. I had > them save my cygwin64 tree to external storage first. I now have the laptop > back, and I copied the entire tree back in, but now I Greetings, David Karr! > At my work, I had to have my laptop reimagined for various reasons. I had > them save my cygwin64 tree to external storage first. I now have the laptop > back, and I copied the entire tree back in, but now I realize I should have > done this differently, and I'm wondering how best to repair this. Some of > you can probably guess, but now all of the files that were symlinks in > Cygwin are now very small data files. I can tell they used to be symlinks > because when I cat one, it shows "!<symlink>" in the first characters. These symlinks usually point to Cygwin directory tree and should be fine. Just chmod +S them. > What is the best strategy for repairing this? The most simple-minded > approach that I can see is simply renaming the cygwin64 tree to get it out > of the way, and then just reinstalling Cygwin, and then copying in all the > files in my cygwin home directory in the saved tree. I will likely guess > wrong on what packages I had installed before. Is there some way I can > simply repair the symylink files directly? Easiest I've encountered is to 0. Have a backup of your existing installation, for reference. 1. Install Cygwin anew. 2. Pull /etc/setup/installed.db from backup into a temporary directory. 3. Get a list of manually installed packages from backup # sed -Ee '/ 1$/s/^([^[:space:]]+) [^[:space:]]+?(\.tar[^[:space:]]+ 1)$/\1 \1-0\2/; t; d;' < $backup/installed.db Warning note: There will be failures, not all package versions adhere to the same pattern. 4. Append the list to the end of current /etc/setup/installed.db 5. Run setup to pull the package "updates". > Besides the symlink problem, is there anything else that I might have > broken by doing it this way? None that I know. > I'm guessing the correct way to have done this would have been instead > storing the "tar czpf" output in external storage. I think that would have > preserved the symlinks and restored them properly with "tar xzf". It would have a chance of destroying permissions, I prefer reinstall, with backup of /etc/ and /usr/local directories (that's where I keep custom stuff). Since I don't use Cygwin's /home, it's easy for me. -- With best regards, Andrey Repin Friday, August 9, 2024 12:54:41 Sorry for my terrible english... -- Problem reports: https://urldefense.com/v3/__https://cygwin.com/problems.html__;!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KYz_lgLg$<https://urldefense.com/v3/__https:/cygwin.com/problems.html__;!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KYz_lgLg$> FAQ: https://urldefense.com/v3/__https://cygwin.com/faq/__;!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KwJ5XCyA$<https://urldefense.com/v3/__https:/cygwin.com/faq/__;!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KwJ5XCyA$> Documentation: https://urldefense.com/v3/__https://cygwin.com/docs.html__;!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KverV-Yg$<https://urldefense.com/v3/__https:/cygwin.com/docs.html__;!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KverV-Yg$> Unsubscribe info: https://urldefense.com/v3/__https://cygwin.com/ml/*unsubscribe-simple__;Iw!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KEsFjOFQ$<https://urldefense.com/v3/__https:/cygwin.com/ml/*unsubscribe-simple__;Iw!!BhdT!l3czdFqFecACnqETjVB_eY1UOMJ68HWpEmeoxXgc7mmyw-6v3UKg3kJVgyw8LPyf5ojJm6KEsFjOFQ$> -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple