Azman M. Yusof edited this page Aug 26, 2016 · 19 revisions
Clone this wiki locally

This project used to be called slackbin, but I thought the 'bin' part may lead many to believe that this is a collection of binary files. Thus, the change to my1shell. It is a collection of Bash shell scripts that I wrote (some based on other people's scripts - kudos to them!) and personally used on my Slackware machine(s). It should also work on any standard Linux distribution as long as a bash-compatible shell is available. Some external binaries (e.g. rsync, wget) are also required - just check out the script.

I will try to put in the description of all scripts here a.s.a.p. (that is still subjective to my laziness factor - which is unfortunately, and unusually, high ;p).


This is a modified version of the excellent (he termed it infamous) mirror-slackware-current.sh by Alien Bob. I've somewhat simplified it based on my own requirements (notice that the script pretty much do the same thing). This script is what I personally use to acquire and update my local Slackware tree.

Simply run getslack to download Slackware-13.37 tree to the current directory. Some customizations are posible. Let's say I want to get Slackware64 on a 32-bit machine, simply run ARCH="x86_64" getslack. Or, getting 32-bit Slackware 13.37 on 64-bit machine with pure 64-bit Slackware 14.0, use ARCH="x86" RELEASE="13.37" getslack. Or, just create a config file and type getslack :-P

A sample config file (place it in ~/.getslack)

# checkout release & arch
# kde option?
# include some wanted software in excluded path
INCLUDES="$INCLUDES --include=extra/tightvnc/"
#INCLUDES="$INCLUDES --include=extra/source/"
#INCLUDES="$INCLUDES --include=extra/source/flashplayer-plugin/"
# exclude non-essentials
#EXCLUDES="$EXCLUDES --exclude=extra/"
EXCLUDES="$EXCLUDES --exclude=extra/*"
#EXCLUDES="$EXCLUDES --exclude=extra/source/*"
# exclude non-standard
EXCLUDES="$EXCLUDES --exclude=pasture/ --exclude=testing/"
# exclude extra installers
EXCLUDES="$EXCLUDES --exclude=usb-and-pxe-installers/"
# exclude source
EXCLUDES="$EXCLUDES --exclude=source/"
# exclude unwanted packages
EXCLUDES="$EXCLUDES --exclude=slackware*/e/ --exclude=slackware*/f/"
EXCLUDES="$EXCLUDES --exclude=slackware*/kdei/ --exclude=slackware*/y/"
# exclude source for unwanted packages - in case source is included
EXCLUDES="$EXCLUDES --exclude=source/e/ --exclude=source/f/"
EXCLUDES="$EXCLUDES --exclude=source/kdei/ --exclude=source/y/"
# if we don't need kde
[[ "$NO_KDE" == "yes" ]] &&
    EXCLUDES="$EXCLUDES --exclude=slackware/kde/ --exclude=source/kde/"`


coming soon...


coming soon...


This is a library of common functions used by Slackware-specific tasks (especially those related to package management). Since it is intended to be sourced from other scripts, - it does not require any execute permission.


As the name implies, this script looks for patches in a local Slackware mirror (such as one created by running getslack) and, if requested, applies them. So, getslack and slackpatch are what I use to maintain my Slackware system.

Running slackpatch without any command will display a help message as well as showing the list of updates available. To apply patches, run slackpatch patch as root.

This script requires libmy1slack.


This started when I want to have a 32-bit system running in chroot environment on my Slackware64. I've used such system on Debian using schroot. This script doesn't actually execute to get to that environment, it just makes all the required preparations. I've also tried to add something akin to slax - building a Slackware live root FS, but that's still work-in-progress-which-I-can't say-when-it'll-finish :p

To make things short, just run slackroot chroot --desktop --execute --verbose as root to get a GUI-capable chroot 32-bit environment (obviously, you'll have to getslack the 32-bit tree) which is installed to /opt/chroot32 by default, and is accessible by running ssh <username>@localhost.

This script requires libmy1slack.