| Size: 21008 Comment:  | Size: 24184 Comment:  | 
| Deletions are marked like this. | Additions are marked like this. | 
| Line 665: | Line 665: | 
| Slackbuils [[attachment:json-glib-1.0.4-i486-1_SBo.tgz]] [[attachment:pidgin-skypeweb-1.1-i486-1_SBo.tgz]] [[attachment:json-glib-1.0.4-x86_64-1_SBo.tgz]] [[attachment:pidgin-skypeweb-1.1-x86_64-1_SBo.tgz]] == Get patches for Slackware 14.2 == * Check patches/packages and patches/PACKAGES.TXT for the desired Slackware version. * URL for Slackware 14.2 ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/ Get packages to be updated * URL_PATCHES=ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches * mkdir -p ~/Downloads/slack14_2i386patches * cd ~/Downloads/slack14_2i386patches * rm PACKAGES.TXT * wget $URL_PATCHES/PACKAGES.TXT * head PACKAGES.TXT * rm /tmp/packages/* * cat PACKAGES.TXT | grep "PACKAGE NAME" | awk '//{print $3}'| sed 's/.txz//g' | xargs -i ls /var/log/packages/{} &> /tmp/outpatches.txt ;mkdir -p /tmp/packages;cd /tmp/packages; cat /tmp/outpatches.txt | grep cannot | awk '//{print $4}' | sed 's/\/var\/log\/packages\///g' | sed 's/://g' | sed "s/'//g" | xargs -i wget $URL_PATCHES/packages/{}.txz * cd /tmp/packages * su # run as root the upgradepkg * ls *.txz | xargs -i upgradepkg {} * exit # return to normal user * mv * ~/Downloads/slack14_2i386patches == Update kernel (4.4.14 to 4.4.172) == {{{#!highlight bash function get_packages { cd /tmp/packages wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-firmware-20190118_a8b75ca-noarch-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-generic-4.4.172-i586-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-generic-smp-4.4.172_smp-i686-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-headers-4.4.172_smp-x86-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-huge-4.4.172-i586-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-huge-smp-4.4.172_smp-i686-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-modules-4.4.172-i586-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-modules-smp-4.4.172_smp-i686-1.txz wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-source-4.4.172_smp-noarch-1.txz } function update { cp /etc/lilo.conf /etc/lilo.conf.old20190222 ls /boot cd /tmp/packages upgradepkg kernel-*.txz # uname -a says that it has a SMP kernel /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.172-smp | bash ls /boot cat /etc/lilo.conf | grep image echo "Check content, image should have kernel 4.4.172" read echo "Going to execute lilo" lilo mv *.txz /home/user/Downloads/slack14_2i386patches } #get_packages update }}} == /etc/dhclient.conf == {{{ # dhclient.conf # # Configuration file for ISC dhclient (see 'man dhclient.conf') # send host-name = "hostx" }}} | 
Slackware
The original Linux distribution, geared towards power and stability.
Vagrant on Slackware 14 32 bit
Ruby version: ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-linux]
VirtualBox version, Oracle VM VirtualBox Manager 4.2.8
Install Vagrant from source
Based on https://github.com/mitchellh/vagrant/wiki/Installing-Vagrant-from-source
As root run the following:
- cd /tmp
- mkdir gitVagrant
- cd gitVagrant
- git clone https://github.com/mitchellh/vagrant.git 
- cd vagrant
- git pull origin master #get latest version
- #git reset a40522f5fabccb9ddabad03d836e120ff5d14093 --hard # reset to v1.3.5
- git reset 7ec0ee1d00a916f80b109a298bab08e391945243 --hard #reset to v1.2.7
- gem install bundle #it may not be installed
- bundle install
- rake install
- gem list
- gem uninstall vagrant #uninstall other old gems
- vagrant -v #check vagrant version
Install VirtualBox on Slackware 14 32 bit
Get VirtualBox 4.2.8 for Linux, i386, all distributions http://download.virtualbox.org/virtualbox/4.2.8/VirtualBox-4.2.8-83876-Linux_x86.run.
For 4.2.18 http://download.virtualbox.org/virtualbox/4.2.18/VirtualBox-4.2.18-88781-Linux_x86.run
As root run the following commands:
- cd <place where the downloaded virtualbox installer is> 
- chmod 755 VirtualBox-4.2.8-83876-Linux_x86.run 
- ./VirtualBox-4.2.8-83876-Linux_x86.run 
- usermod -a -G vboxusers <username> 
- id <username> #check user groups 
As a normal user run the following:
- virtualbox --help # check the version and parameters
- virtualbox #start virtualbox
Get and run a base box - Ubuntu Lucid32
In http://www.vagrantbox.es/ there is a list of available vagrant boxes.
As normal user run the following
- mkdir -p /tmp/vgbox
- cd /tmp/vgbox
- wget http://files.vagrantup.com/lucid32.box #Ubuntu 10.04 LTS 
- vagrant box add UbuntuLucid32 lucid32.box 
- vagrant init UbuntuLucid32 
- vagrant up
- vagrant ssh #access the VM through SSH
- ping www.sapo.pt #inside VM ... does not reply
- exit
- vagrant suspend
Run the following as stated in http://serverfault.com/questions/453185/vagrant-virtualbox-dns-10-0-2-3-not-working:
- VBoxManage list vms
- VBoxManage modifyvm "vgbox_1372194938" --natdnsproxy1 on
- VBoxManage modifyvm "vgbox_1372194938" --natdnshostresolver1 on
- vagrant resume
- vagrant ssh
- ping www.sapo.pt # OK ! it gets ping replies
- dpkg -l | more # show all installed packages
Running cat /etc/debian_version show its based on squeeze/sid.
Running cat /etc/issue.net show it's Ubuntu 10.04.4 LTS http://releases.ubuntu.com/lucid/.
Current user and pass for the lucid32 box is vagrant vagrant. To get superuser access run sudo bash.
Inspecting the file /etc/shadow we can see that only the user vagrant has a password defined.
In /etc/sudoers it is said that all users belonging to group can gain root privileges with supplying a password.
In /etc/group it is stated that vagrant belongs to the admin group.
Ubuntu Precise32
In http://www.vagrantbox.es/ there is a list of available vagrant boxes.
As normal user run the following
- mkdir -p ~/Downloads/vagrantBoxes/
- cd ~/Downloads/vagrantBoxes/
- wget http://files.vagrantup.com/precise32.box #Ubuntu 12.04 LTS 
- mkdir -p /tmp/precise32
- cd /tmp/precise32
- vagrant box add UbuntuPrecise32 ~/Downloads/vagrantBoxes/precise32.box 
- vagrant init UbuntuPrecise32 
- vagrant up
- vagrant ssh #access the VM through SSH
- ping www.sapo.pt
- exit
- vagrant suspend
Slackware NAT router with Pen 3G
Configure Slackware PC to share a 3G internet connection (TMN portuguese ISP).
Internet connection
The used APN is internet.
There is no PIN defined in the used SIM card.
Edit /etc/ppp/peers/tmnpub
- /dev/ttyUSB0
- 460800
- connect 'chat -v -f /etc/ppp/chat/tmnpub'
- defaultroute
- usepeerdns
Edit /etc/ppp/chat/tmnpub
- ABORT 'BUSY'
- ABORT 'NO CARRIER'
- ABORT 'ERROR'
- ABORT 'SIM PIN'
- ABORT 'SIM PUK'
- '' AT 
- OK AT+CGDCONT=1,"IP","internet"
- OK AT+CPIN?
- READY ATDT*99#
- CONNECT
To connect to the internet we must use the command:
- pppd call tmnpub
Using the command ifconfig we should see the device ppp0 in the output.
Issuing a command ping www.google.com we should get a reply with the IP address from Google.
Configure NAT (Network Address Translation) router
Translate internal network addresses (source address) to a public/usable IP address given to the 3G modem.
View the routing table:
- route -n
It should appear the devices ppp0 and eth0, and based on the Destination and Netmask the destination interface.
Enable IP forwarding:
- echo 1 > /proc/sys/net/ipv4/ip_forward 
Configure iptables to translate the address after they are forwarded to the correct interface, from eth0 to ppp0:
- iptables -F
- iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
To view the iptables configuration run the commands:
- iptables -L -t nat -v
- iptables -L -t filter -v
#script #Enable IP forwarding: echo 1 > /proc/sys/net/ipv4/ip_forward #Configure iptables to translate the address after they are forwarded to the correct interface, from eth0 to ppp0: iptables -F iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Configure client computer
The routing table must be configure to use the NAT on Slackware, that will act as a router.
Check the current default gateway:
- route -n
The line with destination equal to 0.0.0.0 and gateway 0.0.0.0, is the default router/gateway and must be deleted. We must run a command to do that, adapted to the current situation:
- route del -net 0.0.0.0 gw 192.168.1.1
The previous command is to delete a route with destination 0.0.0.0 and gateway 192.168.1.1.
If the NAT router have the IP 192.168.1.123 then the following command must be sent:
- route add default gw 192.168.1.123
- route -n
After that running route -n should return a line with:
- Gateway: 192.168.1.123
- Netmask: 0.0.0.0
- Destination: 0.0.0.0
- Iface: eth0
Running a ping www.google.com from the client computer should return the IP address from Google.
Running a traceroute www.google.com should show the IP address from the NAT router.
Windows
- route print
- route delete 0.0.0.0
- route add 0.0.0.0 192.168.1.123
Generic kernel
The “generic” kernel on the other hand, is a kernel which has virtually no drivers built in. All drivers will be loaded into RAM on demand.
#/usr/share/mkinitrd/mkinitrd_command_generator.sh # # mkinitrd_command_generator.sh revision 1.45 # # This script will now make a recommendation about the command to use # in case you require an initrd image to boot a kernel that does not # have support for your storage or root filesystem built in # (such as the Slackware 'generic' kernels'). # A suitable 'mkinitrd' command will be: mkinitrd -c -k 3.2.45-smp -f ext4 -r /dev/sda1 -m usb-storage:ehci-hcd:usbhid:uhci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz # Add to /etc/lilo.conf image = /boot/vmlinuz-generic-smp-3.2.45-smp initrd = /boot/initrd.gz # add this line so that lilo sees initrd.gz root = /dev/sda1 label = SlackwareGeneric read-only # run lilo -v
USB boot in VirtualBox
$VBoxManage convertfromraw -format VDI usbboot.img usbboot.vdi
Generic on Slackware64 14.0
- /usr/share/mkinitrd/mkinitrd_command_generator.sh
- mkinitrd -c -k 3.2.29 -f ext4 -r /dev/sda5 -m usbhid:ehci-hcd:mbcache:jbd2:ext4 -u -o /boot/initrd.gz
Add to /etc/lilo.conf
image = /boot/vmlinuz-generic-3.2.29 initrd = /boot/initrd.gz # add this line so that lilo sees initrd.gz root = /dev/sda5 label = SlackGen read-only
- lilo -v
System V (Sys V) init
Slackware since 7.0 also allows Sys V inits.
Sample service /etc/init.d/blah:
   1 #! /bin/sh
   2 # /etc/init.d/blah
   3 #
   4 
   5 # Some things that run always
   6 touch /var/lock/blah
   7 
   8 # Carry out specific functions when asked to by the system
   9 case "$1" in
  10   start)
  11     echo "Starting script blah "
  12     echo "Could do more here"
  13     ;;
  14   stop)
  15     echo "Stopping script blah"
  16     echo "Could do more here"
  17     ;;
  18   *)
  19     echo "Usage: /etc/init.d/blah {start|stop}"
  20     exit 1
  21     ;;
  22 esac
  23 
  24 exit 0
Mark script as executable:
- chmod 755 /etc/init.d/blah
Default runlevels (2 3 4 5):
- ln -s /etc/init.d/blah /etc/rc2.d/S99blah
- ln -s /etc/init.d/blah /etc/rc2.d/K10blah
- ln -s /etc/init.d/blah /etc/rc3.d/S99blah
- ln -s /etc/init.d/blah /etc/rc3.d/K10blah
- ln -s /etc/init.d/blah /etc/rc4.d/S99blah
- ln -s /etc/init.d/blah /etc/rc4.d/K10blah
- ln -s /etc/init.d/blah /etc/rc5.d/S99blah
- ln -s /etc/init.d/blah /etc/rc5.d/K10blah
Check symbolic links:
- ls /etc/rc*.d
Sys V init for Python script
Sample service /etc/init.d/blah:
   1 #! /bin/sh
   2 # /etc/init.d/blah
   3 #
   4 
   5 # Some things that run always
   6 touch /var/lock/blah
   7 
   8 # Carry out specific functions when asked to by the system
   9 case "$1" in
  10   start)
  11     logger "Starting beat.py"     
  12     echo   "Starting beat.py"
  13     /usr/bin/python /tmp/beat.py &
  14     ;;
  15   status)
  16     PID=`cat /var/run/beat.pid`
  17     logger "Process running with PID $PID"
  18     echo   "Process running with PID $PID"
  19     ;;    
  20   stop)
  21     PID=`cat /var/run/beat.pid`
  22     logger "Killing process with PID $PID"
  23     echo   "Killing process with PID $PID"
  24     kill -9 $PID
  25     rm /var/run/beat.pid
  26     ;;
  27   *)
  28     echo "Usage: /etc/init.d/blah {start|status|stop}"
  29     exit 1
  30     ;;
  31 esac
  32 
  33 exit 0
Mark script as executable:
- chmod 755 /etc/init.d/blah
Default runlevels (2 3 4 5):
- ln -s /etc/init.d/blah /etc/rc2.d/S99blah
- ln -s /etc/init.d/blah /etc/rc2.d/K10blah
- ln -s /etc/init.d/blah /etc/rc3.d/S99blah
- ln -s /etc/init.d/blah /etc/rc3.d/K10blah
- ln -s /etc/init.d/blah /etc/rc4.d/S99blah
- ln -s /etc/init.d/blah /etc/rc4.d/K10blah
- ln -s /etc/init.d/blah /etc/rc5.d/S99blah
- ln -s /etc/init.d/blah /etc/rc5.d/K10blah
Check symbolic links:
- ls /etc/rc*.d
Python /tmp/beat.py code:
   1 #!/usr/bin/python
   2 import threading
   3 import time
   4 import os
   5 import syslog
   6 import datetime
   7 
   8 class Beat(threading.Thread):
   9     def __init__(self):
  10         threading.Thread.__init__(self) #required
  11 
  12     def run(self):
  13         loop=True
  14         while loop:
  15             syslog.syslog(syslog.LOG_INFO, "Beat %s"%(datetime.datetime.now()) )
  16             time.sleep(5)
  17 
  18 if __name__=="__main__":
  19     f=open('/var/run/beat.pid','wa')
  20     f.write('%d'%(os.getpid()))
  21     f.close()
  22     os.getpid()
  23     b = Beat()
  24     b.start()
Packages updates
Check patches/packages and patches/PACKAGES.TXT for the desired Slackware version. URL for Slackware 14.0 ftp://ftp.slackware.com/pub/slackware/slackware-14.0/patches/
Get packages to be updated
- cd ~/Downloads/slack14i386patches
- wget ftp://ftp.slackware.com/pub/slackware/slackware-14.0/patches/PACKAGES.TXT 
- cat PACKAGES.TXT | grep "PACKAGE NAME" | awk '//{print $3}'| sed 's/.txz//g' | xargs -i ls /var/log/packages/{} &> /tmp/out.txt ;mkdir -p /tmp/packages;cd /tmp/packages; cat /tmp/out.txt | grep cannot | awk '//{print $4}' | sed 's/\/var\/log\/packages\///g' | sed 's/://g' | xargs -i wget ftp://ftp.slackware.com/pub/slackware/slackware-14.0/patches/packages/{}.txz 
Caching only nameserver/DNS server
- chmod 755 /etc/rc.d/rc.bind
- Check the configuration with named-checkconf. 
- Start the service with /etc/rc.d/rc.bind start
Edit /etc/resolv.conf
nameserver 127.0.0.1
Edit /etc/named.conf
options {
 directory "/var/named";
 forwarders { 8.8.8.8; 8.8.4.4; };
};
// a caching only nameserver config
zone "." IN {
 type hint;
 file "caching-example/named.root";
};
zone "localhost" IN {
 type master;
 file "caching-example/localhost.zone";
 allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
 type master;
 file "caching-example/named.local";
 allow-update { none; };
};
logging {
  channel my_named_channel {
  file "/tmp/named.log";
  // syslog info;
  // Set the severity to dynamic to see all the debug messages.
  severity dynamic;
  print-time yes;
  print-severity yes;
  print-category yes;
 };
 category queries {   my_named_channel; };
 category client {   my_named_channel; };
 category default { default_syslog; };
};
Update bash on Slackware64 14
- upgradepkg bash-4.2.048-x86_64-2_slack14.0.txz
Upgrade from Slackware 14.0 to 14.1
- ctrl+alt+f1
- mount /dev/cdrom /mnt/cdrom
- cd /mnt/cdrom
- cp slackware /root/ -r
- cd /root
- telninit 1
- login as root
- cd /root/slackware
- upgradepkg a/glibc-solibs-*.t?z
- upgradepkg a/pkgtools-*.tgz
- upgradepkg a/tar-*.tgz
- upgradepkg a/xz-*.tgz
- upgradepkg a/findutils-*.txz
- upgradepkg --install-new /root/slackware/*/*.t?z
- removepkg Terminal aumix kdegames kdemultimedia ksecrets mysql printer-applet quanta rexima scim-bridge xxgdb
- Check file /etc/lilo.conf to see which old kernel is used #/boot/vmlinuz-generic-smp-3.2.45-smp
- /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 3.10.17-smp | bash
- In /etc/lilo.conf use image=/boot/vmlinuz-generic-smp-3.10.17-smp
- lilo -v
- telinit 3
- reboot
- After the reboot shows the kernel version 3.10.17
- In /etc/rc.d/rc.local add modprobe snd_mixer_oss
Get patches for Slackware 14.1
- Check patches/packages and patches/PACKAGES.TXT for the desired Slackware version.
- URL for Slackware 14.1 ftp://ftp.slackware.com/pub/slackware/slackware-14.1/patches/ 
Get packages to be updated
- mkdir -p ~/Downloads/slack14_1i386patches
- cd ~/Downloads/slack14_1i386patches
- wget ftp://ftp.slackware.com/pub/slackware/slackware-14.1/patches/PACKAGES.TXT 
cat PACKAGES.TXT | grep "PACKAGE NAME" | awk '//{print $3}'| sed 's/.txz//g' | xargs -i ls /var/log/packages/{} &> /tmp/out.txt ;mkdir -p /tmp/packages;cd /tmp/packages; cat /tmp/out.txt | grep cannot | awk '//{print $4}' | sed 's/\/var\/log\/packages\///g' | sed 's/://g' | xargs -i wget ftp://ftp.slackware.com/pub/slackware/slackware-14.1/patches/packages/{}.txz
- cd /tmp/packages
- mv * ~/Downloads/slack14_1i386patches
Upgrade from 14.1 to 14.2
Get and burn ISO
- wget http://ftp.slackware.com/pub/slackware-iso/slackware-14.2-iso/slackware-14.2-install-dvd.iso 
- modprobe sg # fpr cdrecord
- cdrecord -scanbus #identify the device DVDRAM LG GP08NU6B
- cdrecord -dev=6,0,0 -pad -data slackware-14.2-install-dvd.iso
- # eject the DVD after burning
- cd /
- mount /dev/sr0 /mnt/cdrom #check DVD
- cd /mnt/cdrom
- ls
- cd /
- umount /mnt/cdrom
Upgrade script
   1 #!/bin/sh
   2 #CURRDIR=`cd`
   3 CURRDIR=`pwd`
   4 URL=http://ftp.rnl.tecnico.ulisboa.pt/pub/slackware/slackware-14.2
   5 PACKAGEURL=packagesUrl.txt  
   6 LOCATIONS=locations.txt
   7 
   8 # get packages
   9 function getpackages
  10 {
  11   cd /tmp
  12   mkdir -p slack14_2
  13   cd slack14_2
  14   wget $URL/UPGRADE.TXT
  15   wget $URL/slackware/PACKAGES.TXT
  16   cat PACKAGES.TXT | grep 'NAME\|LOCATION' | tr -d '\n' | sed 's/PACKAGE NAME:/\n/g' | sed 's/PACKAGE LOCATION://g' | awk '/slackware/{print $2 , "/" , $1}' | sed 's/ \/ /\//g' | sort  | sed "s/\.\/slack/http:\/\/ftp.rnl.tecnico.ulisboa.pt\/pub\/slackware\/slackware-14.2\/slack/g" > $PACKAGEURL
  17 
  18   cat PACKAGES.TXT | grep 'LOCATION' | sort | uniq | sed "s/PACKAGE LOCATION:  \.//g" > $LOCATIONS
  19   cat $PACKAGEURL  | xargs -i wget {}
  20 }
  21 
  22 # upgrade stuff
  23 function upgrade
  24 {  
  25   # must be in single user mode !!!
  26   # telinit 1
  27   cd /tmp/slack14_2
  28   echo Backup /etc
  29   tar cvzf backetc14_3.tgz /etc
  30   
  31   echo Initial install 
  32   upgradepkg glibc-solibs-*.txz
  33   upgradepkg pkgtools-*.txz
  34   upgradepkg tar-*.txz
  35   upgradepkg xz-*.txz
  36   upgradepkg findutils-*.txz
  37   
  38   echo Install other stuff
  39   upgradepkg --install-new *.t?z
  40 
  41   echo Remove old packages 
  42   removepkg ConsoleKit apmd bluez-hcidump cxxlibs foomatic-filters gnome-icon-theme imlib kdeadmin kdenetwork kdesdk kdetoys kwallet lesstif libelf libjpeg libxfcegui4 networkmanagement obex-data-server obexfs open-cobol oxygen-gtk3 phonon-mplayer phonon-xine pil portmap procps qca-cyrus-sasl qca-gnupg qca-ossl udev xchat xf86-input-aiptek  xf86-video-modesetting xfce4-mixer xfce4-volumed xfwm4-themes
  43 
  44   echo Configure kernel
  45   /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.14-smp | bash
  46  
  47   echo Check lilo.conf to point to 4.4.14-smp in image=
  48   cat /etc/lilo.conf | grep image
  49   echo Run lilo
  50   lilo
  51   echo Probable error above if image does not have the kernel 4.4.14-smp
  52   telinit 3
  53   # reboot 
  54   # in case of problems to get a login in lilo after '''boot: SlackwareGen single''' to start in single user mode
  55   # /etc/rc.d/rc.modules should point to rc.modules.new to use modules for 4.4.14
  56 }
  57 
  58 upgrade
  59 echo $CURRDIR
  60 cd $CURRDIR
Chromium
- cd /tmp
- wget https://slackbuilds.org/slackbuilds/14.2/development/ninja.tar.gz 
- tar xvzf ninja.tar.gz
- cd ninja
- wget https://github.com/ninja-build/ninja/archive/v1.7.1.tar.gz 
- ./ninja.SlackBuild 
- installpkg /tmp/ninja-1.7.1-i486-1_SBo.tgz
- cd ..
- wget https://slackbuilds.org/slackbuilds/14.2/network/chromium.tar.gz 
- tar xvzf chromium.tar.gz
- cd chromium
- wget https://commondatastorage.googleapis.com/chromium-browser-official/chromium-48.0.2564.97.tar.xz #about 413MB 
- ./chromium.SlackBuild 
VirtualBox
As root run the following commands:
- cd <place where the downloaded virtualbox installer is> 
- chmod 755 VirtualBox-5.1.4-110228-Linux_x86.run 
- ./VirtualBox-5.1.4-110228-Linux_x86.run 
- usermod -a -G vboxusers <username> 
- id <username> #check user groups 
As a normal user run the following:
- virtualbox --help # check the version and parameters
- virtualbox #start virtualbox
BSD init script
/etc/rc.d/rc.beat #chmod 755 rc.beat
   1 #! /bin/sh
   2 # /etc/rc.d/rc.beat
   3 #
   4 PROC_NAME=beat
   5 touch /var/lock/beat
   6 
   7 case "$1" in
   8   start)
   9     logger "Starting ${PROC_NAME}"     
  10     echo   "Starting ${PROC_NAME}"
  11     /usr/bin/python /tmp/${PROC_NAME}.py &
  12     ;;
  13   status)
  14     PID=$(cat /var/run/beat.pid)
  15     logger "${PROC_NAME} running with PID $PID"
  16     echo   "${PROC_NAME} running with PID $PID"
  17     ;;    
  18   stop)
  19     PID=$(cat /var/run/beat.pid)
  20     logger "Killing ${PROC_NAME} with PID $PID"
  21     echo   "Killing ${PROC_NAME} with PID $PID"
  22     kill -9 $PID
  23     rm /var/run/beat.pid
  24     ;;
  25   *)
  26     echo "Usage: /etc/rc.d/beat {start|status|stop}"
  27     exit 1
  28     ;;
  29 esac
  30 
  31 exit 0
/tmp/beat.py
   1 #!/usr/bin/python
   2 import threading
   3 import time
   4 import os
   5 import syslog
   6 import datetime
   7 
   8 class Beat(threading.Thread):
   9     def __init__(self):
  10         threading.Thread.__init__(self) #required
  11 
  12     def run(self):
  13         loop=True
  14         while loop:
  15             syslog.syslog(syslog.LOG_INFO, "Beat %s"%(datetime.datetime.now()) )
  16             time.sleep(5)
  17 
  18 if __name__=="__main__":
  19     f=open('/var/run/beat.pid','wa')
  20     f.write('%d'%(os.getpid()))
  21     f.close()
  22     os.getpid()
  23     b = Beat()
  24     b.start()
Pidgin-sipe build for Slackware 14.2
- cd /tmp
- wget https://slackbuilds.org/slackbuilds/14.2/network/pidgin-sipe.tar.gz 
- tar xvzf pidgin-sipe.tar.gz
- cd pidgin-sipe
- wget http://downloads.sourceforge.net/sipe/pidgin-sipe-1.21.1.tar.xz 
- ./pidgin-sipe.SlackBuild 
- installpkg /tmp/pidgin-sipe-1.21.1-i586-1_SBo.tgz
Slackbuild pidgin-sipe-1.21.1-i586-1_SBo.tgz
pidgin-skype slackbuild
- cd /tmp
- wget https://slackbuilds.org/slackbuilds/14.2/libraries/json-glib.tar.gz 
- tar xvzf json-glib.tar.gz
- cd json-glib
- wget http://ftp.acc.umu.se/pub/GNOME/sources/json-glib/1.0/json-glib-1.0.4.tar.xz 
- ./json-glib.SlackBuild 
- installpkg /tmp/json-glib-1.0.4-i486-1_SBo.tgz
- cd /tmp
- wget https://slackbuilds.org/slackbuilds/14.2/network/pidgin-skypeweb.tar.gz 
- tar xvzf pidgin-skypeweb.tar.gz
- cd pidgin-skypeweb
- wget https://github.com/EionRobb/skype4pidgin/archive/1.1.tar.gz 
- ./pidgin-skypeweb.SlackBuild 
- installpkg /tmp/pidgin-skypeweb-1.1-i486-1_SBo.tgz
Slackbuils json-glib-1.0.4-i486-1_SBo.tgz pidgin-skypeweb-1.1-i486-1_SBo.tgz json-glib-1.0.4-x86_64-1_SBo.tgz pidgin-skypeweb-1.1-x86_64-1_SBo.tgz
Get patches for Slackware 14.2
- Check patches/packages and patches/PACKAGES.TXT for the desired Slackware version.
- URL for Slackware 14.2 ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/ 
Get packages to be updated
- URL_PATCHES=ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches 
- mkdir -p ~/Downloads/slack14_2i386patches
- cd ~/Downloads/slack14_2i386patches
- rm PACKAGES.TXT
- wget $URL_PATCHES/PACKAGES.TXT
- head PACKAGES.TXT
- rm /tmp/packages/*
- cat PACKAGES.TXT | grep "PACKAGE NAME" | awk '//{print $3}'| sed 's/.txz//g' | xargs -i ls /var/log/packages/{} &> /tmp/outpatches.txt ;mkdir -p /tmp/packages;cd /tmp/packages; cat /tmp/outpatches.txt | grep cannot | awk '//{print $4}' | sed 's/\/var\/log\/packages\///g' | sed 's/://g' | sed "s/'//g" | xargs -i wget $URL_PATCHES/packages/{}.txz 
- cd /tmp/packages
- su # run as root the upgradepkg
- ls *.txz | xargs -i upgradepkg {}
- exit # return to normal user
- mv * ~/Downloads/slack14_2i386patches
Update kernel (4.4.14 to 4.4.172)
   1 function get_packages
   2 {
   3   cd /tmp/packages
   4   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-firmware-20190118_a8b75ca-noarch-1.txz
   5   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-generic-4.4.172-i586-1.txz
   6   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-generic-smp-4.4.172_smp-i686-1.txz
   7   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-headers-4.4.172_smp-x86-1.txz
   8   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-huge-4.4.172-i586-1.txz
   9   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-huge-smp-4.4.172_smp-i686-1.txz
  10   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-modules-4.4.172-i586-1.txz
  11   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-modules-smp-4.4.172_smp-i686-1.txz
  12   wget ftp://ftp.slackware.com/pub/slackware/slackware-14.2/patches/packages/linux-4.4.172/kernel-source-4.4.172_smp-noarch-1.txz
  13 }
  14 
  15 function update
  16 {
  17   cp /etc/lilo.conf /etc/lilo.conf.old20190222
  18   ls /boot
  19   cd /tmp/packages
  20   upgradepkg kernel-*.txz
  21   # uname -a says that it has a SMP kernel
  22   /usr/share/mkinitrd/mkinitrd_command_generator.sh -k 4.4.172-smp | bash
  23   ls /boot
  24   cat /etc/lilo.conf | grep image
  25   echo "Check content, image should have kernel 4.4.172"
  26   read
  27   echo "Going to execute lilo"
  28   lilo
  29   mv *.txz /home/user/Downloads/slack14_2i386patches
  30 }
  31 
  32 #get_packages
  33 update
/etc/dhclient.conf
# dhclient.conf # # Configuration file for ISC dhclient (see 'man dhclient.conf') # send host-name = "hostx"
