The deepin 25 Preview introduces the brand-new Solid (deepin Inmutable System), which comprehensively enhances stability and security from the system's core to everyday use.
What is Solid?
The Solid (deepin Inmutable System) focuses on the stability and security of the system. It provides users with a stable, reliable, and easy-to-maintain experience through technologies such as read-only protection, atomic updates, and snapshot management.
Read-only Protection
The Solid (deepin Inmutable System) configures the core directories in read-only mode, preventing unauthorized alterations. Whether it's malicious software or accidental operations, nothing can corrupt the core system files. This fundamentally eliminates system anomalies due to damaged system files, ensuring that your computer always runs as smoothly as when it was new.
Atomic Updates
Traditional system updates often lead to system anomalies due to partial failures, whereas the Solid (deepin Inmutable System) employs an atomic update mechanism. The update process either succeeds entirely or automatically reverts back to the previous state, never leaving the system in a "half-done" condition. The entire process is fully automated, requiring no manual intervention from the user, ensuring that the system remains stable and operational at all times.
Snapshot Management
Based on the ostree technology, the Solid (deepin Inmutable System) enables sub-second system state backups and rollbacks. The system automatically creates snapshots when installing applications or updates, recording the current state of the system, and users can also create snapshots manually. If there is a failure in software installation or a configuration error, simply restoring to a previous snapshot point with one click will instantly return the system to a normal state.
Worry-free Restoration
For public computer scenarios such as school computer labs and libraries, the "Worry-free Restoration" feature of the Solid (deepin Inmutable System) ensures that all operation records are cleared and reset to zero after each shutdown and restart, without affecting the next user.
System and Data Partition Layered Architecture (Available in the Official Release)
In addition to the above features, the Solid (deepin Inmutable System) also innovatively introduces a layered architecture for system and data partitions, ensuring that the system can still operate stably even if the data disk encounters failures or becomes full.
deepin Inmutable System FAQ
Question 1: The core directories of the Solid (deepin Inmutable System) are mounted read-only, which prevents manual modification of the contents and makes debugging inconvenient. How can this feature be disabled to allow modifications to the contents of the read-only mounted directories?
Usage Steps:
After entering the system, disable the read-only protection feature with the command:
sudo deepin-immutable-ctl disable-system-protect enable
Note: To activate or deactivate this feature, a system restart is required for the changes to take effect.
To enable read-only protection, simply run the command:
sudo deepin-immutable-ctl disable-system-protect disable
Status Check
You can check the status of the feature with the following command:
sudo deepin-immutable-ctl disable-system-protect status
Question 2: Is the installation and management of software and drivers consistent with before?
It is essentially consistent. In order to maintain good command compatibility, under the Solid (deepin Inmutable System) environment, the apt/dpkg commands have been taken over and still support the installation of software packages via apt, apt-get, and dpkg.
Usage Steps:
Feature | Command |
Description
|
Install software packages from the repository | deepin-immutable-ctl ext install package1 package2 | You can also use the --no-apply-live option to make the command take effect after a restart; by default, it takes effect immediately. |
Uninstall software packages | deepin-immutable-ctl ext remove package1 package2 | You can use the --no-apply-live option to make the command take effect after a restart; by default, it takes effect immediately. |
Question 3: How to use "Worry-free Restoration"?
Instructions for use:
Feature | Command | Description |
Enable Service | deepin-immutable-ctl restore enable | Activates the Worry-free Restoration feature (takes effect after a restart). |
Disable Service | deepin-immutable-ctl restore disable | Deactivates the Worry-free Restoration feature (takes effect after a restart). |
Set Whitelist Directory | deepin-immutable-ctl restore set -w /etc | Sets the whitelist directory for Worry-free Restoration. Changes in the whitelisted directories will not be discarded after a restart. |
View Service Status Information | deepin-immutable-ctl restore status | Checks the status of the Worry-free Restoration feature and the whitelist list. |
Trigger Service Internal Logic Execution (Do Not Manually Trigger) | deepin-immutable-ctl restore trigger | After enabling the Worry-free Restoration feature, a trigger operation will be automatically executed once at startup to prepare for the implementation of the feature. |
Solid (deepin Inmutable System) apt/dpkg Command Compatibility
Due to the system's read-only mounting policy, some commands may fail when attempting to write files. To maintain user operation habits, the Solid system has provided compatibility for some functionalities of apt and dpkg commands, but not all options are supported (such as parameters starting with -- or -, for example, dpkg --root /path).
Usage Instructions:
Compatibility of apt and dpkg Commands
The following commands are supported, allowing direct invocation of the native apt/dpkg with no difference in user experience. | ||
Category | Command |
Description |
apt
|
apt list | List all installed packages |
apt search | Search for software packages | |
apt show | Display detailed information about a software package | |
apt showsrc | Display source code information about a software package | |
apt depends | Display dependency relationships of a software package | |
apt rdepends | Display other packages that depend on a specified package | |
apt policy | Display the installation policy for a software package | |
apt autoclean | Clean up outdated package files | |
apt auto-clean | Equivalent to apt autoclean |
|
apt source | Retrieve the source code of a software package | |
apt changelog | Display the changelog for a software package | |
apt info | Display the summary information of a software package | |
apt build-dep | Install all dependencies required to build a specified package | |
apt update | Update the list of available packages | |
apt-get
|
apt-get clean | Clean downloaded package files, but keep those that are not fully downloaded |
apt-get autoclean | Clean outdated package files, keeping only the most recently downloaded package files | |
apt-get auto-clean | Equivalent to apt-get autoclean | |
apt-get distclean | Remove all downloaded package files, including those that are not fully downloaded |
The following commands are supported, but they will be redirected to deepin-immutable-ctl , with deepin-immutable-ctl implementing the related functions. |
||
Category | Command |
Description |
apt | apt install | Install software package |
apt reinstall | Reinstall software package (without removing the installed package) | |
apt remove |
Remove software package but retain configuration files
|
|
apt-get | apt-get install | Equivalent to apt install |
apt-get reinstall | Equivalent to apt reinstall | |
apt-get remove | Equivalent to apt remove | |
apt-get purge | Equivalent to apt purge | |
dpkg | dpkg --remove | Equivalent to dpkg -r |
dpkg -P | Remove software package and its configuration files | |
dpkg --purge | Equivalent to dpkg -P |
Incompatible Commands (May Be Made Compatible Gradually in the Future) |
||
Category | Command |
Description |
apt | apt autoremove | Automatically remove unnecessary packages (those that were automatically installed to satisfy dependencies of other packages). |
apt auto-remove | Equivalent to apt autoremove | |
apt autopurge |
Similar to
apt autoremove , but it also removes configuration files. |
|
apt full-upgrade | Upgrade all upgradable packages, including those where new versions may break dependencies. | |
apt satisfy | Check the dependencies of a package without taking any action. | |
apt dist-upgrade | Upgrade packages and handle new dependencies, which may remove some packages. | |
apt-get | apt-get markauto | ark a package as automatically installed, so that it can be removed during autoremove. |
apt-get unmarkauto | Unmark a package as automatically installed. | |
apt-get dist-upgrade | Equivalent to apt dist-upgrade | |
apt-get dselect-upgrade | Use dselect configuration file for upgrade (deprecated). | |
apt-get build-dep | Equivalent to apt build-dep | |
apt-get satisfy | Equivalent to apt satisfy | |
apt-get indextargets | Display the dependency targets of a software package. | |
dpkg | dpkg --configure | Configure a package that is not fully configured. |
dpkg --unpack | Unpack the contents of a package into the filesystem without configuring the package. | |
dpkg-set hooks | Partially supported. Supports hooks installed under /usr, other directories are not supported. |
Other Command:
Command | Description |
update-grub |
Update GRUB configuration
|
deepin-immutable-ctl ext exec -- update-initramfs -u | Update Initramfs command |
deepin-immutable-ctl ota upgrade | Upgrade via the command line |
deepin-immutable-ctl disable-system-protect enable | Disable read-only protection |
Note: Please do not easily enable the modification permissions of the core system (i.e., disable read-only protection). Once this feature is enabled, you are giving up the related features of the Solid (deepin Inmutable System) by default, and the associated functionalities (snapshot management, atomic updates, worry-free restoration, etc.) will temporarily not be available for use.
|