IT notes

ssh only password

When using ssh if you only need to use password (no keys): ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no <host>


To download rpms for using them in an offline environment, install first yumdownloader: yum install yum-utils Create a directory to store the rpm's: mkdir /tmp/rpms Download the rpms: yumdownloader --destdir=/tmp/rpms --resolve MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common


To install PostgreSQL client on macOS: brew doctor brew update brew install libpq Test: $ psql -V psql (PostgreSQL) 13.2

Flush DNS

To flush DNS on macOS: sudo killall -HUP mDNSResponder;sudo killall mDNSResponderHelper;sudo dscacheutil -flushcache

Centos Disable Ipv6

Edit file /etc/default/grub and add ipv6.disable=1, example: # cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="ipv6.disable=1 crashkernel=auto rhgb quiet" GRUB_DISABLE_RECOVERY="true" Then regenerate and reboot: grub2-mkconfig -o /boot/grub2/grub.cfg And reboot Using sysctl (no need to reboot), append below lines in /etc/sysctl.conf: net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 Then run: sysctl -p


Setup up and configure your jail, then create user storj: pw useradd -n storj -m Clone and get and install latest version: git clone -b v1.14.7 storj cd storj go install -race -v Create a dir to contanin the identity and storage: mkdir /mnt/storj chown -R storj:storj /mnt/storj In the main host create the file system to be used in the jail: zfs create tank/storj Create fstat.


To reduce/compress a video size you could use: ffmpeg -i -vcodec libx265 -crf 28 output.mp4 Be aware that libx265 is not supported in many players so you can always fallback to H.264: ffmpeg -i output.mp4


Create a favicon from a .png using imagemagick convert: convert favicon.png -define icon:auto-resize=64,48,32,16 favicon.ico

Import large dump

To import a large dump (~300GB) you could do: Split your file first: csplit -s -ftable dump.sql "/-- Table structure for table/" {999} You could also use the pattern {*} but you need the gcsplit: pkg install coreutils BSD csplit don’t support {*} Then try: gcsplit -s -ftable dump.sql "/-- Table structure for table/" {*} Create small INSERT chunks: gsplit -a 3 -d -n l/200 table05 x_ l/N split into N files without splitting lines/records

Delete in chunks

To delete a big/huge table in chunks, you could create this store procedure, but the performance at the end depends of how good/normalized is your database (indexes): A stored procedure is a prepared SQL code that you can save, so the code can be reused over and over again. Such procedures are stored in the database data dictionary. Connect to the database and select the database: mysql> \u my_database Database changed To list stored procedures

Bypass AllowTcpForwarding

To bypass AllowTcpForwarding no try using socat and nc: socat TCP-LISTEN:<local port>,reuseaddr,fork "EXEC:ssh <server> nc localhost <remote port>" For example from your desktop run: socat TCP-LISTEN:8080,reuseaddr,fork "EXEC:ssh nc 3000" This will listen on local port 8080 connect via ssh to and use nc to connect

rust strip

To build && strip a binary use: RUSTFLAGS='-C link-arg=-s' cargo build --release strip removes or modifies the symbol table attached to the output of the assembler and link editor. This is useful to save space after a program has been debugged and to limit dynamically bound symbols.

sed append

To append a line using sed that works on macOS: sed -e '/^telegraf_enab.*/a\'$'\n''telegraf_user="root"' If need to do it in multiple files, you could use find:  find . -name "rc.conf" -exec sed -i '' -e '/^telegraf_enab.*/a\'$'\n''telegraf_user="root"' {} \;


When trying to update a bios from an USB pen, probably you will need FAT16 or FAT32, to do this from macOS try: diskutil partitiondisk /dev/disk3 1 MBR "MS-DOS FAT16" "NONAME" 0B /dev/disk3 - disk device to be partitioned, found with ‘diskutil list’ 1 - number of partitions, optional, but if given must match MBR - partition Scheme (eg, DOS=MBR, Mac=GPT) MS-DOS FAT16 - partition type (or fat32) * NONAME - partition name 0B - partition size (0B=maximum) Then:

VLC keep resized window size

To prevent VLC from resizing the window every time you open a new video: VLC -> Preferences -> Show All -> Interface/Main interface/macosx Uncheck the option Resize interface to the native video size

get the Primary IP

To get the primary IP in Linux: ip route get 1 | awk '{print $NF;exit}' In awk NF return the number of fields and by suffixing it with $ is like doing print $7 In macOS, to list all your interfaces: networksetup -listallhardwareports If want to get the IP assigned to the Wi-FI: ipconfig getifaddr $(networksetup -listallhardwareports | awk '/Hardware Port: Wi-Fi/{getline; print $2}')

redis over TLS

Using socat: brew install socat Create the tunnel: socat -v TCP-LISTEN:6379,fork,reuseaddr Use redis-cli as usual

removing the ^M character

In vim, to remove the ^M character you could do: :e ++ff=dos The :e ++ff=dos command tells Vim to read the file again, forcing dos file format. Vim will remove CRLF and LF-only line endings, leaving only the text of each line in the buffer. Then set filetype to unix: :set ff=unix And save the file: :x

Python quit unexpectedly macOS Catalina

When running something depending on OpenSSL you may get something like this on macOS 10.15.2: The output of the report: To fix: brew reinstall openssl Then: cd /usr/local/lib sudo ln -s /usr/local/opt/openssl/lib/libssl.dylib libssl.dylib sudo ln -s /usr/local/opt/openssl/lib/libcrypto.dylib libcrypto.dylib

postfix version

In Postfix there is no -v or --vesion, to find the version run: $ postconf mail_version