A client device is connectable to a server via a communication network for receiving
new software packages. The client device includes a pair of system partitions designated
as current and backup system partitions and at least one package partition on which
all installed system packages are saved. A central processing unit of the client
device uses the contents of the current system partition. In response to an startup
failure or a runtime failure, the client device reboots using the backup system
partition and allows a user to selectively install any of the software packages
saved on the at least one package partition.