1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.11.tar.gz tar -xvzf sendmail.8.12.11.tar.gz cd sendmail-8.12.11/ cd sendmail sh Build cd ../cf/cf cp /etc/mail/sendmail.mc . sh Build sendmail.cf cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak sh Build install-cf cp /usr/sbin/sendmail.sendmail /usr/sbin/sendmail.sendmail.bak cd ../../sendmail mkdir /usr/man/man1 mkdir /usr/man/man5 mkdir /usr/man/man8 sh Build install service sendmail stop cp /usr/sbin/sendmail /usr/sbin/sendmail.sendmail service sendmail start rm /usr/sbin/sendmail ln -s /etc/alternatives/mta /usr/sbin/sendmail |
Archive | Reliable Penguin
Linux and open-source solutions.
Upgrade RedHat Enterprise 2.1 AS to Sendmail 8.12.11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
Note: BerkeleyDB.4.2 was previously installed from source onto the system so there was not need to install this package. On a purely stock install this would have been required. Edit /etc/ld.so.conf and add line: /usr/local/BerkeleyDB.4.2/lib to the end of the file. > ldconfig > wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.12.11.tar.gz > tar -xvzf sendmail.8.12.11.tar.gz > cd sendmail-8.12.11/ > cd devtools/Site Create a file site.config.m4 with: define(`confMAPDEF', `-DNEWDB') define(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.2/include/') define(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.2/lib/') > cd ../../sendmail > sh Build > cd ../cf/cf > cp /etc/mail/sendmail.mc . Edit sendmail.mc and comment out the line: define(`confAUTO_REBUILD')dnl so that it reads: dnl define(`confAUTO_REBUILD')dnl Also change the line: FEATURE(`access_db',`hash -o /etc/mail/access.db')dnl to read: FEATURE(`access_db',`hash -T<TMPF> -o /etc/mail/access.db')dnl Finally change the line: define(`confAUTH_OPTIONS', `A')dnl to: dnl define(`confAUTH_OPTIONS', `A')dnl > sh Build sendmail.cf > cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.bak > cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.bak > sh Build install-cf > cp /usr/sbin/sendmail /usr/sbin/sendmail.bak > cd ../../sendmail > groupadd -g 25 smmsp > useradd -g smmsp -u 25 smmsp > chsh -s /sbin/nologin smmsp > sh Build install > chown smmsp.smmsp /var/spool/clientmqueue > chmod u+rwx,g+rwx,o-rwx /var/spool/clientmqueue > chown root.wheel /var/spool/mqueue > chmod u+rwx,g-rwx,o-rwx /var/spool/mqueue |
Squid Guard
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 |
#!/bin/bash # squid This shell script takes care of starting and stopping # Squid Internet Object Cache # # chkconfig: - 90 25 # description: Squid - Internet Object Cache. Internet object caching is \ # a way to store requested Internet objects (i.e., data available \ # via the HTTP, FTP, and gopher protocols) on a system closer to the \ # requesting site than to the source. Web browsers can then use the \ # local Squid cache as a proxy HTTP server, reducing access time as \ # well as bandwidth consumption. # pidfile: /var/run/squid.pid # config: /etc/squid/squid.conf PATH=/usr/bin:/sbin:/bin:/usr/sbin export PATH # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # check if the squid conf file is present [ -f /usr/local/squid/etc/squid.conf ] || exit 0 # determine the name of the squid binary [ -f /usr/local/squid/sbin/squid ] && SQUID=squid [ -z "$SQUID" ] && exit 0 prog="$SQUID" # determine which one is the cache_swap directory CACHE_SWAP=`sed -e 's/#.*//g' /usr/local/squid/etc/squid.conf | \ grep cache_dir | awk '{ print $3 }'` [ -z "$CACHE_SWAP" ] && CACHE_SWAP=/usr/local/squid/var/cache RETVAL=0 start() { for adir in $CACHE_SWAP; do if [ ! -d $adir/00 ]; then echo -n "init_cache_dir $adir... " /usr/local/squid/sbin/squid -z -F 2>/dev/null fi done echo -n $"Starting $SQUID $prog: " /usr/local/squid/sbin/squid $SQUID_OPTS 2> /dev/null & RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID [ $RETVAL -eq 0 ] && echo_success [ $RETVAL -ne 0 ] && echo_failure echo return $RETVAL } stop() { echo -n $"Stopping $prog: " /usr/local/squid/sbin/squid -k check >/dev/null 2>&1 RETVAL=$? if [ $RETVAL -eq 0 ] ; then /usr/local/squid/sbin/squid -k shutdown & rm -f /var/lock/subsys/$SQUID timeout=0 while : ; do [ -f /usr/local/squid/var/logs/squid.pid ] || break sleep 2 && echo -n "." timeout=$((timeout+2)) done echo_success echo else echo_failure echo fi return $RETVAL } reload() { /usr/local/squid/sbin/squid $SQUID_OPTS -k reconfigure } restart() { stop start } condrestart() { [ -e /var/lock/subsys/squid ] && restart || : } rhstatus() { status $SQUID /usr/local/squid/sbin/squid -k check } probe() { return 0 } case "$1" in start) start ;; stop) stop ;; reload) reload ;; restart) restart ;; condrestart) condrestart ;; status) rhstatus ;; probe) exit 0 ;; *) echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}" exit 1 esac exit $? |
Advanced Networking Resources
http://linux-ip.net – Great online book about advanced networking issues.
http://lartc.org/ – Howto and man pages
Performance Monitoring
Here are some handy commands that I used recently to debug a server performance issue:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
<strong>> sar</strong> Linux 2.4.9-34smp (some.server.net) 07/28/2004 12:00:00 AM CPU %user %nice %system %idle 12:10:00 AM all 12.29 2.00 4.55 81.16 12:20:00 AM all 4.14 0.16 2.58 93.13 12:30:00 AM all 4.46 0.02 2.79 92.74 12:40:01 AM all 3.68 0.04 2.36 93.92 12:50:00 AM all 3.78 0.03 2.47 93.72 01:00:00 AM all 3.89 0.10 2.42 93.59 01:10:00 AM all 6.65 0.62 2.70 90.03 01:20:00 AM all 5.56 0.31 2.85 91.27 01:30:00 AM all 4.04 0.02 2.40 93.53 01:40:00 AM all 4.41 0.58 2.92 92.09 01:50:01 AM all 5.63 0.73 3.13 90.51 02:00:00 AM all 3.58 0.03 2.19 94.19 02:10:00 AM all 8.19 0.03 2.39 89.39 02:20:00 AM all 4.84 0.00 2.90 92.25 02:30:00 AM all 6.77 0.59 2.86 89.78 02:40:01 AM all 4.04 0.02 2.99 92.94 02:50:00 AM all 4.60 0.03 2.83 92.55 03:00:00 AM all 5.67 0.29 2.83 91.21 03:10:00 AM all 4.58 0.13 2.99 92.29 03:20:00 AM all 8.69 0.80 3.46 87.05 03:30:01 AM all 5.32 0.22 3.10 91.36 03:40:01 AM all 4.85 0.06 3.23 91.85 03:50:00 AM all 3.73 0.00 2.72 93.55 04:00:00 AM all 3.40 0.02 2.27 94.31 04:10:00 AM all 40.16 0.09 8.79 50.96 04:20:00 AM all 44.44 0.04 10.07 45.45 04:30:00 AM all 32.32 1.06 10.09 56.53 04:40:00 AM all 38.10 0.04 7.05 54.81 04:50:01 AM all 32.80 0.02 8.07 59.12 05:00:02 AM all 32.89 2.06 13.31 51.74 05:10:00 AM all 42.18 0.49 9.52 47.81 05:20:01 AM all 53.17 2.62 9.76 34.44 05:30:00 AM all 18.56 6.41 16.87 58.15 05:40:00 AM all 38.36 0.04 9.80 51.80 05:50:00 AM all 26.03 0.24 9.35 64.38 06:00:00 AM all 30.65 0.97 9.82 58.56 06:10:01 AM all 44.41 0.07 9.51 46.00 06:20:00 AM all 25.11 0.14 12.42 62.34 06:30:00 AM all 37.65 0.02 12.12 50.21 Average: all 17.02 0.54 5.76 76.68 |
Also “sar -A” give more useful info.
For sar to work, you need a cronjob like this:
1 2 |
# run system activity accounting tool every 10 minutes */10 * * * * root /usr/lib/sa/sa1 1 1 |
The cronjob can go in a file at /etc/cron.d/sysstat on Redhat and similar systems.
Another useful command is “vmstat”:
1 2 3 4 5 6 7 |
<strong>> vmstat 1</strong> procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 0 5 0 44856 3040 50504 273364 1 2 78 107 53 129 20 6 74 1 5 0 44856 3164 50552 274176 0 0 2288 1036 513 766 21 11 68 1 4 0 44856 3056 50556 273496 0 0 3128 116 443 507 7 6 87 2 3 0 44856 3236 50564 274800 0 0 3200 460 557 558 8 7 85 |