有沒有辦法對yum更新時會更改的包進行備份?例如,當我做yum更新lighttpd是否有辦法備份和恢復lighttpd如果yum更新不成功或它會導致意外的錯誤或錯誤?如何做yum備份和恢復?
回答
如果您在使用RPM之前4.6.0(it's removed in newer versions),你可以使用rpm --rollback
機制像in this old tutorial或a more complete article與某些功能的解釋。 - 回滾功能是自動解決方案,由於它不可靠而被刪除。
你可以有一個手動解決方案,保持所有包的列表之前,百勝更新並重新安裝所需的RPM老可能使用--oldpackage像rpm -Uvh --oldpackage foo-1-1.i386.rpm
:
要獲得所有已安裝的列表包,通過安裝時間排序:如果您使用FEDO
rpm -q -a --queryformat '%{INSTALLTIME} %{NAME}-%{VERSION}-%{RELEASE}\n' | sort -n
(Source)
ra,這裏是一個使用安裝程序升級系統的官方指南,舉例說明如何創建a list of system current installed packages以及如何restore most of old software after an upgrade。
如果您想要通用方法來獲取已安裝軟件的列表(不僅基於rpm),您還可以按照this article。
我使用etckeeper跟蹤/etc
下文件的變化。 etckeeper將/etc
放在版本控制下(它支持多種版本控制系統,包括Git,Mercurial和Bazaar),並與許多Linux發行版(APT,YUM,Pacman)的軟件包管理系統集成。
如果在升級過程中發生了什麼不好的事情,我可以回滾任何東西。
如果您正在使用回購。保留所有舊版本,你可以做「yum downgrade lighttpd」(以及更新的yum的「yum history undo」)。如果你不是,那麼你可以保留舊的rpm的本地副本,並使用「yum downgrade lighttpd * .rpm」(儘管這很麻煩)。 有些問題可能不會被這個問題所解決,但這些應該是非常罕見的,降級不太可能會改變其他任何副作用。
最近創建了一個插件「yum-plugin-fs-snapshot」,它會在升級之前自動獲取FS快照(btrfs或LVM)......因此。那麼你可以回滾到快照。這是一個大雖然改變,所以我不推薦它。
- 1. 如何恢復DNN備份
- 2. SQL備份和恢復完整備份
- 3. 如何備份和恢復表
- 4. 如何備份和恢復gradle
- 5. RabbitMQ:如何創建和恢復備份
- 6. 如何做部分數據庫備份和恢復?
- 7. Android備份和恢復
- 8. 備份和恢復列值
- 9. TortoiseSVN備份和恢復
- 10. Cassandra備份和恢復
- 11. Drupal備份和恢復
- 12. 備份和恢復DynamoDb表
- 13. MySql備份和恢復
- 14. ActiveMQ - ReplicatedLevelDB - 備份和恢復
- 15. MySQL備份和恢復
- 16. Jenkins:備份和恢復
- 17. Oracle備份和恢復
- 18. SQL Server備份和恢復
- 19. IIS ISSUE備份和恢復
- 20. Django:備份和恢復
- 21. RavenDb備份和恢復
- 22. Ckan備份和恢復
- 23. MySQL的備份和恢復
- 24. 恢復備份mysql
- 25. Laravel恢復備份
- 26. 恢復Vim備份
- 27. 如何從svn hotcopy備份中恢復
- 28. 如何恢復備份程序
- 29. Android備份/恢復:如何備份內部數據庫?
- 30. 備份和恢復mysql數據庫c#
我想你可能剛剛花了150美元的問題,否則將被關閉作爲題外話。 – skaffman 2010-06-07 11:07:09
@skaffman你認爲這是更好的問題serverfault?我不確定。也許你是對的。但仍然需要一個答案 – 2010-06-09 13:00:03
也許你也可以將問題發佈到serverfault。那麼,這是一場比賽。 :-) – artlung 2010-06-12 23:20:33