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:
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
# liloMy 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.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 toftp 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.
/etc/rc.d/rc.inetd restartbut 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 flynnYou 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 >.bashrcpreferably 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
startxand 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:
xwmconfigand 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 https://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 https://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 # exitand 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 https://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,