| |
@@ -0,0 +1,152 @@
|
| |
+ # How to archive a Fedora Release
|
| |
+ .. title: How to Archive Old Fedora Releases.
|
| |
+ .. slug: archive-old-fedora
|
| |
+ .. date: 2016-04-08 updated: 2020-09-25
|
| |
+ .. taxonomy: Releng/Infrastructure
|
| |
+
|
| |
+
|
| |
+ ## Document Info
|
| |
+
|
| |
+ The Fedora download servers contain terabytes of data, and to allow
|
| |
+ for mirrors to not have to take all of that data, infrastructure
|
| |
+ regularly moves data of end of lifed releases (from /pub/fedora/linux)
|
| |
+ to the archives section (/pub/archive/fedora/linux)
|
| |
+
|
| |
+ ## Steps Involved
|
| |
+
|
| |
+ 1. log into ```batcave01.iad2.fedoraproject.org```
|
| |
+ 2. sudo log into a server which has read-write access to the download
|
| |
+ NFS partition. Then change to the appropriate user.
|
| |
+ ```
|
| |
+ $ sudo -i ssh root@bodhi-backend01.iad2.fedoraproject.org
|
| |
+ # su - ftpsync
|
| |
+ $
|
| |
+ ```
|
| |
+ 3. Then change into the releases directory.
|
| |
+ ```
|
| |
+ $ cd /pub/fedora/linux/releases
|
| |
+ ```
|
| |
+
|
| |
+ 4. Check to see that the target directory doesn't already exist.
|
| |
+ ```
|
| |
+ $ ls /pub/archive/fedora/linux/releases/
|
| |
+ $ ls /pub/archive/fedora-secondary/releases/
|
| |
+ ```
|
| |
+
|
| |
+ 5. If the target directory does not already exist, do a recursive link
|
| |
+ copy of the tree you want to the target. This works because
|
| |
+ currently archives is on the same partition.
|
| |
+ ```
|
| |
+ $ cp -lvpnr 21 /pub/archive/fedora/linux/releases/21
|
| |
+ ```
|
| |
+ Common errors which might occur at this time is finding that the
|
| |
+ NFS partition is not mounted read-write. Other errors can occur
|
| |
+ where the NFS is read-write, but ftpsync does not have rights to
|
| |
+ copy a file. These need to be dealt with individually.
|
| |
+
|
| |
+ Another error which happens when I script things is that you find
|
| |
+ out that everything got copied into
|
| |
+ /pub/archive/fedora/linux/releases/21/21 even though it shouldn't.
|
| |
+
|
| |
+ 6. If the target directory already exists, then we need to do a
|
| |
+ recursive rsync to update any changes in the trees since the
|
| |
+ previous copy.
|
| |
+
|
| |
+ ```
|
| |
+ $ rsync -avSAXHP --delete ./21/ /pub/archive/fedora/linux/releases/21/
|
| |
+ ```
|
| |
+
|
| |
+ Again common errors which need to be dealt with are permission
|
| |
+ items. Usually it is contacting other people in release
|
| |
+ engineering to see what is needed.
|
| |
+
|
| |
+ 7. We now do the updates and updates/testing in similar ways.
|
| |
+
|
| |
+ ```
|
| |
+ $ cd ../updates/
|
| |
+ $ cp -lpnr 21 /pub/archive/fedora/linux/updates/21
|
| |
+ $ cd testing
|
| |
+ $ cp -lpnr 21 /pub/archive/fedora/linux/updates/testing/21
|
| |
+
|
| |
+ $ cd ../updates/
|
| |
+ $ rsync -avSAXHP --delete 21/ /pub/archive/fedora/linux/updates/21/
|
| |
+ $ cd testing
|
| |
+ $ rsync -avSAXHP --delete 21/ /pub/archive/fedora/linux/updates/testing/21/
|
| |
+ ```
|
| |
+
|
| |
+ 8. At this point we now do the same with the fedora-secondary trees
|
| |
+ with similar syntax.
|
| |
+ ```
|
| |
+ $ cd /pub/fedora-secondary/releases/
|
| |
+ $ cp -lpnr 21 /pub/archive/fedora-secondary/releases/21
|
| |
+ $ cd ../updates/
|
| |
+ $ cp -lpnr 21 /pub/archive/fedora-secondary/updates/21
|
| |
+ $ cd testing
|
| |
+ $ cp -lpnr 21 /pub/archive/fedora-secondary/updates/testing/21
|
| |
+
|
| |
+ $ cd /pub/fedora-secondary/releases/
|
| |
+ $ rsync -avSAXHP --delete 21/ /pub/archive/fedora-secondary/releases/21/
|
| |
+ $ cd ../updates/
|
| |
+ $ rsync -avSAXHP --delete 21/ /pub/archive/fedora-secondary/updates/21/
|
| |
+ $ cd testing
|
| |
+ $ rsync -avSAXHP --delete 21/ /pub/archive/fedora-secondary/updates/testing/21/
|
| |
+ ```
|
| |
+
|
| |
+ 8. Announce to the mirror list this has been done and that in 2 weeks
|
| |
+ you will move the old trees to archives.
|
| |
+
|
| |
+ 9. In two weeks, log into mm-backend01 and run the archive script
|
| |
+
|
| |
+ ```
|
| |
+ $ sudo -i ssh root@mm-backend01.iad2.fedoraproject.org
|
| |
+ # sudo -u mirrormanager mm2_move-to-archive \
|
| |
+ --originalCategory="Fedora Linux" \
|
| |
+ --archiveCategory="Fedora Archive" \
|
| |
+ --directoryRe='/21/Everything'
|
| |
+ # sudo -u mirrormanager mm2_move-to-archive \
|
| |
+ --originalCategory="Fedora Secondary Linux" \
|
| |
+ --archiveCategory="Fedora Archive" \
|
| |
+ --directoryRe='/21/Everything'
|
| |
+ ```
|
| |
+
|
| |
+ 10. If there are problems, the postgres DB may have issues and so you need to
|
| |
+ get a DBA to update the backend to fix items.
|
| |
+
|
| |
+ 11. Wait an hour or so then you can remove the files from the main tree.
|
| |
+
|
| |
+ ```
|
| |
+ $ sudo -i ssh bodhi-backend01.iad2.fedoraproject.org
|
| |
+ # su - ftpsync
|
| |
+ $ cd /pub/fedora/linux/releases
|
| |
+ $ cd 21
|
| |
+ $ ls # make sure you have stuff here
|
| |
+ $ rm -rf *
|
| |
+ $ ln ../20/README .
|
| |
+ $ cd ../../updates/21
|
| |
+ $ ls # make sure you have stuff here
|
| |
+ $ rm -rf *
|
| |
+ $ ln ../20/README .
|
| |
+ $ cd ../testing/21
|
| |
+ $ ls # make sure you have stuff here
|
| |
+ $ rm -rf *
|
| |
+ $ ln ../20/README .
|
| |
+
|
| |
+ $ cd /pub/fedora-secondary/releases
|
| |
+ $ cd 21
|
| |
+ $ ls # make sure you have stuff here
|
| |
+ $ rm -rf *
|
| |
+ $ ln ../20/README .
|
| |
+ $ cd ../../updates/21
|
| |
+ $ ls # make sure you have stuff here
|
| |
+ $ rm -rf *
|
| |
+ $ ln ../20/README .
|
| |
+ $ cd ../testing/21
|
| |
+ $ ls # make sure you have stuff here
|
| |
+ $ rm -rf *
|
| |
+ $ ln ../20/README .
|
| |
+
|
| |
+ ```
|
| |
+
|
| |
+
|
| |
+
|
| |
+
|
| |
This covers items @mboddu was wanting on how to archive a release.