Magnesium erected

Until mid 2017 my main computer was my Lenovo G50-80 which I christianed Oxygen, IP address 192.168.56.8, but I retired it due to some nasty intricacies and an unpleasant keyboard. Yesterday I decided to give the machine a last chance, so I installed:

This last Slackware runs fine. It loads fast, runs solid, no mintian things. Linux Mint as of version 19 is a great step back, towards Windows. Mint 18 was easy to setup and maintain. Version 19 just did things like it wanted to do them. It locked you out after just a few minutes of inactivity. It was slow. Xfce was hard to configure. And it would not install Eagle. So I wiped it out again and installed the latest Slackware64 current from Alien Bobs server and I am very pleased with it. Just select the iso file from http://bear.alienbase.nl/mirrors/slackware/slackware64-current-iso/ and burn it to a CD or isohybrid it and dd it to a USB stick.

Installing slackware

The process of installing slackware is very simple. Unlike that of Arch or Debian. The steps are simple too:

Configure your running system

The first time the system boots it needs more time. Just log on with user 'root' and the preselected password. You will be greeted by the '#' prompt. This means you are in GOD mode. The computer will do ANYTHING you order it. It will even kill itself, so be warned. This is not Windows in which the 'administrator' can only do a few harmless things.

The first thing to do is change the boot procedure, which is defined in /etc/lilo.conf. Do as follows:

# cd /etc
# jed lilo.conf
   
Now save the file with Ctrl-X Ctrl-S and exit the editor Ctrl-X Ctrl-C. Now tell the system to use the new booting sequence:
# lilo
My lilo.conf file looks like this:
# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
# Append any additional kernel parameters:
append=" "

boot = /dev/sda
lba32
#compact        # faster, but won't work on all systems.

# Boot BMP Image.
# Bitmap in BMP format: 640x480x8
  bitmap = /boot/slack.bmp
# Menu colors (foreground, background, shadow, highlighted
# foreground, highlighted background, highlighted shadow):
  bmp-colors = 255,0,255,0,255,0
# Location of the option table: location x, location y, number of
# columns, lines per column (max 15), "spill" (this is how many
# entries must be in the first column before the next begins to
# be used.  We don't specify it here, as there's just one column.
  bmp-table = 60,6,1,16
# Timer location x, timer location y, foreground color,
# background color, shadow color.
  bmp-timer = 65,27,0,255

# Standard menu.
# Or, you can comment out the bitmap menu above and 
# use a boot message with the standard menu:
#message = /boot/boot_message.txt

# Wait until the timeout to boot (if commented out, boot the
# first entry immediately):
prompt
# Timeout before the first entry boots.
# This is given in tenths of a second, so 600 for every minute:
timeout = 20
# Override dangerous defaults that rewrite the partition table:
change-rules
  reset
# Normal VGA console
vga = 895
# Ask for video mode at boot (time out to normal in 30s)
#vga = ask
# VESA framebuffer console @ 1024x768x64k
#vga=791
# VESA framebuffer console @ 1024x768x32k
#vga=790
# VESA framebuffer console @ 1024x768x256
#vga=773
# VESA framebuffer console @ 800x600x64k
#vga=788
# VESA framebuffer console @ 800x600x32k
#vga=787
# VESA framebuffer console @ 800x600x256
#vga=771
# VESA framebuffer console @ 640x480x64k
#vga=785
# VESA framebuffer console @ 640x480x32k
#vga=784
# VESA framebuffer console @ 640x480x256
#vga=769
# End LILO global section
# Linux bootable partition config begins
  image = /boot/vmlinuz
  root = /dev/sda1
  label = Linux
  read-only
# Linux bootable partition config ends
   

Changing FTP and telnet

Time to change the network functions. Open the file /etc/inetd.conf and remove the '#' in front of the line that starts the ProFTP server. If you want the telnet server to run: do it here as well. This is my inetd.conf file:

# See "man 8 inetd" for more information.
#
# If you make changes to this file, either reboot your machine or send the
# inetd a HUP signal:
# Do a "ps x" as root and look up the pid of inetd. Then do a
# "kill -HUP <pid of inetd>".
# The inetd will re-read this file whenever it gets that signal.
#
# <service_name> <sock_type> <proto> <flags> <user> <server_path> <args>
#
# The first 4 services are really only used for debugging purposes, so
# we comment them out since they can otherwise be used for some nasty
# denial-of-service attacks.  If you need them, uncomment them.
# echo   	stream	tcp	nowait	root	internal
# echo   	dgram	udp	wait	root	internal
# discard	stream	tcp	nowait	root	internal
# discard	dgram	udp	wait	root	internal
# daytime	stream	tcp	nowait	root	internal
# daytime	dgram	udp	wait	root	internal
# chargen	stream	tcp	nowait	root	internal
# chargen	dgram	udp	wait	root	internal
time		stream	tcp	nowait	root	internal
time		dgram	udp	wait	root	internal
#
# These are standard services:
#
# Very Secure File Transfer Protocol (FTP) server.
# ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  vsftpd
#
# Professional File Transfer Protocol (FTP) server.
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd
#
# Telnet server:
#telnet	stream  tcp     nowait  root    /usr/sbin/tcpd	in.telnetd
#
# The comsat daemon notifies the user of new mail when biff is set to y:
comsat        dgram   udp     wait    root    /usr/sbin/tcpd  in.comsat
#
# Shell, login, exec and talk are BSD protocols
#
#shell	stream	tcp	nowait	root	/usr/sbin/tcpd	in.rshd -L
#login	stream	tcp	nowait	root	/usr/sbin/tcpd	in.rlogind
# exec	stream	tcp	nowait	root	/usr/sbin/tcpd	in.rexecd
# talk	dgram	udp	wait	root	/usr/sbin/tcpd	in.talkd
#ntalk	dgram	udp	wait	root	/usr/sbin/tcpd	in.talkd
#
# To use the talk daemons from KDE, comment the talk and ntalk lines above
# and uncomment the ones below:
# talk    dgram   udp     wait    root    /usr/sbin/tcpd  /usr/bin/kotalkd
# ntalk   dgram   udp     wait    root    /usr/sbin/tcpd  /usr/bin/ktalkd
#
# Kerberos authenticated services
#
# klogin	stream	tcp	nowait	root	/usr/sbin/tcpd	rlogind -k
# eklogin	stream	tcp	nowait	root	/usr/sbin/tcpd	rlogind -k -x
# kshell	stream	tcp	nowait	root	/usr/sbin/tcpd	rshd -k
#
# Services run ONLY on the Kerberos server
#
# krbupdate	stream	tcp	nowait	root	/usr/sbin/tcpd	registerd
# kpasswd	stream	tcp	nowait	root	/usr/sbin/tcpd	kpasswdd
#
# POP and IMAP mail servers
#
# Post Office Protocol version 3 (POP3) server:
#pop3    stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/popa3d
# Internet Message Access Protocol (IMAP) server:
#imap2   stream  tcp     nowait  root    /usr/sbin/tcpd  imapd
#
# The Internet Unix to Unix copy (UUCP) service:
# uucp	stream	tcp	nowait	uucp	/usr/sbin/tcpd	/usr/lib/uucp/uucico	-l
#
# Tftp service is provided primarily for booting.  Most sites
# run this only on machines acting as "boot servers." 
# tftp  dgram   udp     wait    root    /usr/sbin/in.tftpd  in.tftpd -s /tftpboot -r blksize
#
# Internet Bootstrap Protocol (BOOTP) server:
# bootps	dgram	udp	wait	root	/usr/sbin/bootpd	bootpd
#
# Finger, systat and netstat give out user information which may be
# valuable to potential "system crackers."  Many sites choose to disable 
# some or all of these services to improve security.
# Try "telnet localhost systat" and "telnet localhost netstat" to see that
# information yourself!
#finger	stream	tcp	nowait	nobody	/usr/sbin/tcpd	in.fingerd -u
# systat	stream	tcp	nowait	nobody	/usr/sbin/tcpd	/bin/ps	-auwwx
# netstat	stream	tcp	nowait	root	/usr/sbin/tcpd	/bin/netstat	-a
#
# Ident service is used for net authentication
auth	stream	tcp	wait	root	/usr/sbin/in.identd	in.identd
#
# These are to start Samba, an smb server that can export filesystems to
# Pathworks, Lanmanager for DOS, Windows for Workgroups, Windows95, Lanmanager
# for Windows, Lanmanager for OS/2, Windows NT, etc.  
# If you're running smbd and nmbd as daemons in /etc/rc.d/rc.samba, then you
# shouldn't uncomment these lines.
#netbios-ssn    stream  tcp     nowait  root    /usr/sbin/smbd  smbd
#netbios-ns     dgram   udp     wait    root    /usr/sbin/nmbd  nmbd
#
#Samba Web Administration Tool:
#swat           stream  tcp     nowait.400 root /usr/sbin/swat  swat
#
# Sun-RPC based services.
# <service name/version><sock_type><rpc/prot><flags><user><server><args>
# rstatd/1-3	dgram	rpc/udp	wait	root	/usr/sbin/tcpd	rpc.rstatd
# rusersd/2-3	dgram	rpc/udp	wait	root	/usr/sbin/tcpd	rpc.rusersd
# walld/1	dgram	rpc/udp	wait	root	/usr/sbin/tcpd	rpc.rwalld
#
# End of inetd.conf.
   
Look at the lines in red. In this file I have the ProFTP server running but the telnet server not. If you are new to linux: this file will take effect after a reboot. If you are a linux crack you could have the system use the new file immediately by restarting the inetd script with a command similar to
/etc/rc.d/rc.inetd restart
but rebooting is not that much work.

Adding users

Never run Slackware in GOD mode. Become root when necessary, but do the bulk of your work as ordinary user. To be able to do so, you need to create the users. Use short descriptive names for users, like piet, jon, ast, linus instead of DonaldTrump or HillaryClinton. Use the 'adduser' program to add users. Like in

adduser flynn
You are asked 12 questions most of which can be 'answered' by a simple 'Enter'. The main user might be interested if he has slightly more power than the average joe and jane. So when the additional groups are mentioned do not press Enter but press ArrowUp. Remove any groups that do not sound fit and then press Enter.

Now enter the following commands:

   # echo clear >.bash_logout
   # echo . /etc/profile >.bashrc
   
preferably by cut/paste. The dots in these files and commands are critical!

Now log off by entering

exit

Running as user piet

You should now have the familiar login prompt. Enter username and password. You're in. And you are not in godmode since your command prompt is not '#' but '$'. Now you can only change and destroy things that you own. Yes Linux knows what's yours and what's not.

For most users it is now the time to start your graphical environment. Just enter the command

startx
and sit back. Just go for the default layout to start with. You can add options to the desktop in the way you are used to. And in many other ways. You will learn how to, by experiments.

This is a great moment to tweak your GUI system by running 'Applications' -> 'Settings' -> 'Settings manager' and then hopping from one item to the other. In the worst case you screw up for your own desktop, never for someone else's system. If you are unsure:

but in most cases you will not ruin your system. You can still always just delete the '.xfce' directories from your home directory and start again as if you never had xfce running before. If for some reason you do not like xfce you can choose any other window manager by running the script
xwmconfig
and choosing a 'better' one.

By this time you already have at least 4 webbrowsers (Firefox, Seamonkey, Konqueror and Links) but a fifth browser (Palemoon) comes in handy. Just start Firefox or Seamonkey (through the bottom panel) and surf to http://www.palemoon.org and download the browser. As of this time I could only install version 28.0.1 since all later versions require a specific library. I found the tgz file in http://repo.khronosschoty.org/Slackware/Pale-Moon/current/pkg64/ Just open a terminal and:

   $ cd ~/Downloads
   $ su
   Enter root password
   # installpkg palemoon-28.0.1-x86_64-1_SBo.tgz
   # exit
   
and you can now use PaleMoon as well.

Installing a programming language

This is Linux. You may now create your own software. The system comes with C, Cpp, python, perl, ruby, you name it. But the only best programming language is not included: obc. This is an oberon compiler generated by Professor Mike Spivey of Oxford University. You can download the compiler free of charge from http://spivey.oriel.ox.ac.uk/corner/Installing_OBC_release_3.1 By the time of writing this, Mike still calls this beta software but it works and delivers good executables. It produced a warning that a library could not be found but it is a bogus warning. Just ignore it.

You will not find a slackware package on that page. But that's no big deal. Just find the DEB package (in this case obc_3.1beta1_amd64.deb) and process it with the script 'deb2txz.sh' which will produce a txz file that can be installed with the slackware package installer. You can download my package here: obc-3.1beta1-amd64-_3.1.txz
The compiler has a small quirk: it produces a warning that it could not read info from the file 'libtinfo' but it is a bogus warning. Just ignore it. The executable will work nonetheless. Mike promised to solve it when he had some time. I don't mind the message. Some prior versions (2.7?) also had it.

Page created on 22 Nov 2018,