Slackware 11.0

From GanjaLinux

Jump to: navigation, search

This machine is undergoing an upgrade from Slackware 11.0 to 12.0 (follow link for details).

Contents

Mirror

Services

ntpd

server 0.us.pool.ntp.org
server 1.us.pool.ntp.org
server 2.us.pool.ntp.org
server 3.us.pool.ntp.org
  • executed the following to update time
ntpdate 0.us.pool.ntp.org 
# Start the NTP daemon:
if [ -x /usr/sbin/ntpd ]; then
  echo "Starting NTP daemon: /usr/sbin/ntpd"
  /usr/sbin/ntpd
fi

gkrellmd

  • create the /etc/gkrellmd.conf file with
# Sample config file for the GKrellM server gkrellmd

# The server update frequency is independent of and should be less than
# the client update frequency.  Values may be from 1 to 10 and should be
# smaller values to reduce network traffic.
#
update-hz 3

# Limit number of simultaneous clients allowed to connect.
#
max-clients 2

# Specify the port to listen on for connections.
#
port 19150

# List of hosts allowed to connect.  If no hosts are specified in a
# gkrellmd.conf file or on the command line, all hosts will be allowed.
#
#allow-host     localhost
#allow-host     127.0.0.1
#allow-host     ::1
allow-host      192.168.1.*

# Drop privileges after startup (you must start gkrellmd as root to do it).
#
user    nobody
group   proc

# Run in background and detach from the controlling terminal
detach

# Time interval between checks for various monitors.  If nfs-interval
# is <= 0 then gkrellmd will not read data for nfs file system types.
#
#fs-interval 2
#nfs-interval 16

# The Internet monitor defaults to reading tcp connections once per second.
# However, for Linux SMP kernels where reading /proc/net/tcp causes high
# cpu usage, the inet-interval may be set to 1-20 seconds to slow down
# /proc/net/tcp reads.  Or set it to 0 to totally disable the Inet monitor.
# Requires at least gkrellmd version 2.1.8.
#
#inet-interval 1

#inet-interval 1

# If the mbmon daemon is started before gkrellmd with this command:
#     mbmon -r -P port-number
# (the "-r" mbmon tag mode is required) then gkrellmd will monitor mbmon
# reported sensors if this is uncommented and the port-numbers match.
#
#mbmon-port port-number

# Configure gkrellm clients to disconnect from a gkrellmd server if
# there is an io-timeout seconds interval where the client receives no input
# from the server.  Use this for conditions where gkrellmd may be
# ungracefully terminated such that socket connections are not closed.
# Minimum is 2 (less than 2 for no I/O disconnecting and is the default).
# Requires at least 2.1.8 versions of both gkrellmd and gkrellm.
#
#io-timeout 5

# Configure gkrellm clients to attempt automatic reconnects to a
# gkrellmd server every reconnect-timeout seconds after a disconnected
# state is detected.  Disconnected states are created by normal gkrellmd
# shutdowns or by an expiring io-timeout.
# Minimum is 2 (less than 2 for no automatic reconnecting and is the default).
# shutdowns or by an expiring io-timeout.
# Minimum is 2 (less than 2 for no automatic reconnecting and is the default).
# Requires at least 2.1.8 versions of both gkrellmd and gkrellm.
#
#reconnect-timeout 5

# Server side local mailbox counts can be sent to gkrellm clients.  List here
# paths to mbox, MH mail, or Maildir style mailboxes.
# Requires at least 2.1.11 versions of both gkrellmd and gkrellm.
#
#mailbox /var/mail/bill
#mailbox ~/Mail/inbox

# List of plugins to enable.  Use "gkrellmd -plist" to view a list of all
# available plugins.  Use "gkrellmd -plog" to output a log of the plugin
# install process (note: the detach option is ignored when using -plog).
#
#plugin-enable gkrelltop
#plugin-enable next-plugin

# Configure gkrellmd to send the connect time for a network interface
# to all clients to be displayed in the client gkrellm timer button
# monitor display.  If this is done, the client gkrellm timer button can
# to all clients to be displayed in the client gkrellm timer button
# monitor display.  If this is done, the client gkrellm timer button can
# still execute commands on the client, but the button will not affect the
# timer display.  If you want the client timer button to execute commands
# on the server, your timer button commands will have to use sudo.
# So set this if your server box has a ppp or ippp connection and you
# want to monitor its connect time.
#net-timer ppp0
  • added the following to /etc/rc.d/rc.local
if [ -x /etc/rc.d/rc.gkrellmd ]; then
  echo "Starting gkrellmd"
  /etc/rc.d/rc.gkrellmd start
fi
#!/bin/sh
# Start/stop/restart gkrellmd
# gkrellmd looks for config at /etc/gkrellmd.conf and /usr/local/etc/gkrellmd.conf
GKRELLMD=/usr/bin/gkrellmd

gkrellmd_start() { 
	$GKRELLMD -d
	#We put -d here to run gkrellmd in the background and detach in case no config file exists, or the config file does not specify "detach"
}
gkrellmd_stop() {
       	killall gkrellmd
}
gkrellmd_restart() {
  gkrellmd_stop
  sleep 1
  gkrellmd_start
}

case "$1" in
'start')
  gkrellmd_start
  ;;
'stop')
  gkrellmd_stop
  ;;
'restart')
  gkrellmd_restart
  ;;
*)
 echo "usage $0 start|stop|restart"
esac
chmod +x /etc/rc.d/rc.gkrellmd

ProFTPD

  • uncomment the following line in /etc/inetd.conf
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  proftpd

Cron

  • Added the following script to /etc/cron.hourly/
#!/bin/sh
/usr/sbin/ntpdate us.pool.ntp.org
/sbin/hwclock -w

distccd

$ export DISTCC_HOSTS='localhost server'
$ distccd --daemon --allow 192.168.1.0/24 --user nobody
$ make -j8 CC=distcc

mt-maapd

stable
# slapt-get --install libid3tag
Reading Package Lists... Done
The following NEW packages will be installed:
  libid3tag
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 68.0kB of archives.
After unpacking 200.0kB of additional disk space will be used.
Get http://mirrors.easynews.com/linux/slackware/slackware-11.0/ libid3tag 0.15.1b-i486-1 [68kB]...Done

Preparing to install libid3tag-0.15.1b-i486-1
Installing package libid3tag-0.15.1b-i486-1...
PACKAGE DESCRIPTION:
libid3tag: libid3tag (ID3 tag manipulation library)
libid3tag:
libid3tag: libid3tag is a library for reading and (eventually) writing ID3 tags,
libid3tag: both ID3v1 and the various versions of ID3v2.
libid3tag:
libid3tag: libid3tag was written by Robert Leslie.
libid3tag:
Executing install script for libid3tag-0.15.1b-i486-1...

Done
# slapt-get --install gdbm
Reading Package Lists... Done
The following NEW packages will be installed:
  gdbm
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 52.0kB of archives.
After unpacking 130.0kB of additional disk space will be used.
Get http://mirrors.easynews.com/linux/slackware/slackware-11.0/ gdbm 1.8.3-i486-3 [52kB]...Done

Preparing to install gdbm-1.8.3-i486-3
Installing package gdbm-1.8.3-i486-3...
PACKAGE DESCRIPTION:
gdbm: gdbm (GNU database routines)
gdbm:
gdbm: GNU dbm is a set of database routines that work similar to the
gdbm: standard UNIX dbm routines.
gdbm:
Executing install script for gdbm-1.8.3-i486-3...

Done
  • install from tarball
$ wget http://umn.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.4.tar.gz
$ tar xvzf mt-daapd-0.2.4.tar.gz
$ cd mt-daapd-0.2.4
# ./configure && make && make install
  • configure
# cp contrib/mt-daapd.conf /usr/local/etc/
# cp contrib/mt-daapd.playlist /usr/local/etc/
# cp contrib/mt-daapd-ssc.sh /usr/local/bin/
  • startup script PENDING
unstable
  • dependencies
# slapt-get --install libogg vorbis-tools libvorbis libao flac
$ wget http://www.software-mirror.com/linuxpackages/Slackware-11.0/ken/sqlite3-3.3.16-i486-1kjz.tgz
# installpkg sqlite3-3.3.16-i486-1kjz.tgz
PACKAGE DESCRIPTION:
sqlite3: SQLite3 - Small, embeddable database system
sqlite3:
sqlite3: SQLite is a small C library that implements a self-contained,
sqlite3: embeddable, zero-configuration SQL database engine.  Version 3 adds:
sqlite3: - A more compact format for database files.
sqlite3: - Manifest typing and BLOB support.
sqlite3: - Support for both UTF-8 and UTF-16 text.
sqlite3: - User-defined text collating sequences.
sqlite3: - 64-bit ROWIDs.      - Improved concurrency.
sqlite3: - Correlated subqueries, autovacuum, autoincrement, ALTER TABLE
sqlite3: Packaged by Ken Zalewski (kennyz@nycap.rr.com)
Executing install script for sqlite3-3.3.16-i486-1kjz...
  • configure
$ wget http://nightlies.fireflymediaserver.org/nightlies/svn-1696/mt-daapd-svn-1696.tar.gz
$ ./configure --prefix=/usr/local/ --enable-avahi --enable-sqlite3 --enable-oggvorbis --enable-flac
$ make
$ checkinstall
  • install
# installpkg mt-daapd-svn-1549-i386-1.tgz
  • upgrade
# upgradepkg mt-daapd-svn-1673-i386-1.tgz
# upgradepkg --reinstall mt-daapd-svn-1696-i386-1.tg

RRDtool

make site-perl-install 
test
# /usr/local/rrdtool-1.2.23/share/rrdtool/examples/4charts.pl
This script has created 4charts.png in the current directory
This demonstrates the use of the TIME and % RPN operators

MRTG

installation
configuration
# /usr/local/mrtg-2/bin/cfgmaker \
--global 'WorkDir: /var/www/htdocs/mrtg' \
--global 'Options[_]: bits,growright' -output /home/mrtg/cfg/mrtg.cfg \
public@router
  • configured router to include snmpd and dependencies
  • configured crontab on workstation with the following
# crontab -e -u mrtg
# run MRTG every 5 minutes
*/5 * * * * /usr/local/mrtg-2/bin/mrtg /home/mrtg/cfg/mrtg.cfg --logging /var/log/mrtg.log
 1> /dev/null
#crontab -e
# get hdd temperatures
*/5 * * * * /usr/local/bin/rrd_hddtemp.pl > /dev/null
  • had to add the rdd_hddtemp.pl to root's crontab because permission to open /dev/hd* could not be set for mrtg
    • tried adding mrtg to group disk to no avail
/dev/sda: Permission denied
System Drive (/dev/sda) temp:  degrees C
/dev/hde: Permission denied
primary master (/dev/hde) temp:  degrees C
/dev/hdf: Permission denied
primary slave (/dev/hdf) temp:  degrees C
/dev/hdg: Permission denied
secondary master (/dev/hdg) temp:  degrees C
/dev/hdh: Permission denied
secondary slave (/dev/hdh) temp:  degrees C
  • variables to monitor
    1. load
    2. users
    3. memory
    4. uptime
    5. round-trip time
    6. temperature / rain
execution
  • for testing only, use of crontab successful
# /usr/local/mrtg-2/bin/mrtg --user=mrtg /home/mrtg/cfg/mrtg.cfg
customization

iptables

MoBlock

dependencies
RequiredBuilder
compilation
  • used MoBlock.SlackBuild
installation
# installpkg MoBlock-0.8-i486-2fv.tgz
execution
# MoBlock-nfq.sh

Net-SNMP

# slackpkg install rpm-4.2.1-i486-3

tor

dependencies
$ wget http://www.monkey.org/~provos/libevent-1.3e.tar.gz
$ ./configure && make
$ checkinstall
# installpkg libevent-1.3e-i386-1.tgz
installation
$ ./configure && make
$ checkinstall
# installpkg tor-0.1.2.18-i386-1.tgz

Applications

slackpkg

  • install from official /extra package.

slapt-get

wget http://software.jaos.org/slackpacks/11.0/slapt-get-0.9.11f-i386-1.tgz
installpkg slapt-get-0.9.11f-i386-1.tgz
slapt-get --update

distcc

make -j2 CC=distcc CXX='distcc g++'

rTorrent

$ wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.11.2.tar.gz
$ tar xvzf libtorrent-0.11.2.tar.gz
$ cd libtorrent*
$ ./autogen.sh
$ ./configure
$ make
# make install
$ wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.7.2.tar.gz
$ tar xvzf rtorrent*
$ cd rtorrent*
$ ./autogen.sh
$ ./configure
$ make
# make install

par2cmdline

  • trying Slackware 10.0 pre-built contrib package first.
$ wget http://jeremie.lesage.free.fr/slack/par2cmdline-0.4-i486-6kan.tgz
# installpkg  par2cmdline-0.4-i486-6kan.tgz

hellanzb

dependencies

installation

$ wget http://www.hellanzb.com/distfiles/hellanzb-0.11.tar.gz
$ tar xvzf hellanzb-0.11.tar.gz
# python setup.py install
# mv /usr/etc/hellanzb.conf.sample /usr/etc/hellanzb.conf
# vim /usr/etc/hellanzb.conf

netselect

installation
# make clean
rm -f netselect netselect *.o *~ build-stamp core
root@server:~/sw/netselect# make
gcc -O2 -Wall -I. -g   -c -o netselect.o netselect.c
distcc[4676] (dcc_get_hostlist) Warning: no hostlist is set; can't distribute work
distcc[4676] (dcc_build_somewhere) Warning: failed to distribute, running locally instead
gcc -g -o netselect netselect.o 
sudo chown root netselect && sudo chmod u+s netselect
root@server:~/sw/netselect# make install
install -d /usr/local/bin
#-install -d /usr/local/man/man8
install -s -o root -g root -m 4755 \
                netselect /usr/local/bin
install -o root -g root -m 0755 netselect-apt /usr/local/bin
#install -o root -g root -m 0644 netselect.8 /usr/local/man/man8
execution
$ netselect -vv slamd64.he.net nymphomatic.org ftp.scarlet.be mirror.vbfx.com anorien.warwick.ac.uk wahlfaelschung.de heanet.ie ditalinux.it slackware.pl darkstar.ist.utl.pt ftp.x86.sk xcp.kiev.ua 
netselect: unknown host ditalinux.it                        
Running netselect to choose 1 out of 12 addresses.      
.........................................................................................
ftp.scarlet.be                         209 ms  24 hops   90% ok ( 9/10) [  788]
mirror.vbfx.com                        141 ms  14 hops   90% ok ( 9/10) [  374]
slamd64.he.net                          54 ms  14 hops   90% ok ( 9/10) [  144]
nymphomatic.org                       9999 ms  30 hops    0% ok
wahlfaelschung.de                      256 ms  18 hops   90% ok ( 9/10) [  795]
heanet.ie                             9999 ms  30 hops    0% ok
anorien.warwick.ac.uk                 9999 ms  30 hops    0% ok
ditalinux.it                          9999 ms  30 hops    0% ok
darkstar.ist.utl.pt                    238 ms  27 hops   25% ok ( 1/ 4) [ 3522]
slackware.pl                           254 ms  17 hops   90% ok ( 9/10) [  761]
ftp.x86.sk                             274 ms  25 hops   80% ok ( 8/10) [ 1200]
xcp.kiev.ua                            299 ms  24 hops   90% ok ( 9/10) [ 1128]
  144 slamd64.he.net  

html2text

$ wget http://www.mbayer.de/html2text/downloads/html2text-1.3.2a.tar.gz
$ tar xvzf html2text-1.3.2a.tar.gz 
cd html2text-1.3.2a/
$ ./configure 
$ gmake
# mv html2text /usr/local/bin/
# mv html2text.1.gz /usr/local/man/man1/
# mv html2textrc.5.gz /usr/local/man/man5/

nessus

installation
$ tar xvzf nessus-libraries-2.2.9.tar.gz
$ cd nessus-libraries/
$ ./configure && make && checkinstall
# 

mdf2iso

# wget http://www.software-mirror.com/linuxpackages/Slackware-11.0/Console/mdf2iso/mdf2iso-0.3.0-i486-4rg.tgz
# installpkg mdf2iso-0.3.0-i486-4rg.tgz

PPTP Client Project

# wget http://quozl.netrek.org/pptp/pptp-1.7.1.tar.gz
# make
# checkinstall
# installpkg pptp-1.7.1-i386-1.tgz

pptpconfig

dependencies
  • php 4.3.7 or higher, configured --enable-pcntl
    • confirmed via
      php --info
  • php-gtk 1.0.0 or higher,
# wget http://gtk.php.net/do_download.php?download_file=php-gtk-1.0.2.tar.gz
# ./buildconf
Configuring for:
PHP Api Version:         20020918
Zend Module Api No:      20020429
Zend Extension Api No:   20050606
# ./configure
configure: error: Unable to locate libglade
  • opted for php-gtk 2 beta after building GNOME SlackBuild.
# ./buildconf
# make && make test && make install
/bin/sh /usr/src/php-gtk-2.0.0beta/libtool --mode=install cp ./php_gtk2.la /usr/src/php-gtk-2.0.0beta/modules
cp ./.libs/php_gtk2.so /usr/src/php-gtk-2.0.0beta/modules/php_gtk2.so
cp ./.libs/php_gtk2.lai /usr/src/php-gtk-2.0.0beta/modules/php_gtk2.la
PATH="$PATH:/sbin" ldconfig -n /usr/src/php-gtk-2.0.0beta/modules
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/src/php-gtk-2.0.0beta/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
Installing shared extensions:     /usr/lib/php/extensions/
  • libglade
    • not the libglade (convert) provided by libglade
# http://ftp.gnome.org/pub/GNOME/sources/glade3/3.4/glade3-3.4.0.tar.gz
# ./configure
gthread-2.0 libxml-2.0 >= 2.4.0) were not met:

Requested 'gtk+-2.0 >= 2.10.0' but version of GTK+ is 2.8.20
# wget ftp://xmlsoft.org/libxml2/libxml2-2.6.30.tar.gz
# ./configure && make && make tests
# checkinstall
# installpkg libxml2-2.6.30-i386-1.tgz
    • did not solve libglade dependency (perhaps due to naming libxml2 vs libxml?).
      • opting for installation of GNOME 2 via GNOME SlackBuild.
  • pppd 2.4.2 (for GPL-compatible MPPE options),
  • pptp 1.2.0 (for close stderr on fork())
# wget http://quozl.netrek.org/pptp/pptpconfig/pptpconfig-20060821.tar.gz

GNOME

Shell Scripts

lspkg, pkginfo, whichpkg

Libraries

wxWidgets

  • downloaded wxBase for 2.4.33.3 server (no X11)
./configure --disable-gui --enable-geometry --disable-sound \
--without-sdl --enable-display --disable-debugreport --enable-optimise \
--enable-unicode --disable-debug_flag --with-libjpeg=builtin --with-libpng=builtin \
--with-libtiff=builtin --with-zlib=builtin --with-expat=builtin --without-odbc \
--with-expat
  • could not build wxBase-2.8.0-rc1
make: *** No rule to make target `src/xml/xml.cpp', needed by `xmldll_xml.o'.  Stop.
  • download wxGTK-2.8.0-rc1
./configure --disable-gui --disable-geometry --disable-sound --without-sdl --disable-display --disable-debugreport --enable-optimise --enable-unicode --disable-debug_flag --without-libjpeg --without-libpng --without-libtif --with-zlib=builtin --without-odbc --without-expat
make -j2 CC=distcc CXX='distcc g++'
checkinstall
ldconfig
installpkg wxGTK-2.8.0-rc1-i386-1.tgz
  • trying pre-built wxGTK package from linuxpackages.org
installpkg  wxGTK-2.8.0-i486-1asz.tgz

wxPython

  • downloaded wxPython-src-2.7.2.0
checkinstall python setup.py UNICODE=1 EP_ADD_OPTS=1 BUILD_GLCANVAS=0 install
  • trying pre-built linuxpackage.org wxPython
installpkg wxPython-2.8.0.1-i486-1asz.tgz

Twisted

dependencies

installation

wget http://tmrc.mit.edu/mirror/twisted/Twisted/2.5/Twisted-2.5.0.tar.bz2
cd Twisted-2.5.0/
./setup.py build
  • got the following error
package init file 'twisted/plugins/__init__.py' not found (or not a regular file)
  • ignoring
./setup.py install

libsigc++

  • required by rTorrent.
$ wget http://lp.slackwaresupport.com/Slackware-11.0/fred/libsigc++-2.0.17-i486-1arf.tgz
$ installpkg libsigc++-2.0.17-i486-1arf.tgz
Installing package libsigc++-2.0.17-i486-1arf...
PACKAGE DESCRIPTION:
libsigc++: libsigc++ The Typesafe Callback Framework for C++
libsigc++:
libsigc++: libsigc++ implements a typesafe callback system for
libsigc++: standard C++
libsigc++:
libsigc++: Build for Slackware
libsigc++:
Executing install script for libsigc++-2.0.17-i486-1arf...

Security

sudoers

  • status: TODO sudo doesn't except password.
  • add personal user to wheel group
vim /etc/group
  • use visudo and uncomment the %wheel entry in /etc/sudoers
    • visudo doesn't resport $VISUAL or $EDITOR settings. FIXME
$ visudo

Terminal

$ stty -a
speed 38400 baud; rows 25; columns 105; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = <undef>; eol = M-^?; eol2 = M-^?; swtch = <undef>;
start = <undef>; stop = <undef>; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
  • disable stty terminal controls
$ stty stop undef
$ stty start undef
$ stty eof undef

Bugs

Spurious 8259A interrupt: IRQ7

  • unresolved

LILO

  • 4x Duplicated Volume-ID
Personal tools