One of the reasons, I recently consider to switch from Arch Linux to Debian which is famous in stability. However, I am very reluctant to do so, because of the greatness of simplicity in package management of Arch Linux, especially creating packages in AUR. Debian, though famous, there is much manual work in packaging such as preparing the “control” file (may be there are some other tools I not yet explored, because I used Ubuntu and Linux Mint before for only a short period). Besides that, Debian does not have the repository like AUR. Installing the packages such as TrueCrypt and XnViewMP in Debian is not as easy as Arch Linux. That is why I am hesitated to migrate.
Today, upgrading Arch Linux causes me fail to run Java applications, such as Eclipse. This is possibly caused by upgrading the dependent libraries, which results the runtime library cannot load the functions properly. This is troublesome, because I need to use the application in urgent, I cannot wait for the next update of the related packages which will solve the library dependencies problem.
Normally, whenever there is such problem, I will solve it with a tool, “downgrade“. If “downgrade” cannot solve, and if the application is not that important, I may wait until the application next update. Since this is emergency, I can only do a manual downgrade. The problem of the tool “downgrade” is that it cannot solve the dependency properly. Such as to downgrade “gcc”, “gcc-lib” cannot be resolved; but to downgrade “gcc-lib”, it is required by “gcc”. As a result, I found a manual solution. That is to solve it by “pacman -U” manually. If the older files not exist, “downgrade” can help to download the packages from the server. Using pacman to install older packages can solve the dependency problem.
If there is a built-in rollback system in Arch Linux and also other distribution, this will be great.