This file documents the instructions for upgrading to Slackware -current, the
packages added, removed, renamed, and/or split during the development cycle
from Slackware 14.2 through -current, and some potential "gotchas" that users
can avoid by arming themselves with a little knowledge.
*** INSTRUCTIONS FOR UPGRADING FROM 14.2 ***
Follow the instructions detailed in the UPGRADE.TXT located in this
directory.
Note that upgrading from a Slackware version earlier than 14.2 is NOT
supported at all and will most likely not work.
*** NEW USERS/GROUPS SINCE 14.2 ***
cgred group, GID 41
dovecot user and group, UID and GID 94
dovenull user and group, UID and GID 95
icecc user and group, UID and GID 49
ldap user and group, UID and GID 330
ntp user and group, UID and GID 44
postfix user and group, UID and GID 91
postdrop group, GID 92
*** NOTABLE CHANGES AND HINTS ***
User authentication is PAM-based now; in short, Slackware ships PAM.
The out-of-the-box configuration should be exactly what you expect
from Slackware. Enjoy.
The stock networking scripts now use iproute2 instead of net-tools and
bridge-utils and friends. All of the previous functionality is still
supported with the same config file syntax in /etc/rc.d/rc.inet1.conf,
but added functionality includes:
- support for creating virtual interfaces (e.g. tun/tap) and adding
them to bridges as well as binding additional IP addresses to
virtual and/or real interfaces
- VLAN (802.1Q) support
- Link Aggregation (bonding) support
- IPv6 support
The added functionality required some additional options and changes
to the format of rc.inet1.conf, but for basic configurations, you can
still use /sbin/ifconfig to view and/or configure interfaces manually.
For IPv6 support, note that SLAAC is now disabled by default (the
rationale is that a newly installed machine should not have internet
connectivity without admin intervention) - see the USE_SLAAC config
parameter in the new rc.inet1.conf file.
The ntp package has changed such that ntpd now drops privileges and runs as
user ntp and group ntp. Be sure to move/merge the changes to rc.ntpd and
/etc/ntp.conf.
The gnupg2 package has changed such that the gpg agent is autostarted on
demand now, so be sure to remove any local profile script changes to
handle that. Also, there is a new keyring format used by gnupg2-2.2.x,
so have a look at https://www.gnupg.org/faq/whats-new-in-2.1.html#keybox
for migration tips.
n/postfix replaces n/sendmail as the default MTA.
However, postfix is sendmail compatible with respect to function; in
other words, any scripts or other applications expecting to *use*
sendmail should work just fine, as postfix installs a sendmail binary
at /usr/sbin/sendmail. This is all fine and wonderful unless you want
to use sendmail *instead* of postfix and thus decided to leave sendmail
installed on the system. The postfix package will overwrite the
/usr/sbin/sendmail file on the system. Long story short: if you plan
to use the sendmail MTA instead of postfix, you will need to reinstall
sendmail after postfix. Many distros provide a means of having both MTAs
(and even others, such as exim and courier) installed at the same time,
but we don't see a reason to bother with that. If for some reason you
DO want both:
1: First, install the MTA you do NOT plan to use
2. Rename the /usr/sbin/sendmail binary with a suffix, e.g.
# mv /usr/sbin/sendmail /usr/sbin/sendmail.postfix
3: Next, install the MTA you DO plan to use
Finally, you might want to configure the first-installed MTA to look at
the changed path for its sendmail binary. We're not going to cover that
here. Also note that only one of the installed MTAs will be able to bind
the common SMTP ports, if you want to have both MTAs running.
The cciss driver has been replaced by the hpsa driver, so if you're
running an HP server, this may be relevant to you. This is mostly an
issue with respect to device references -- if you have references to
/dev/cciss/* in e.g. /etc/fstab and/or /etc/smartd.conf, you'll need
to fix those. Reference: https://tinyurl.com/cciss-hpsa
The default location for packaged dbus configs and polkit rules are now
/usr/share/dbus-1/system.d/ and /usr/share/polkit-1/rules.d/ ; as such,
all packaged files have been moved to those locations. If you upgraded
from 14.2, you will have the previous copies of those still inside
/etc/dbus-1/system.d/ and /etc/polkit-1/rules.d/ (as they used to be
installed with .new suffixes). The upgrade process will not (and should
not) automatically remove those, as the locations in /etc are intended
to override the locations in /usr/share, and it's possible that the
system administrator had edited the files in /etc and intends for those
edits to be persistent. If that does not apply, *and* the files remaining
in there were not installed by non-stock packages, you may remove the
dbus configs and polkit rules files in the /etc locations.
elogind now manages cgroups (cgmanager is removed), so the leftover files
at /etc/rc.d/rc.cgmanager and /etc/rc.d/rc.cgproxy should be removed.
Use one of the provided generic kernels for daily use. Do not report
bugs until/unless you have reproduced them using one of the stock
generic kernels. You will need to create an initrd in order to boot
the generic kernels - see /boot/README.initrd for instructions.
The huge kernels are primarily intended as "installer" and "emergency"
kernels in case you forget to make an initrd. For most systems, you
should use the generic SMP kernel if it will run, even if your system is
not SMP-capable. Some newer hardware needs the local APIC enabled in the
SMP kernel, and theoretically there should not be a performance penalty
with using the SMP-capable kernel on a uniprocessor machine, as the SMP
kernel tests for this and makes necessary adjustments. Furthermore, the
kernel sources shipped with Slackware are configured for SMP usage, so you
won't have to modify those to build external modules (such as NVidia or
ATI proprietary drivers) if you use the SMP kernel.
If you decide to use one of the non-SMP kernels, you will need to follow the
instructions in /extra/linux-5.13.9-nosmp-sdk/README.TXT to modify your
kernel sources for non-SMP usage. Note that this only applies if you are
using the Slackware-provided non-SMP kernel - if you build a custom kernel,
the symlinks at /lib/modules/$(uname -r)/{build,source} will point to the
correct kernel source so long as you don't (re)move it.
If you want to change the resolution of the KMS console, that can be done
with something like this as a kernel append in lilo.conf:
append="video=1024x768"
Speaking of lilo.conf and KMS, make sure you use either vga=normal or
vga=extended -- some of the framebuffers don't like KMS very much...
If you have set up an encrypted root partition, you will need to have access
to your keyboard in order to type the passphrase. This may require you to
add the uhci-hcd and usbhid modules to your initrd image if you have a USB
keyboard. Also note that if you are using a non-US keyboard, you can use the
'-l' parameter to the 'mkinitrd' command in order to add support for this
keyboard to your initrd.
Subpixel hinting in freetype has been enabled upstream by default, but you
may adjust this in /etc/profile.d/freetype.{csh,sh}.
*** PACKAGE ADDITIONS SINCE 14.2 ***
a/aaa_glibc-solibs (replaces a/glibc-solibs)
a/aaa_libraries (replaces a/aaa_elflibs)
a/cracklib
a/efivar
a/elogind
a/exfatprogs
a/f2fs-tools
a/haveged
a/hostname (split from n/net-tools)
a/inih
a/lbzip2
a/lhasa (replaces a/lha)
a/libblockdev
a/libbytesize
a/libpwquality
a/lzlib
a/mlocate (replaces a/slocate)
a/ndctl
a/nvi
a/pam
a/plzip
a/volume_key
a/zerofree
ap/dash (replaces ap/ash)
ap/inxi
ap/man-db (replaces ap/man)
ap/neofetch
ap/nvme-cli
ap/opus-tools
ap/sc-im (replaces ap/sc)
ap/undervolt
ap/xorriso
d/autoconf-archive
d/check
d/gcc-brig
d/gcc-gdc
d/gnucobol (replaces d/gnu-cobol)
d/gyp
d/icecream
d/meson
d/ninja
d/opencl-headers
d/parallel
d/patchelf
d/poke
d/python-pip
d/python2 (replaces d/python)
d/python3
d/re2c
d/rinutils
d/rust
d/sassc
d/vala
e/emacspeak
kde/* (too many to reasonably list here - see UPGRADE.TXT)
l/Mako
l/PyQt5
l/QtAV
l/SDL2
l/SDL2_gfx
l/SDL2_image
l/SDL2_mixer
l/SDL2_net
l/SDL2_ttf
l/accountsservice
l/argon2
l/brotli
l/cfitsio
l/cryfs
l/cryptopp
l/dotconf
l/dvdauthor
l/editorconfig-core-c
l/espeak-ng
l/farstream
l/ffmpeg
l/fluidsynth
l/freecell-solver
l/frei0r-plugins
l/fuse3
l/gdk-pixbuf2-xlib
l/gexiv2
l/gjs
l/glade
l/gnome-themes-extra (replaces l/gnome-themes-standard)
l/graphene
l/graphite2
l/gst-plugins-bad-free
l/gst-plugins-libav
l/gtk4
l/gtksourceview3
l/hyphen
l/id3lib
l/isl
l/jansson
l/jmtpfs
l/json-glib
l/kdsoap
l/keybinder3
l/lame
l/lensfun
l/libappindicator
l/libbluray
l/libburn
l/libclc
l/libcue
l/libdbusmenu
l/libdmtx
l/libedit
l/libgnt
l/libgtop
l/libidn2
l/libimobiledevice-glue
l/libindicator
l/libnice
l/libnsl
l/libnss_nis
l/libopusenc
l/libpsl
l/libqalculate
l/libsass
l/libseccomp
l/libsigc++3
l/libsodium
l/libunwind
l/liburing
l/libuv
l/libwebp
l/libwnck3
l/libxkbcommon
l/lmdb
l/lz4
l/mlt
l/mozjs78 (replaced l/js185)
l/ocl-icd
l/oniguruma
l/openal-soft
l/opencv
l/opus
l/opusfile
l/pcaudiolib
l/pcre2
l/phonon-backend-gstreamer
l/pipewire
l/pyparsing
l/python-Jinja2
l/python-MarkupSafe
l/python-PyYAML
l/python-appdirs
l/python-certifi
l/python-cffi
l/python-chardet
l/python-charset-normalizer
l/python-distro
l/python-dnspython
l/python-docutils
l/python-doxypypy
l/python-doxyqml
l/python-future
l/python-idna
l/python-markdown
l/python-notify2
l/python-packaging
l/python-pbr
l/python-ply
l/python-pycparser
l/python-pygments
l/python-pysol_cards
l/python-random2
l/python-requests
l/python-sane
l/python-setuptools_scm
l/python-six
l/python-tomli
l/python-urllib3
l/python2-module-collection
l/qrencode
l/qt5
l/qt5-webkit
l/qtkeychain
l/quazip
l/rpcsvc-proto
l/rttr
l/rubygem-asciidoctor
l/speech-dispatcher
l/speex
l/spirv-llvm-translator
l/talloc
l/tdb
l/tevent
l/tidy-html5
l/utf8proc
l/vid.stab
l/woff2
l/xxHash
l/zstd
n/c-ares
n/daemon
n/dehydrated
n/dovecot
n/krb5
n/libmilter
n/nghttp2
n/npth
n/nss-pam-ldapd
n/openldap
n/pam-krb5
n/postfix
n/s-nail (replaces mailx)
n/socat
n/sshfs
n/wget2
n/wireguard-tools
n/wireless_tools (renamed from n/wireless-tools)
t/fig2dev (replaces t/transfig)
t/texlive (replaces t/tetex and t/tetex-doc)
x/OpenCC
x/cldr-emoji-annotation
x/egl-wayland
x/eglexternalplatform
x/fcitx
x/fcitx-anthy
x/fcitx-configtool
x/fcitx-hangul
x/fcitx-kkc
x/fcitx-libpinyin
x/fcitx-m17n
x/fcitx-qt5
x/fcitx-sayura
x/fcitx-table-extra
x/fcitx-table-other
x/fcitx-unikey
x/hack-fonts-ttf
x/ibus
x/ibus-anthy
x/ibus-hangul
x/ibus-kkc
x/ibus-libpinyin
x/ibus-m17n
x/ibus-table
x/ibus-unikey
x/igt-gpu-tools (replaces x/intel-gpu-tools)
x/intel-vaapi-driver (replaces x/libva-intel-driver)
x/libXfont2
x/libgee
x/libglvnd
x/libinput
x/libkkc
x/libkkc-data
x/libmypaint
x/libpinyin
x/libva-utils
x/libwacom
x/marisa
x/mypaint-brushes
x/noto-cjk-fonts-ttf
x/noto-fonts-ttf
x/pyxdg
x/skkdic
x/ttf-tlwg
x/urw-core35-fonts-otf
x/vulkan-sdk
x/wayland
x/wayland-protocols
x/xdg-desktop-portal
x/xf86-input-libinput
x/xf86-video-vboxvideo
x/xisxwayland
x/xorg-server-xwayland
x/xorgproto (replaces all of the other x/*proto packages)
xap/NetworkManager-openvpn
xap/easytag
xap/ffmpegthumbnailer
xap/freerdp
xap/libnma
xap/rxvt-unicode (replaces xap/rxvt)
xap/ssr
xap/xsnow
xfce/Greybird
xfce/elementary-xfce
xfce/mousepad
xfce/thunar (replaces xfce/Thunar)
xfce/xfce4-panel-profiles
xfce/xfce4-screensaver
xfce/xfce4-whiskermenu-plugin
y/nethack
*** PACKAGE REMOVALS SINCE 14.2 ***
a/aaa_elflibs (replaced by a/aaa_libraries)
a/eject (included in a/util-linux)
a/getty-ps (moved to /extra)
a/glibc-solibs (replaced by a/aaa_glibc-solibs)
a/lha (replaced by a/lhasa)
a/openssl10-solibs
a/slocate (replaced by a/mlocate)
ap/ash (replaced by ap/dash)
ap/cgmanager (obsoleted by a/elogind)
ap/man (replaced by ap/man-db)
ap/pm-utils (obsoleted by a/elogind)
ap/sc (replaced by ap/sc-im)
ap/workbone
d/gcc-java
d/gnu-cobol (replaced by d/gnucobol)
d/python (replaced by d/python2)
kde/* (too many to reasonably list here - see UPGRADE.TXT)
kdei/* (too many to reasonably list here)
l/ConsoleKit2 (obsoleted by a/elogind)
l/PyQt
l/automoc4
l/db42
l/db44
l/eigen2
l/glade3 (replaced by l/glade)
l/gnome-themes-standard (replaced by l/gnome-themes-extra)
l/gst-plugins-base0
l/gst-plugins-good0
l/gstreamer0
l/herqq
l/ilmbase
l/js185 (replaced by l/mozjs78)
l/keybinder (replaced by l/keybinder3)
l/libart_lgpl
l/libbluedevil
l/libcroco
l/liblastfm
l/libmcs
l/libmowgli
l/libmsn
l/libtermcap
l/libwmf-docs (merged with l/libwmf)
l/notify-python (replaced by python-notify2)
l/phonon-gstreamer
l/pyrex
l/qimageblitz
l/qjson
l/qt (replaced by l/qt5)
l/qt-gstreamer
l/qtscriptgenerator
l/raptor2
l/rasqal
l/redland
l/seamonkey-solibs
l/soprano
l/strigi
l/urwid
l/virtuoso-ose
n/dirmngr
n/idnkit
n/imapd
n/mailx (replaced by n/s-nail)
n/openldap-client
n/openssl10
n/pth
n/rfkill (included in a/util-linux)
n/sendmail (moved to /extra ; replaced by n/postfix and n/libmilter)
n/sendmail-cf (moved to /extra ; replaced by n/postfix and n/libmilter)
n/trn
n/wireless-tools (renamed to n/wireless_tools)
t/tetex (replaced by t/texlive)
t/tetex-doc (replaced by t/texlive)
t/transfig (replaced by t/fig2dev)
x/bigreqsproto (replaced by x/xorgproto)
x/compositeproto (replaced by x/xorgproto)
x/damageproto (replaced by x/xorgproto)
x/dmxproto (replaced by x/xorgproto)
x/dri2proto (replaced by x/xorgproto)
x/dri3proto (replaced by x/xorgproto)
x/evieext (replaced by x/xorgproto)
x/fixesproto (replaced by x/xorgproto)
x/fontcacheproto (replaced by x/xorgproto)
x/fontsproto (replaced by x/xorgproto)
x/glproto (replaced by x/xorgproto)
x/inputproto (replaced by x/xorgproto)
x/intel-gpu-tools (replaced by x/igt-gpu-tools)
x/kbproto (replaced by x/xorgproto)
x/libXfont (deprecated)
x/libva-intel-driver (replaced by x/intel-vaapi-driver)
x/mkfontdir (absorbed into x/mkfontscale)
x/presentproto (replaced by x/xorgproto)
x/printproto (replaced by x/xorgproto)
x/randrproto (replaced by x/xorgproto)
x/recordproto (replaced by x/xorgproto)
x/renderproto (replaced by x/xorgproto)
x/resourceproto (replaced by x/xorgproto)
x/scim
x/scim-anthy
x/scim-hangul
x/scim-input-pad
x/scim-m17n
x/scim-pinyin
x/scim-tables
x/scrnsaverproto (replaced by x/xorgproto)
x/videoproto (replaced by x/xorgproto)
x/xcmiscproto (replaced by x/xorgproto)
x/xextproto (replaced by x/xorgproto)
x/xf86-video-xgi
x/xf86-video-xgixp
x/xf86bigfontproto (replaced by x/xorgproto)
x/xf86dgaproto (replaced by x/xorgproto)
x/xf86driproto (replaced by x/xorgproto)
x/xf86miscproto (replaced by x/xorgproto)
x/xf86vidmodeproto (replaced by x/xorgproto)
x/xineramaproto (replaced by x/xorgproto)
x/xproto (replaced by x/xorgproto)
xap/rxvt (replaced by xap/rxvt-unicode)
xap/xfractint (moved to /extra)
xap/xv (moved to /extra)
xfce/Thunar (replaced by xfce/thunar)
xfce/gtk-xfce-engine
xfce/orage
extra/bittorrent/bittorrent
extra/mplayerplug-in/mplayerplug-in
extra/recordmydesktop/recordmydesktop