aboutsummaryrefslogtreecommitdiff
path: root/slackware-upgrade-system.8
blob: 35d944b3b5de2e41c97f22622df83d0555aa2700 (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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
.\" This file is part of slackware-upgrade-system
.\" Copyright (C) 2019 Sergey Poznyakoff.
.\"
.\" Slackware-upgrade-system is free software; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as published 
.\" by the Free Software Foundation; either version 3, or (at your option)
.\" any later version.
.\"
.\" Slackware-upgrade-system is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" along with slackware-upgrade-system.  If not, see
.\" <http://www.gnu.org/licenses/>.
.TH SLACKWARE\-UPGRADE\-SYSTEM 8 "September 13, 2019" "SLACKWARE\-UPGRADE\-SYSTEM" "System Manager's Manual"
.SH NAME
slackware\-upgrade\-system \- do a full upgrade of a Slackware installation
.SH SYNOPSIS
.nh
.na
\fBslackware\-upgrade\-system\fR\
 [\fB\-anqvy\fR]\
 [\fB\-d \fIDIRECTORY\fR]\
 [\fB\-k \fIFILE\fR]\
 [\fB\-s \fISERIES\fR]
.ad
.hy
.SH DESCRIPTION
Upgrades the Slackware installation to a new release.  The Slackware
distribution tree must be available in a directory on the local file
system.  You can either mount a Slackware DVD or a directory from
another server via NFS, or simply download the distribution from
.nh
\fBmirrors.slackware.com\fR.
.hy
By default, the script expects to find
the distribution in the \fB/root/slackware\fR directory.  You can
specify another directory using the \fB\-d\fR command line option.
.PP
When started, the program first verifies that it runs with root
privileges on a Slackware installation and determines the current
release version number.  Then it verifies the distribution directory:
it must contain the file \fBANNOUNCE.\fIVERSION\fR and  the
\fBslackware64\fR directory with the Slackware package series.
.PP
When this initial check is passed, the program constructs the list
of currently installed packages and packages available in the
distribution.  The difference between these two sets, i.e. the
installed packages that have no equivalent in the available set,
are orphaned packages.  They were probably installed from third-party
sources.  It is unpredictable whether or not these packages will work
on the newly upgraded system, therefore the program will remove them
after a successful upgrade.  Before proceeding, the program will display
this list on the screen and save it in file
.nh
\fB/var/log/slackware-upgrade-system-\fIOLD\fR-\fINEW\fB.removed\fR
.hy
for your consideration (here, \fIOLD\fR and \fINEW\fR stand for the
current and new Slackware version numbers, correspondingly).  After
the upgrade, you can re-install them, if necessary.
.PP
After this step, the program will print the current Slackware version
and the version you are going to upgrade to, and will ask you to
confirm that you really want to upgrade.  This is the right moment to
quit if you decide that some orphaned packages should be kept anyway.
If so, type \fBno\fR, and create a \fIkeep-list\fR file, i.e. a file
containing names of packages that should be retained even though
orphaned, each name on a separate line.  Then re-start the program
with the \fB\-k\fR option and the name of this file as its argument.
.PP
Finally, the actual upgrade begins.  By default, the program will
upgrade only the packages actually installed on your system.  You can
request to install additional series from the distribution with the
\fB\-s\fR option.  E.g., it is often a good idea to install all
packages from series \fBl\fR, like that: 
.PP
.EX
slackware-upgrade-system \-s l
.EE
.PP
Otherwise, you can request to install all missing packages from all
series, excepting \fBkde*\fR, by running the command with the
\fB\-a\fR option.
.PP
At the end of the run, the program prints additional instructions and
leaves the detailed log in file
.nh
\fB/var/log/slackware\-upgrade\-system\-\fIOLD\fB\-\fINEW\fB.log\fR.
.hy
.sp
Here, \fIOLD\fR and \fINEW\fR stand for the old and new Slackware
release versions, correspondingly.
.PP
If any configuration files were created during the upgrade that
conflict with the existing files, they will be stored alongside the
original files, with the \fB.new\fR extension.  The list of these
files will be stored in file
\fB/var/log/slackware\-upgrade\-system\-\fIOLD\fB\-\fINEW\fB.conffiles\fR.
.SH OPTIONS
.TP
.B \-a
Install all series except \fBkde*\fR.
.TP
\fB\-d \fIDIRECTORY\fR
Look for slackware distribution in \fIDIRECTORY\fR.  It must be the
top-level directory of a Slackware installation image, containing the
\fBANNOUNCE.\fIVERSION\fR file and the \fBslackware64\fR directory
with the Slackware package series.
.sp
The default is \fB/root/slackware\fR.
.TP
.B \-h
Display a short help summary and exit.
.TP
\fB\-k \fIFILE\fR
After successful upgrade, \fBslackware\-upgrade\-system will remove
previously installed packages that are not available in the new
distribution.  This option allows you to supply a list of packages
that should not be removed.  Each line in \fIFILE\fR should list
exactly one package name, without version and architecture
information.  Empty lines and comments (\fB#\fR) are ignored.
.sp
To obtain initial list of packages that will be removed, run the
program with the \fB\-n\fR option.  At the end of the run, the list
will be stored in file
.nh
\fB/var/log/slackware-upgrade-system-\fIOLD\fR-\fINEW\fB.removed\fR.
.hy
At a pinch (not really recommended), you can move it elsewhere and use
as argument to that option.  This way all packages will be preserved.
.TP
.B \-n
Dry-run mode: do nothing, print what would have been done.  In spite
of the name, the list of packages for removal will still be created.
.TP
.B \-q
Quiet mode: suppress all messages, except error diagnostics.
.TP
\fB\-s \fISERIES\fR
Additionally install all packages from \fISERIES\fR.
.sp
This option is incompatible with \fB\-a\fR.
.TP
.B \-v
Verbosely list each package being upgraded or removed.
.TP
.B \-y
Assume "yes" to all queries.
.SH FILES
.TP
\fB/var/log/slackware\-upgrade\-system\-\fIOLD\fB\-\fINEW\fB.log\fR
Detailed log of operations performed during the upgrade from version
\fIOLD\fR to \fINEW\fR.
.TP
\fB/var/log/slackware\-upgrade\-system\-\fIOLD\fB\-\fINEW\fB.conffiles\fR
List of the new incoming config files on your system with the
\fB.new\fR extension.  You may need to merge them with your actual
files, or move them over, or simply remove them.  In any case, it is
good idea to carefully consider each of them.
.TP
\fB/var/log/slackware-upgrade-system-\fIOLD\fR-\fINEW\fB.removed\fR
The list of packages that were removed from the system.  Examine it.
You may need to re-install some or all of them from third-party
servers or from slackbuilds.
.SH "SEE ALSO"
The \fBUPGRADE.TXT\fR document, outlining the procedure as a whole:
.nh
<\fBhttps://mirrors.nix.org.ua/linux/slackware/slackware\-14.1/UPGRADE.TXT\fR>.
.hy
.PP
.BR upgradepkg (8).
.SH BUGS
The Slackware installation tree must be available in the local
filesystem.  Upgrade from HTTP or FTP server is not yet implemented.
.PP
Currently works only for 64-bit installation (looks for the directory
\fBslackware64\fR in the root directory).
.PP
Report bugs to <gray@gnu.org>.
.SH COPYRIGHT
Copyright \(co 2019 Sergey Poznyakoff
.br
.na
License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
.br
.ad
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.\" Local variables:
.\" eval: (add-hook 'write-file-hooks 'time-stamp)
.\" time-stamp-start: ".TH [A-Z_][A-Z0-9_.\\-]* [0-9] \""
.\" time-stamp-format: "%:B %:d, %:y"
.\" time-stamp-end: "\""
.\" time-stamp-line-limit: 20
.\" end:

Return to:

Send suggestions and report system problems to the System administrator.