summaryrefslogtreecommitdiff
path: root/doc/flatpak-repair.xml
blob: 751740bdd7dedbed598a8f7cbd04100f23ecc6f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
<?xml version='1.0'?> <!--*-nxml-*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<refentry id="flatpak-repair">

    <refentryinfo>
        <title>flatpak repair</title>
        <productname>flatpak</productname>

        <authorgroup>
            <author>
                <contrib>Developer</contrib>
                <firstname>Matthew</firstname>
                <surname>Leeds</surname>
                <email>matthew.leeds@endlessm.com</email>
            </author>
        </authorgroup>
    </refentryinfo>

    <refmeta>
        <refentrytitle>flatpak repair</refentrytitle>
        <manvolnum>1</manvolnum>
    </refmeta>

    <refnamediv>
        <refname>flatpak-repair</refname>
        <refpurpose>Repair a flatpak installation</refpurpose>
    </refnamediv>

    <refsynopsisdiv>
            <cmdsynopsis>
                <command>flatpak repair</command>
                <arg choice="opt" rep="repeat">OPTION</arg>
            </cmdsynopsis>
    </refsynopsisdiv>

    <refsect1>
        <title>Description</title>

        <para>
            Repair a flatpak installation by pruning and reinstalling invalid objects. The repair command does all of the following:
        </para>
        <itemizedlist>
            <listitem><para>
                Scan all locally available refs, removing any that don't correspond to a deployed ref.
            </para></listitem>
            <listitem><para>
                Verify each commit they point to, removing any invalid objects and noting any missing objects.
            </para></listitem>
            <listitem><para>
                Remove any refs that had an invalid object, and any non-partial refs that had missing objects.
            </para></listitem>
            <listitem><para>
                Prune all objects not referenced by a ref, which gets rid of any possibly invalid non-scanned objects.
            </para></listitem>
            <listitem><para>
                Enumerate all deployed refs and re-install any that are not in the repo (or are partial for a non-subdir deploy).
            </para></listitem>
        </itemizedlist>
        <para>
          Note that <command>flatpak repair</command> has to be run with root privileges to
          operate on the system installation.
        </para>
        <para>
          An alternative command for repairing OSTree repositories is ostree fsck.
        </para>

    </refsect1>

    <refsect1>
        <title>Options</title>

        <para>The following options are understood:</para>

        <variablelist>
            <varlistentry>
                <term><option>-h</option></term>
                <term><option>--help</option></term>

                <listitem><para>
                    Show help options and exit.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--user</option></term>

                <listitem><para>
                    Repair per-user installation.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--system</option></term>

                <listitem><para>
                    Repair system-wide installation.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--installation=NAME</option></term>

                <listitem><para>
                    Repair the system-wide installation
                    specified by <arg choice="plain">NAME</arg> among those defined in
                    <filename>/etc/flatpak/installations.d/</filename>. Using
                    <arg choice="plain">--installation=default</arg> is equivalent to using
                    <arg choice="plain">--system</arg>.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--dry-run</option></term>

                <listitem><para>
                    Only report inconsistencies, don't make any changes
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--reinstall-all</option></term>

                <listitem><para>
                    Reinstall all refs, regardless of whether they were removed from
                    the repo or not
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>-v</option></term>
                <term><option>--verbose</option></term>

                <listitem><para>
                    Print debug information during command processing.
                </para></listitem>
            </varlistentry>

            <varlistentry>
                <term><option>--ostree-verbose</option></term>

                <listitem><para>
                    Print OSTree debug information during command processing.
                </para></listitem>
            </varlistentry>
        </variablelist>
    </refsect1>

    <refsect1>
        <title>Examples</title>

        <para>
            <command>$ sudo flatpak repair</command>
        </para>

        <para>
            <command>$ flatpak repair --user</command>
        </para>

    </refsect1>

    <refsect1>
        <title>See also</title>

        <para>
            <citerefentry><refentrytitle>flatpak</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
            <citerefentry><refentrytitle>ostree-fsck</refentrytitle><manvolnum>1</manvolnum></citerefentry>
        </para>

    </refsect1>

</refentry>