- Why not?
- Security? Things are off by default.
- Don’t want systemd?
- Download the ISO from http://www.slackware.com/. (For most parts
in the US, https://mirrors.kernel.org/ is a good mirror site.) If
you are going to install on a physical machine, burn it to a DVD,
use
dd
to “burn” it to a USB memory stick, or use Balena Etcher to “burn” it to a USB memory stick.dd if=slackware64-15.0-install-dvd.iso of=/dev/sdx bs=1M status=progress
- Mount the DVD and peruse these files before attempting an
installation. They provide important information and are extremely
helpful.
- README.TXT
- Slackware-HOWTO
- RELEASE_NOTES
You may also wish to read
- ANNOUNCE.15.0
- CHANGES_AND_HINTS.TXT
- README.initrd
- README_UEFI.TXT
- README_CRYPT.TXT
- Pick your target system. In this demo, we are using libvirt/qemu-kvm.
- OS template: slackware-current
- CPU: 4 (at least 1)
- Mem: 8192 MB (at least 1024 MB, probably 4096 MB if running Xorg)
- Disk: 50 GB (fresh install fills 16GB). Use the VirtIO bus.
- “Customize hardware before install”
- Add a CDROM device (buried under Storage): point to the Slackware ISO. Use the IDE bus only for the CDROM.
- Boot options: configure the system to boot from CDROM
- Begin Installation. Boot with the default kernel. Use the default US keyboard map.
- Login as root.
Hint: Use
<Shift>+<PageUp>
and<Shift>+<PageDown>
scroll the console. - Partition:
fdisk
,cfdisk
, orparted
. For advanced configurations, you may wish to use GParted on your Ubuntu, Mint, or Slackware Live DVD. You may wish to consider using a separate/boot
or/home
partition.fdisk -l fdisk /dev/vda # Print drive topology p # Create one big primary partition. Leave room for 1GiB of swap. # Sectors 2048-102760447 n # Fill the remaining 1GiB with a swap partition. Set its type to 82 # so that the installer knows it is a swap partition. n t # Write the partition table to disk w
- Run
setup
. - ADDSWAP. Select
/dev/vda2
. - Select
/dev/vda1
for the root partition. Format it as ext4. - Select source media: Slackware DVD.
- Package series selection: Select everything. Use ‘terse’ mode. Approx. time: 9min 45sec.
- Skip USB flash boot.
- Install LILO: simple mode. Use the standard Linux console. Install to Master Boot Record (MBR).
- Load GPM (mouse server) b/c why not?
- Configure network. Set a hostname. Set domain to ‘localdomain’. No VLAN. Either use DHCP (for simple setup) or NetworkManager (for a desktop).
- Confirm startup services to run. You probably want rc.ntpd. You may or may not want rc.sshd. Use the space bar to enable/disable an item.
- Console fonts? (No for me.)
- Hardware clock set to UTC? YES!
- Select timezone: America/Los_Angeles
- Default vi Editor: nvi (default)
- Select default Window Manager for X: KDE
- Set a root password. Setup is complete!
- Drop to a shell. There is one more thing to do: create a limited
user account.
chroot /mnt bash -l groupadd -g 2290 kyle adduser # Name: kyle, UID: 2290, Group: kyle, press UP arrow to select default # additional groups, add ‘users’ to list of additional groups.
- That’s it!
poweroff
. Remove the DVD and disable CDROM boot.
First, consult the manual.
man slackpkg
Uncomment a mirror.
vi /etc/slackpkg/mirrors
# Uncomment http://mirrors.us.kernel.org/slackware/slackware64-15.0/
Update indexes and upgrade. Most of the time, you will only need ‘update’ and ‘upgrade-all’. However, the full dist-upgrade procedure is
slackpkg update
slackpkg install-new
slackpkg upgrade-all
slackpkg clean-system
If there is a kernel upgrade, then there are two commands you must run after the upgrade finishes.
geninitrd
lilo
If you do not run these two commands after upgrading your kernel, then your system will not boot!
Tip: perform kernel upgrades in a separate transaction.
Consult /var/lib/slackpkg/ChangeLog.txt
for a list of package
changes.
- Add SSH keys.
In the VM: get the IP address.
ip a
On the host: add the IP address to
/etc/hosts
(for convenience) and runssh-copy-id
.sudo vi /etc/hosts ssh-copy-id -i ~/.ssh/id_rsa.pub slack1
- Annoyance #1: I don’t want GPM. How do I to disable a service?
cd /etc/rc.d ./rc.gpm stop chmod -x rc.gpm
Each service has a shell script that starts it. The executable bit determines whether it is run during boot.
- Annoyance #2: LILO timeout time is 2 minutes. Yikes! Let’s fix
that.
vi /etc/lilo # Set # timeout = 20 # (Values are tenths of a second.) lilo
While we are in there, let’s set the generic kernel to boot with the initrd. The initrd is automatically generated in 15.0 (new). However, you need to configure LILO to boot it. There is a section that reads
# Linux bootable partition config begins image = /boot/vmlinuz root = /dev/vda1 label = Linux read-only # Linux bootable partition config ends
Change it to
# Linux bootable partition config begins image = /boot/vmlinuz-generic initrd = /boot/initrd.gz root = /dev/vda1 label = Linux read-only image = /boot/vmlinuz-huge root = /dev/vda1 label = Linux-huge read-only # Linux bootable partition config ends
lilo
- Configure sudo. As root, run
usermod -a -G wheel kyle visudo
## Uncomment to allow members of group wheel to execute any command %wheel ALL=(ALL:ALL) ALL
As kyle (logout and login again), run
sudo -l
- Where is the GUI?
There are two ways to get a GUI. Both are valid. Which one you use is personal preference.
Method #1 is to enable a Display Manager. This will display a nice graphical login screen. To enable a Display Manager, set the default runlevel from 3 to 4.
vi /etc/inittab # Find the line that looks like # # id:3:initdefault: # # Change it to # # id:4:initdefault telinit 4 ; exit # OR reboot
Method #2 is to login to a tty and run
startx
. This is the “old-school” way of running Xorg. First, select your preferred desktop environment (xwmconfig
) to create a.xinitrc
. Then, runstartx
.xwmconfig startx
slackpkg
- Install official updates
pkgtool
- Local packages, re-run setup scripts
upgradepkg
- Upgrade/Downgrade or (in case of
--install-new
) install a new package installpkg
- Install a new package, regardless of status
sbotools
,sbopkg
- Build packages from https://slackbuilds.org/, which is like ports or AUR for Slackware.
- Used memory: 93 MB without graphics, 518 MB in KDE with Konsole running.