1dpkg-fsys-usrunmess(8)            dpkg suite            dpkg-fsys-usrunmess(8)
2
3
4

NAME

6       dpkg-fsys-usrunmess - undoes the merged-/usr-via-aliased-dirs mess
7

SYNOPSIS

9       dpkg-fsys-usrunmess [option...]
10

DESCRIPTION

12       dpkg-fsys-usrunmess is a tool to fix up filesystems that have been
13       installed anew with recent installers with unfortunate defaults or
14       migrated to the broken merged /usr via aliased directories layout,
15       which is not supported by dpkg. See the dpkg FAQ.
16
17       Note: In Debian its tech-ctte has decreed that on the release after
18       bookworm the non-usrmerged layout is not going to be supported, and
19       thus some of its maintainers might not fix issues or intentionally
20       remove non-usrmerged support, so you will need decide and pick your
21       poison.
22
23       The program will perform the following overall actions:
24
25       •   Check whether the system needs to be switched, otherwise do
26           nothing,
27
28       •   Check for dpkg database consistency and otherwise abort.
29
30       •   Generate and install a regression prevention package, if requested
31           on the command-line or otherwise on the prompt.
32
33       •   Get the list of files and alternatives that need to be restored.
34
35       •   Look for untracked kernel modules files that need to be moved too.
36
37       •   Create a shadow hierarchy under /.usrunmess, by creating the
38           directories symlinks or hardlinking or copying the files as needed.
39
40       •   Prompt for confirmation before proceeding, if requested on the
41           command-line.
42
43       •   Lock the dpkg database.
44
45       •   Mark all packages as half-configured to force running maintainer
46           scripts that might need to recreate files.
47
48       •   Replace the aliased directories with the shadow ones, by creating a
49           backup of the old symlinked directories and renaming the shadow
50           ones over.
51
52       •   Relabel MAC information for directories and symlinks if necessary.
53
54       •   Remove backup symlinks.
55
56       •   Remove old moved objects, but defer directory removal.
57
58       •   Remove old deferred directories that are not referenced by dpkg-
59           query.
60
61       •   Remove shadow root directory.
62
63       •   Register a policy-rc.d to disallow service actions, which means
64           that services might need to be restarted afterwards, ideally via a
65           reboot.
66
67       •   Reconfigure all packages.
68
69       •   Unregister the policy-rc.d and restore the alternatives state.
70
71       Note: When running the program from some shells such as bash(1) or
72       zsh(1), after executing it, you might need to request the shell to
73       forget all remembered executable locations with for example "hash -r".
74
75       Note: Some directories might linger after the migration in case they
76       contain untracked files. A list is printed once the script has finished
77       for further investigation.
78
79       Warning: Note that this operation has the potential to render the
80       system unusable or broken in case of a sudden crash or reboot,
81       unexpected state of the system, or possible bugs in the script. Be
82       prepared with recovery media and consider doing backups beforehand.
83

OPTIONS

85       -p, --prompt
86           Prompt at the time of no return, so that the debug output or the
87           shadow hierarchy can be evaluated before proceeding.
88
89       --prevention
90       --no-prevention
91           Enables or disables generating and installing a regression
92           prevention package into the system.  If no option has been
93           specified, the action to take will be prompted.
94
95           The generated package contains the Protected field set to yes to
96           protect against accidental removal of the package.
97
98       -n, --no-act
99       --dry-run
100           This option enables the dry-run mode, where no destructive action
101           takes place, only the preparatory part.
102
103       -?, --help
104           Show the usage message and exit.
105
106       --version
107           Show the version and exit.
108

ENVIRONMENT

110       DPKG_USRUNMESS_NOACT
111           This setting defines whether to enable dry-run mode.
112

SEE ALSO

114       <https://wiki.debian.org/Teams/Dpkg/FAQ#broken-usrmerge>.
115
116
117
1181.21.21                           2023-02-25            dpkg-fsys-usrunmess(8)
Impressum