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.

 

Related Readings:

(1)deepin 25 Pre Release Note

(2)Click to Support deepin Community

Leave a Reply