Editing with vi
May 2, 2015 — 21:27

Author: silver  Category: bsd linux  Comments: Off

..actually mostly vim :)

Config

a few useful settings for ~/.vimrc

set number
filetype indent on
set expandtab
set shiftwidth=2
set softtabstop=2
syntax on
set background=dark
" or: set background=light
" colorscheme default

(" = comment)


Edit modes

i to insert and r to replace a to append d to delete

ESC always switches back to ‘command mode’

copy:

yank (copy) current character: l

yank n characters: yn

yank the current word: yw

vim visual mode:

visual line: SHIFT+V
visual block: CTRL+V

current word:

select the current word (visual)
viw

indent:

auto reindent file:

gg=G

indent line right: >>

indent line left: <<

case:

to upper/lower case: ~ (“tilde”)


Commands

:open <file>

:new <file>

:no paste

:set nu and :set nonu (number)

:set list and :set nolist

tabs:

:set noai tabstop=4 shiftwidth=4 softtabstop=4 noexpandtab

noai = no auto indent
tabstop = actual tab width in spaces
shiftwidth = indent size in spaces
expandtab = tab uses spaces instead of ^I (tab char)
softtabstop = tab is x number of spaces

syntax:

:set syntax=python

:set syntax=ps1.vim

:set filetype=xml

:filetype indent on

if needed, reindent (gg=G)

run external command:

:!<command>

:!ls -la /tmp

:sh (open shell)

format json:

:%!python -m json.tool


Moving

code blocks:

on bracket/curley brace/parentheses, press: %

goto column:

use "<NUMBER>|"
e.g. 80| moves to column 80

center:

to center the screen on your current position, press: zz


Search

history:

same as with ":"
press “/” then “UP” or “DOWN” key

word:

to search for the word you are on
*
#


Bookmarks

set a bookmark called ‘a’

ma

go to the bookmark called ‘a’

(on US kb layout the ` is the key left of 1)

`a


Modes

readonly:

$ vi -R  (or view)

diff:

$ vi -d (or vimdiff)


Package manager

since vim8, “pack” is built in

user location:

  • ~/.vim/pack/<package group>/start/<your package>
  • or, use “opt” dir instead of “start” to not autoload (optional pkg)

in vim:

:packadd <opt-pkg>
:helptags ~/.vim/pack/<package group>/start/<your package>/doc/
:h packages

FreeBSD
May 2, 2015 — 21:25

Author: silver  Category: bsd  Comments: Off

Rosetta Stone:

Linux command (Red-Hat/Debian) FreeBSD equivalent Purpose
yum/apt install package pkg install package Install package from remote repository
rpm -ivh package / dpkg -i package pkg add package Install local package
rpm -qa / dpkg -l pkg info List installed packages
lspci pciconf List PCI devices
lsmod kldstat List loaded kernel modules
modprobe kldload / kldunload Load/Unload kernel modules
strace truss Trace system calls

Profile:

~/.profile:

Sparsefiles/loop:

add:

mdconfig -a -t vnode -f /usr/data/gdata.md

del:

mdconfig -d -u 0

list:

mdconfig -l

Disks:

fsck -p -t ffs /dev/md0.eli
newfs -U -O 1 -f 512 -b 4096 -i 8192 /dev/md0
grep ada /var/run/dmesg.boot
grep ada /var/run/dmesg.boot | grep \<
grep "\(atapci\|ahcich\)" /var/run/dmesg.boot|sort
camcontrol devlist 
camcontrol devlist -b
camcontrol devlist -v
camcontrol devlist -v|grep -A 1 ^sc
camcontrol identify ada0
diskinfo -v /dev/ada0
diskinfo -t

Partitions:

gpart show ada0
gpart create -s gpt da0

single:

gpart add -t freebsd-ufs ada1

slices(?) :

gpart add -t freebsd-boot -l gpboot -b 40 -s 512K da0
gpart bootcode -b /boot/pmbr -p /boot/gptboot -i 1 da0
gpart add -t freebsd-ufs -l gprootfs -b 1M -s 2G da0
gpart add -t freebsd-swap -l gpswap -s 512M da0
gpart add -t freebsd-ufs  -l gpvarfs -s 1G da0
gpart add -t freebsd-ufs  -l gptmpfs -s 256M da0
gpart add -t freebsd-ufs  -l gpusrfs -a 1M da0

gpart delete -i 1 da0

gpart destroy da0

Encrypt disk using geli:

geli init /dev/md0
geli attach md0
geli detach md0

Memory:

sysctl hw.physmem
grep memory /var/run/dmesg.boot 

Ramdisk:

mdmfs -s 1g md1 /mnt/mdmfs

Open files:

fstat
fstat -f /usr (-u pid -u user)

Monitor:

iostat -w 1 da0 da1
systat
systat iostat, vmstat, netstat, mbufs, swap
gstat

Using gcc 4.8:

./configure CC=/usr/local/bin/gcc48

Pkg:

pkg info -l pkgname
pkg which <file>
pkg audit -F

auditd:

/etc/security/audit_control: flags:lo,aa,ex,fc,fd,fw,fm,ad
/etc/security/audit_user
praudit /var/audit/current 
auditreduce -u <user> <file> | praudit
for i in /var/audit/*gz; do echo $i; zcat $i | auditreduce -u user| praudit; done
zcat /var/audit/*gz  | auditreduce -u user| praudit

ipfw:

#disable
ipfw add 1 pass all from any to any; sysctl net.inet.ip.fw.enable=0; kldunload ipfw

#enable
kldload ipfw; sysctl net.inet.ip.fw.enable=1; ipfw add 1 pass all from any to any

firewall_type="filename" // without any command-line options for ipfw
firewall_script="/etc/ipfw.rules" // executable script that includes ipfw commands

/etc/ipfw.rules

ipfw list
ipfw -a -d -e -t list

service ipfw restart

fw-test.sh:

#!/bin/sh -x
kldload ipfw; sysctl net.inet.ip.fw.enable=1; ipfw add 1 pass all from any to any
service ipfw restart
sleep 20
service ipfw stop
ipfw add 1 pass all from any to any; sysctl net.inet.ip.fw.enable=0; kldunload ipfw
/usr/share/examples/ipfw/change_rules.sh

pw:

# pw groupadd teamtwo

Adding User Accounts to a New Group Using pw
# pw groupmod teamtwo -M jru
# pw groupshow teamtwo

Update stable:

# freebsd-update fetch
# freebsd-update install

Update openssl only:

cd /usr/src
patch < /path/to/patch
cd /usr/src/secure/lib/libcrypto
make obj && make depend && make includes && make
make install
cd /usr/src/secure/lib/libssl
make clean && make depend && make includes && make
make install
cd /usr/src/secure/usr.bin/openssl
make clean && make
make install

Secure erase:

camcontrol security ada1
camcontrol security /dev/ada1 -s Erase -e Erase
camcontrol security /dev/ada1 -U user -s Erase
(?) camcontrol security ada1 --security-user user --security-set-password Erase --security-erase Erase

disable: -d password
secure erase: -e password
enhanched: -h password
unlock: -k password
password: -s password
-U user|master

Encrypted swap:

dd if=/dev/zero of=/usr/data/st0/swap0 bs=1m count=8000
chmod 0600 /usr/data/st0/swap0
mdconfig -a -t vnode -f /usr/data/st0/swap0 -u 99
geli onetime md99
chmod 600 /dev/md99.eli
swapon /dev/md99.eli

Various:

fix backspace:

stty erase \^H"

netstat -nap:

sockstat
Speedtest
May 2, 2015 — 21:23

Author: silver  Category: linux  Comments: Off

Download:
https://github.com/sivel/speedtest-cli
https://pypi.python.org/pypi/speedtest-cli/

Use only NL servers:

Update 2022:

There’s also a native cli tool now: https://www.speedtest.net/apps/cli

Deleting songs in iTunes
May 2, 2015 — 21:21

Author: silver  Category: windows  Comments: Off

From http://lifehacker.com/5917787/how-to-delete-a-song-from-your-itunes-library-from-the-playlist-view

How to Delete a Song from Your iTunes Library from the Playlist View

If you find a song in one of your iTunes playlists that you no longer want, you
usually have to go all the way back to the “Music” view and find it inorder to
delete it. This keyboard shortcut saves you the hassle, deleting the item right
from the playlist view.

Ordinarily, pressing the delete key while in a playlist will only prompt you to
remove the song from that playlist. If you want to remove it from yourlibrary
entirely, just press Shift+Delete (on Windows) or Option+Delete (on OS X), and
you’ll get the prompt to remove the song from your libraryentirely. Pretty handy
for us playlist junkies.

From http://trevinchow.com/blog/2010/01/03/deleting-song-in-itunes-library-from-within-a-playlist/

So when you’re in an iTunes playlist and want to remove the song from the playlist only, use Delete. If you want to remove it from both the playlist AND your iTunes Library, use Shift+Delete !

(There is also another undocumented shortcut – CTRL + SHIFT + Delete which will do the same thing as Shift+Delete except it will add an extra confirmation for sending the file to the recycle bin. Since you already get one prompt using Shift+Delete, there’s no reason for this extra step)








We use Matomo free and open source web analytics
We also use Jetpack WordPress.com Stats which honors DNT