Debian adjustments (constant updates)

— SWAP space setup

  • free -h
  • sudo fallocate -l 1G /swapfile
  • ls -lh /swapfile
  • sudo chmod 600 /swapfile
  • ls -lh /swapfile
  • sudo mkswap /swapfile
  • sudo swapon /swapfile
  • sudo cp /etc/fstab /etc/fstab.bak
  • echo ‘/swapfile none swap sw 0 0’ | sudo tee -a /etc/fstab

— elementary things

  • apt-get update
  • apt-get dist-upgrade -y
  • sudo apt install sudo ufw
  • adduser myuser
  • usermod -aG sudo myuser

— firewall

  • ufw reset
  • ufw allow 22/tcp limit
  • ufw enable

— fail2ban

  • mkdir /var/run/fail2ban
  • apt-get install fail2ban -y
  • cp /etc/fail2ban/fail2ban.conf /etc/fail2ban/fail2ban.local
  • cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
  • systemctl restart fail2ban
  • fail2ban-client status
  • if install of fail2ban fails (ubuntu 24.04) – the fix is here: https://discuss.frappe.io/t/fail2ban-fails-on-ubuntu-24-04-lts/127658

— ubuntu 24.04 specific

  • sudo apt remove multipath udisks2
  • sudo apt install ubuntu-advantage-tools

EA6700 adjustments

trying to recover a non-functional LINKSYS EA6700:

    • 32k nvram bug and
    • default linksys firmware
    • overheating

this mean CFE replacement and USB bug fix

relevant links which i used:

http://www.linksysinfo.org/index.php?threads/xvortex-or-advancedtomato-on-ea6900-v1-v1-1-without-32k-bug-renew.74084/

http://www.linksysinfo.org/index.php?threads/asuswrt-merlin-build-384-5-or-later-on-linksys-ea6900-or-ea6700.74209/

HP-UX uid change

following is a procedure to make 2 SAP SIDadm users who share

the same UNIX UID, live together on the same app server,

by changing one of the user’s UID (including the files)

# first change in /etc/passwd

usermod -u newUID loginname

# now go recursively and change the files accordingly

find / -user oldUID -exec chown newUID {} \;

PERL search and replace

a simple script i made to replace multiple appearance of a word in a raw or multiple raws, output to file.new

#!/usr/bin/perl

if ($#ARGV != 2) {

  print “this programs output is FILENAME.new\n”;

  print “usage: search_Replace.pl

     BEFORE AFTER FILENAME\n”;

  exit;

}

$newfile_name = “$ARGV[2].new”;

print “Before : “,$ARGV[0],”\n”;

print “After  : “,$ARGV[1],”\n”;

print “Opening … “;

open (OLDF, $ARGV[2]) ||

   die (“Could not open file. $!”);

open (NEWF, “>$newfile_name”) ||

   die (“Could not create output file. $!”);

print “IN/OUT pipes are open.\n”;

while ($text = ){

    $text =~ s/$ARGV[0]/$ARGV[1]/g;

    print NEWF “$text”;

    }

close (OLDF);

close (NEWF);

ESX image copy

as ESX v3 don’t support copy of vmware machines by web interface

(no VC) i have written a script for migrating a vmdk disk from existing Machine to a new one.

#!/bin/sh

SRC=$1

TRG=$2

/usr/bin/clear

if [ $# -ne 2 ]

then

echo “COPY Virtual Machine Utility”

echo “USAGE : cp_IMAGE SourceDIR DestinationDIR”

echo “—————————————–“

exit

fi

echo “COPY Virtual Machine Utility”

echo “—————————————–“

sleep 1

echo “Source Directory : ” = $SRC

echo “Target Directory : ” = $TRG

echo “—————————————–“

sleep 1

if [ -e $SRC/$SRC.vmdk ]

then

echo “Source Virtual Machine exists !”

sleep 1

else

echo “Source Virtual Machine – not Exists !”

echo “fix source Virtual Machine name”

exit

fi

sleep 1

if [ -e $TRG/$TRG.vmdk ]

then

echo “Target Virtual Machine exists !”

sleep 1

else

   echo “Target Virtual Machine – not Exists !”

   echo “Create Destination Virtual Machine”

   exit

fi

if [ $SRC = $TRG ]

then

   echo “Cannot copy VM to itself !”

   echo “bye”

   exit

fi

echo “Going to remove {” $TRG “} Disks”

echo “Are you Sure ? (yes/no)”

read ANswer

case “$ANswer” in

        “yes” ) /bin/rm $TRG/*.vmdk;

                echo “Target Disk Removed”;

                sleep 2;

        ;;

        “no” ) echo “bye”;

               exit;

        ;;

        * ) echo “not a valid option”;

            echo “bye”;

            exit;

esac

/usr/sbin/vmkfstools -i $SRC/$SRC.vmdk $TRG/$TRG.vmdk

echo “—————————————–“

echo “Done.”

Automated Login example

this is a small script for automated login,

used with our HP-UX systems

cabe used for regular maintenance or something…

#!/bin/sh

#

#

server=x.x.x.x

(

   sleep 2;

   echo “username”;

   sleep 2;

   echo “password”;

   sleep 2;

   echo “do some manipulations in the session”;

   sleep 3;

   echo “exit”;

) | telnet $server

Busybox notes

Some notes from my busybox implementation:

    • for fortran support –enable-languages=f77 in gcc.
    • after compilation make the soft link : ln -s /path-to-g77 /bin/g77
    • inittab :: wait:-/bin/sh for automated login
    • no Correct Hostname value in this file, so manualy do /bin/hostname ‘the_name’
    • no Snapshot use in buildroot compilation – uclibc,busybox.
    • bash :: echo -e ‘\E[num1;num2m{text}’ – for:back :: 31 red – 32 green – 36 cyan – 37 white – 40 black
    • changes in packages settings for buildroot are done in package/…
    • busybox :: enable_renice

KERNEL :

    • Firestarter :: USB::Usb Mass storage ;
    • SCSI::Scsi Disk support,num of disks 40 ;
    • File Systems::dos fat fs,ms dos fs,vfat,romfs ;
    • Partition types::Advanced Partition, PC Bios ;
    • Block Devices::RAM Disk Support,initrd

ENV :

    • alias ls=’ls -l –color’

Logrotate example

a simple script for log rotation,

used in systems without logrotate.

#!/bin/sh

# Assignments

script=$1

num_of_rotates=$2

# Rotation

i=$num_of_rotates

while [ $i -gt 1 ]

do

   minus=`expr $i – 1`

   if [ ! -f $script.$minus ]

   then

touch $script.$minus

   fi

   mv $script.$minus $script.$i

   if [ “$minus” -eq 1 ]

   then

cp -fp $script $script.1

cp /dev/null $script

   fi

        let “i -= 1”

done