To extract a tar.gz file, the most basic syntax is as the following;
$ tar xvf filename.tar.gz
The command will extract the file to the current working directory. Current versions of the tar program doesn’t require the -z switch, as it auto detects the file format and extract accordingly.
To extract in verbose mode, and to a directory called /target, the following is the syntax;
$ tar xvf filename.tar.gz -C /target
It’s often useful to see relationship between processes and one way to see it is by looking at process tree.
Basically it’s where parent processes are hierarchically listed along with its’ child processes and this can be achieved with any of these methods;
ps
command with the f
option
$ ps auxf USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 11:28 0:00 [kthreadd] root 3 0.2 0.0 0 0 ? S 11:28 0:00 _ [kworker/0:0] root 4 0.0 0.0 0 0 ? S< 11:28 0:00 _ [kworker/0:0H] root 5 0.0 0.0 0 0 ? S 11:28 0:00 _ [kworker/u256:0] root 6 0.0 0.0 0 0 ? S< 11:28 0:00 _ [mm_percpu_wq] root 7 0.3 0.0 0 0 ? S 11:28 0:01 _ [ksoftirqd/0] root 8 0.2 0.0 0 0 ? S 11:28 0:00 _ [rcu_sched] root 9 0.0 0.0 0 0 ? S 11:28 0:00 _ [rcu_bh] root 10 0.0 0.0 0 0 ? S 11:28 0:00 _ [migration/0] root 11 0.0 0.0 0 0 ? S 11:28 0:00 _ [watchdog/0] root 12 0.0 0.0 0 0 ? S 11:28 0:00 _ [cpuhp/0] root 13 0.0 0.0 0 0 ? S 11:28 0:00 _ [kdevtmpfs] root 14 0.0 0.0 0 0 ? S< 11:28 0:00 _ [netns] root 15 0.0 0.0 0 0 ? S 11:28 0:00 _ [khungtaskd] root 16 0.0 0.0 0 0 ? S 11:28 0:00 _ [oom_reaper] root 17 0.0 0.0 0 0 ? S< 11:28 0:00 _ [writeback] root 18 0.0 0.0 0 0 ? S 11:28 0:00 _ [kcompactd0] root 19 0.0 0.0 0 0 ? SN 11:28 0:00 _ [ksmd] root 20 0.0 0.0 0 0 ? SN 11:28 0:00 _ [khugepaged] root 228 0.0 0.0 0 0 ? S< 11:28 0:00 _ [scsi_tmf_30] root 229 0.0 0.0 0 0 ? S 11:28 0:00 _ [scsi_eh_31] root 230 0.0 0.0 0 0 ? S< 11:28 0:00 _ [scsi_tmf_31] root 231 0.0 0.0 0 0 ? S 11:28 0:00 _ [scsi_eh_32] root 232 0.0 0.0 0 0 ? S< 11:28 0:00 _ [scsi_tmf_32] root 255 0.0 0.0 0 0 ? S 11:28 0:00 _ [kworker/u256:27] root 256 0.0 0.0 0 0 ? S 11:28 0:00 _ [kworker/u256:28] root 257 0.1 0.0 0 0 ? S 11:28 0:00 _ [kworker/u256:29] root 280 0.1 0.0 0 0 ? S 11:28 0:00 _ [jbd2/sda1-8] root 281 0.0 0.0 0 0 ? S< 11:28 0:00 _ [ext4-rsv-conver] root 480 0.0 0.0 0 0 ? S< 11:29 0:00 _ [nfit] root 622 0.0 0.0 0 0 ? S< 11:29 0:00 _ [kworker/u257:0] root 623 0.0 0.0 0 0 ? S< 11:29 0:00 _ [kworker/u257:1] root 1569 0.0 0.0 0 0 ? S< 11:29 0:00 _ [krfcommd] root 1 1.2 0.3 154768 6760 ? Ss 11:28 0:04 /sbin/init splash root 314 0.1 0.2 70648 5664 ? Ss 11:28 0:00 /lib/systemd/systemd-journald root 319 0.1 0.2 46800 4456 ? Ss 11:28 0:00 /lib/systemd/systemd-udevd systemd+ 367 0.0 0.1 147416 3236 ? Ssl 11:28 0:00 /lib/systemd/systemd-timesyncd root 368 0.1 0.3 194768 7004 ? Ssl 11:28 0:00 /usr/bin/vmtoolsd root 458 0.0 0.0 4484 604 ? Ss 11:29 0:00 /usr/sbin/acpid root 459 0.0 0.2 427472 5896 ? Ssl 11:29 0:00 /usr/sbin/ModemManager syslog 460 0.0 0.1 256536 2204 ? Ssl 11:29 0:00 /usr/sbin/rsyslogd -n root 468 0.0 0.2 85848 5508 ? Ss 11:29 0:00 /usr/bin/VGAuthService root 469 0.0 0.3 301064 7788 ? Ssl 11:29 0:00 /usr/lib/accountsservice/accounts-daemon root 470 0.0 0.1 31240 2720 ? Ss 11:29 0:00 /usr/sbin/cron -f message+ 471 0.2 0.2 49132 4968 ? Ss 11:29 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation root 513 0.1 0.6 565868 12580 ? Ssl 11:29 0:00 /usr/sbin/NetworkManager --no-daemon root 658 0.0 0.1 16220 2672 ? S 11:29 0:00 _ /sbin/dhclient -d -q -sf /usr/lib/NetworkManager/nm-dhcp-helper -pf /run/dhclient-ens33.pid -lf /var/lib/NetworkManager/dhclient-015cf265- root 514 0.0 0.1 15852 2548 ? Ss 11:29 0:00 /usr/sbin/anacron -dsq avahi 520 0.0 0.1 49452 3372 ? Ss 11:29 0:00 avahi-daemon: running [ubuntu.local] avahi 527 0.0 0.0 49328 104 ? S 11:29 0:00 _ avahi-daemon: chroot helper root 522 0.0 0.2 65652 4364 ? Ss 11:29 0:00 /lib/systemd/systemd-logind root 524 0.0 0.4 463664 8988 ? Ssl 11:29 0:00 /usr/lib/udisks2/udisksd root 537 0.0 0.4 467148 8516 ? Ssl 11:29 0:00 /usr/lib/snapd/snapd root 570 0.2 0.5 311932 11248 ? Ssl 11:29 0:00 /usr/lib/policykit-1/polkitd --no-debug systemd+ 621 0.0 0.1 65580 3360 ? Ss 11:29 0:00 /lib/systemd/systemd-resolved root 639 0.0 0.2 72136 4596 ? Ss 11:29 0:00 /usr/sbin/sshd -D root 1949 0.0 0.2 107696 5700 ? Ss 11:30 0:00 _ sshd: user [priv] user 2072 0.0 0.2 107988 4220 ? S 11:30 0:00 _ sshd: user@pts/1 user 2073 0.0 0.2 22608 4880 pts/1 Ss 11:30 0:00 _ -bash user 11733 0.0 0.1 42348 3884 pts/1 R+ 11:34 0:00 _ ps auxf root 640 0.0 0.3 300832 6876 ? Ssl 11:29 0:00 /usr/sbin/gdm3 root 649 0.0 0.3 251912 6844 ? Sl 11:29 0:00 _ gdm-session-worker [pam/gdm-launch-environment] gdm 684 0.0 0.2 190556 5196 tty1 Ssl+ 11:29 0:00 | _ /usr/lib/gdm3/gdm-wayland-session gnome-session --autostart /usr/share/gdm/greeter/autostart user 1450 0.0 0.2 190556 5176 tty2 Ssl+ 11:29 0:00 _ /usr/lib/gdm3/gdm-wayland-session env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu user 1454 0.1 0.6 580688 12440 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-session/gnome-session-binary --session=ubuntu user 1535 4.6 6.6 2966844 133364 tty2 Sl+ 11:29 0:13 _ /usr/bin/gnome-shell user 1542 0.4 1.6 335964 33308 tty2 S+ 11:29 0:01 | _ /usr/bin/Xwayland :0 -rootless -terminate -core -listen 4 -listen 5 -displayfd 6 user 1583 0.0 0.4 369848 8768 tty2 Sl 11:29 0:00 | _ ibus-daemon --xim --panel disable user 1590 0.0 0.3 289224 7552 tty2 Sl 11:29 0:00 | _ /usr/lib/ibus/ibus-dconf user 1785 0.0 0.3 213372 7556 tty2 Sl 11:29 0:00 | _ /usr/lib/ibus/ibus-engine-simple user 1651 0.0 0.3 289112 7472 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-mouse user 1653 0.1 1.0 663540 21768 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-power user 1654 0.0 0.4 338372 9076 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-print-notifications user 1655 0.0 0.2 416104 5672 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-rfkill user 1656 0.0 0.2 268492 4424 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-screensaver-proxy user 1658 0.0 0.3 385140 7276 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-smartcard user 1661 0.1 1.0 576788 20972 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-wacom user 1664 0.1 0.9 640776 19972 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-xsettings user 1674 0.0 0.5 462332 10204 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-sharing user 1676 0.0 0.4 335480 8464 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-sound user 1678 0.0 0.9 567992 19444 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-a11y-keyboard user 1680 0.1 0.9 491964 19444 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-clipboard user 1681 0.0 0.3 289108 7504 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-a11y-settings user 1683 0.0 0.5 488816 11812 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-datetime user 1684 0.1 1.0 731232 21180 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-color user 1687 0.1 0.9 644256 19724 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-keyboard user 1689 0.0 0.3 367148 8032 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-housekeeping user 1696 0.1 1.0 939084 21332 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-settings-daemon/gsd-media-keys user 1824 1.5 4.2 951592 85532 tty2 SLl+ 11:29 0:04 _ /usr/bin/gnome-software --gapplication-service user 1827 1.1 1.7 838836 35588 tty2 Sl+ 11:29 0:03 _ nautilus-desktop user 1829 0.0 0.4 166628 8672 tty2 S+ 11:29 0:00 _ kerneloops-applet user 1830 0.0 0.2 271496 5448 tty2 Sl+ 11:29 0:00 _ /usr/lib/gnome-disk-utility/gsd-disk-utility-notify user 2199 0.0 0.8 594148 18044 tty2 Sl+ 11:30 0:00 _ update-notifier user 3402 0.0 0.8 804712 16672 tty2 Sl+ 11:31 0:00 _ /usr/lib/x86_64-linux-gnu/deja-dup/deja-dup-monitor gdm 676 0.0 0.2 80228 5552 ? Ss 11:29 0:00 /lib/systemd/systemd --user gdm 677 0.0 0.0 106392 1448 ? S 11:29 0:00 _ (sd-pam) gdm 686 0.0 0.1 47764 3828 ? Ss 11:29 0:00 _ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation gdm 932 0.0 0.3 365160 7480 ? Ssl 11:29 0:00 _ /usr/lib/at-spi2-core/at-spi-bus-launcher gdm 937 0.0 0.1 47444 3576 ? S 11:29 0:00 | _ /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 gdm 939 0.0 0.3 220560 6136 ? Sl 11:29 0:00 _ /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session gdm 957 0.0 0.3 1150312 7112 ? Ssl 11:29 0:00 _ /usr/bin/pulseaudio --daemonize=no whoopsie 730 0.0 0.5 472912 11756 ? Ssl 11:29 0:00 /usr/bin/whoopsie -f kernoops 743 0.0 0.1 56740 2480 ? Ss 11:29 0:00 /usr/sbin/kerneloops root 834 0.0 0.3 311796 7660 ? Ssl 11:29 0:00 /usr/lib/upower/upowerd root 879 0.0 0.1 38472 3692 ? Ss 11:29 0:00 /usr/lib/bluetooth/bluetoothd rtkit 965 0.0 0.1 188076 2956 ? SNsl 11:29 0:00 /usr/lib/rtkit/rtkit-daemon root 1187 1.5 1.2 444740 24224 ? Ssl 11:29 0:04 /usr/lib/packagekit/packagekitd gdm 1217 0.0 1.0 490580 20252 tty1 Sl 11:29 0:00 /usr/lib/ibus/ibus-x11 --kill-daemon root 1231 0.0 0.1 48696 3884 ? Ss 11:29 0:00 /sbin/wpa_supplicant -u -s -O /run/wpa_supplicant colord 1371 0.0 0.6 331948 13728 ? Ssl 11:29 0:00 /usr/lib/colord/colord user 1438 0.0 0.2 80292 5756 ? Ss 11:29 0:00 /lib/systemd/systemd --user user 1439 0.0 0.0 106392 1628 ? S 11:29 0:00 _ (sd-pam) user 1452 0.1 0.2 48244 4488 ? Ss 11:29 0:00 _ /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation user 1509 0.0 0.3 284664 6364 ? Ssl 11:29 0:00 _ /usr/lib/gvfs/gvfsd user 1514 0.0 0.3 431588 7208 ? Sl 11:29 0:00 _ /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes user 1545 0.0 0.3 367456 7620 ? Ssl 11:29 0:00 _ /usr/lib/at-spi2-core/at-spi-bus-launcher user 1550 0.0 0.1 47448 3620 ? S 11:29 0:00 | _ /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3 user 1552 0.0 0.3 220560 6208 ? Sl 11:29 0:00 _ /usr/lib/at-spi2-core/at-spi2-registryd --use-gnome-session user 1571 0.0 0.5 621552 10184 ? Sl 11:29 0:00 _ /usr/lib/gnome-shell/gnome-shell-calendar-server user 1575 0.0 0.7 777848 15572 ? Ssl 11:29 0:00 _ /usr/lib/evolution/evolution-source-registry user 1582 0.0 0.7 793404 15964 ? Sl 11:29 0:00 _ /usr/lib/gnome-online-accounts/goa-daemon user 1611 0.0 0.4 385792 8248 ? Sl 11:29 0:00 _ /usr/lib/gnome-online-accounts/goa-identity-service user 1624 0.0 0.2 187772 5028 ? Sl 11:29 0:00 _ /usr/lib/dconf/dconf-service user 1628 0.0 0.4 312408 8928 ? Ssl 11:29 0:00 _ /usr/lib/gvfs/gvfs-udisks2-volume-monitor user 1632 0.0 0.2 281256 5948 ? Ssl 11:29 0:00 _ /usr/lib/gvfs/gvfs-gphoto2-volume-monitor user 1636 0.0 0.2 266808 5348 ? Ssl 11:29 0:00 _ /usr/lib/gvfs/gvfs-goa-volume-monitor user 1640 0.0 0.3 368192 7088 ? Ssl 11:29 0:00 _ /usr/lib/gvfs/gvfs-afc-volume-monitor user 1645 0.0 0.2 268624 4564 ? Ssl 11:29 0:00 _ /usr/lib/gvfs/gvfs-mtp-volume-monitor user 1733 0.1 0.9 872004 19644 ? Ssl 11:29 0:00 _ /usr/lib/evolution/evolution-calendar-factory user 1740 0.0 0.7 805376 14524 ? Sl 11:29 0:00 | _ /usr/lib/evolution/evolution-calendar-factory-subprocess --factory contacts --bus-name org.gnome.evolution.dataserver.Subprocess.Backe user 1751 0.0 0.7 786384 14164 ? Sl 11:29 0:00 | _ /usr/lib/evolution/evolution-calendar-factory-subprocess --factory local --bus-name org.gnome.evolution.dataserver.Subprocess.Backend. user 1750 0.0 0.6 725676 13204 ? Ssl 11:29 0:00 _ /usr/lib/evolution/evolution-addressbook-factory user 1762 0.0 0.5 810928 11480 ? Sl 11:29 0:00 | _ /usr/lib/evolution/evolution-addressbook-factory-subprocess --factory local --bus-name org.gnome.evolution.dataserver.Subprocess.Backe user 1842 0.0 0.4 376412 8564 ? Sl 11:30 0:00 _ /usr/lib/gvfs/gvfsd-trash --spawner :1.3 /org/gtk/gvfs/exec_spaw/0 user 1880 0.2 1.1 794472 23916 ? Ssl 11:30 0:00 _ /usr/lib/gnome-terminal/gnome-terminal-server user 1888 0.0 0.2 22512 4752 pts/0 Ss+ 11:30 0:00 | _ bash user 3318 0.0 0.2 195140 5436 ? Ssl 11:31 0:00 _ /usr/lib/gvfs/gvfsd-metadata user 1446 0.0 0.2 281064 5480 ? Sl 11:29 0:00 /usr/bin/gnome-keyring-daemon --daemonize --login user 1558 0.0 0.3 1169072 7072 ? S<l 11:29 0:00 /usr/bin/pulseaudio --start --log-target=syslog user 1592 0.0 0.9 492328 19604 tty2 Sl 11:29 0:00 /usr/lib/ibus/ibus-x11 --kill-daemon user 1718 0.0 0.5 524744 11320 tty2 Sl+ 11:29 0:00 /usr/lib/gnome-settings-daemon/gsd-printer root 1863 0.1 0.7 548488 14860 ? Ssl 11:30 0:00 /usr/lib/fwupd/fwupd root 1904 0.0 0.0 4592 828 ? Ss 11:30 0:00 /bin/sh /usr/lib/apt/apt.systemd.daily install root 1908 0.0 0.0 4592 1712 ? S 11:30 0:00 _ /bin/sh /usr/lib/apt/apt.systemd.daily lock_is_held install root 1939 31.8 2.9 172664 58696 ? S 11:30 1:13 _ /usr/bin/python3 /usr/bin/unattended-upgrade root 4610 1.5 2.6 173564 54264 ? S 11:33 0:00 _ /usr/bin/python3 /usr/bin/unattended-upgrade root 4697 0.0 0.3 23068 7172 pts/2 Ss+ 11:33 0:00 _ /usr/bin/dpkg --status-fd 10 --configure --pending root 4698 0.0 0.3 25364 6404 pts/2 S+ 11:33 0:00 _ /usr/bin/perl /var/lib/dpkg/info/linux-image-4.13.0-32-generic.postinst configure root 4725 0.0 0.0 4452 888 pts/2 S+ 11:33 0:00 _ run-parts --verbose --exit-on-error --arg=4.13.0-32-generic --arg=/boot/vmlinuz-4.13.0-32-generic /etc/kernel/postinst root 4775 0.0 0.0 4592 848 pts/2 S+ 11:33 0:00 _ /bin/sh -e /etc/kernel/postinst.d/initramfs-tools 4.13.0-32-generic /boot/vmlinuz-4.13.0-32-generic root 4777 0.0 0.0 4592 852 pts/2 S+ 11:33 0:00 _ /bin/sh /usr/sbin/update-initramfs -c -t -k 4.13.0-32-generic -b /boot root 4779 0.1 0.0 4724 1912 pts/2 S+ 11:33 0:00 _ /bin/sh /usr/sbin/mkinitramfs -o /boot/initrd.img-4.13.0-32-generic.new 4.13.0-32-generic root 11732 25.0 0.9 22716 19744 pts/2 R+ 11:34 0:00 _ depmod -a -b /var/tmp/mkinitramfs_Ca437K 4.13.0-32-generic root 7243 0.1 0.3 101496 7984 ? Ss 11:34 0:00 /usr/sbin/cupsd -l root 7244 0.2 0.5 299656 10712 ? Ssl 11:34 0:00 /usr/sbin/cups-browsed
pstree
command which was developed for this specific purpose
$ pstree systemd─┬─ModemManager───2*[{ModemManager}] ├─NetworkManager─┬─dhclient │ └─2*[{NetworkManager}] ├─VGAuthService ├─accounts-daemon───2*[{accounts-daemon}] ├─acpid ├─anacron ├─apt.systemd.dai───apt.systemd.dai───unattended-upgr───unattended-upgr ├─avahi-daemon───avahi-daemon ├─bluetoothd ├─colord───2*[{colord}] ├─cron ├─cups-browsed───2*[{cups-browsed}] ├─cupsd ├─dbus-daemon ├─fwupd───4*[{fwupd}] ├─gdm3─┬─gdm-session-wor─┬─gdm-wayland-ses─┬─gnome-session-b─┬─gnome-shell─┬─Xwayland │ │ │ │ │ ├─ibus-daemon─┬─ibus-dconf───3*[{ibus-dconf}] │ │ │ │ │ │ ├─ibus-engine-sim───2*[{ibus-engine-sim}] │ │ │ │ │ │ └─2*[{ibus-daemon}] │ │ │ │ │ └─9*[{gnome-shell}] │ │ │ │ ├─gsd-a11y-keyboa───3*[{gsd-a11y-keyboa}] │ │ │ │ ├─gsd-a11y-settin───3*[{gsd-a11y-settin}] │ │ │ │ ├─gsd-clipboard───2*[{gsd-clipboard}] │ │ │ │ ├─gsd-color───3*[{gsd-color}] │ │ │ │ ├─gsd-datetime───2*[{gsd-datetime}] │ │ │ │ ├─gsd-housekeepin───2*[{gsd-housekeepin}] │ │ │ │ ├─gsd-keyboard───3*[{gsd-keyboard}] │ │ │ │ ├─gsd-media-keys───3*[{gsd-media-keys}] │ │ │ │ ├─gsd-mouse───2*[{gsd-mouse}] │ │ │ │ ├─gsd-power───3*[{gsd-power}] │ │ │ │ ├─gsd-print-notif───2*[{gsd-print-notif}] │ │ │ │ ├─gsd-rfkill───2*[{gsd-rfkill}] │ │ │ │ ├─gsd-screensaver───2*[{gsd-screensaver}] │ │ │ │ ├─gsd-sharing───3*[{gsd-sharing}] │ │ │ │ ├─gsd-smartcard───4*[{gsd-smartcard}] │ │ │ │ ├─gsd-sound───3*[{gsd-sound}] │ │ │ │ ├─gsd-wacom───2*[{gsd-wacom}] │ │ │ │ ├─gsd-xsettings───3*[{gsd-xsettings}] │ │ │ │ └─3*[{gnome-session-b}] │ │ │ └─2*[{gdm-wayland-ses}] │ │ └─2*[{gdm-session-wor}] │ ├─gdm-session-wor─┬─gdm-wayland-ses─┬─gnome-session-b─┬─gnome-shell─┬─Xwayland │ │ │ │ │ ├─ibus-daemon─┬─ibus-dconf───3*[{ibus-dconf}] │ │ │ │ │ │ ├─ibus-engine-sim───2*[{ibus-engine-sim}] │ │ │ │ │ │ └─2*[{ibus-daemon}] │ │ │ │ │ └─9*[{gnome-shell}] │ │ │ │ ├─gnome-software───4*[{gnome-software}] │ │ │ │ ├─gsd-a11y-keyboa───3*[{gsd-a11y-keyboa}] │ │ │ │ ├─gsd-a11y-settin───3*[{gsd-a11y-settin}] │ │ │ │ ├─gsd-clipboard───2*[{gsd-clipboard}] │ │ │ │ ├─gsd-color───3*[{gsd-color}] │ │ │ │ ├─gsd-datetime───3*[{gsd-datetime}] │ │ │ │ ├─gsd-disk-utilit───2*[{gsd-disk-utilit}] │ │ │ │ ├─gsd-housekeepin───3*[{gsd-housekeepin}] │ │ │ │ ├─gsd-keyboard───3*[{gsd-keyboard}] │ │ │ │ ├─gsd-media-keys───3*[{gsd-media-keys}] │ │ │ │ ├─gsd-mouse───3*[{gsd-mouse}] │ │ │ │ ├─gsd-power───3*[{gsd-power}] │ │ │ │ ├─gsd-print-notif───2*[{gsd-print-notif}] │ │ │ │ ├─gsd-rfkill───2*[{gsd-rfkill}] │ │ │ │ ├─gsd-screensaver───2*[{gsd-screensaver}] │ │ │ │ ├─gsd-sharing───3*[{gsd-sharing}] │ │ │ │ ├─gsd-smartcard───4*[{gsd-smartcard}] │ │ │ │ ├─gsd-sound───3*[{gsd-sound}] │ │ │ │ ├─gsd-wacom───2*[{gsd-wacom}] │ │ │ │ ├─gsd-xsettings───3*[{gsd-xsettings}] │ │ │ │ ├─kerneloops-appl │ │ │ │ ├─nautilus-deskto───3*[{nautilus-deskto}] │ │ │ │ ├─update-notifier───3*[{update-notifier}] │ │ │ │ └─3*[{gnome-session-b}] │ │ │ └─2*[{gdm-wayland-ses}] │ │ └─2*[{gdm-session-wor}] │ └─2*[{gdm3}] ├─gnome-keyring-d───3*[{gnome-keyring-d}] ├─gsd-printer───2*[{gsd-printer}] ├─2*[ibus-x11───2*[{ibus-x11}]] ├─kerneloops ├─packagekitd───3*[{packagekitd}] ├─polkitd───2*[{polkitd}] ├─pulseaudio───2*[{pulseaudio}] ├─rsyslogd───3*[{rsyslogd}] ├─rtkit-daemon───2*[{rtkit-daemon}] ├─snapd───6*[{snapd}] ├─sshd───sshd───sshd───bash───pstree ├─systemd─┬─(sd-pam) │ ├─at-spi-bus-laun─┬─dbus-daemon │ │ └─3*[{at-spi-bus-laun}] │ ├─at-spi2-registr───2*[{at-spi2-registr}] │ ├─dbus-daemon │ └─pulseaudio───2*[{pulseaudio}] ├─systemd─┬─(sd-pam) │ ├─at-spi-bus-laun─┬─dbus-daemon │ │ └─3*[{at-spi-bus-laun}] │ ├─at-spi2-registr───2*[{at-spi2-registr}] │ ├─dbus-daemon │ ├─dconf-service───2*[{dconf-service}] │ ├─evolution-addre─┬─evolution-addre───5*[{evolution-addre}] │ │ └─4*[{evolution-addre}] │ ├─evolution-calen─┬─2*[evolution-calen───6*[{evolution-calen}]] │ │ └─4*[{evolution-calen}] │ ├─evolution-sourc───3*[{evolution-sourc}] │ ├─gnome-shell-cal───5*[{gnome-shell-cal}] │ ├─gnome-terminal-─┬─bash │ │ └─3*[{gnome-terminal-}] │ ├─goa-daemon───4*[{goa-daemon}] │ ├─goa-identity-se───3*[{goa-identity-se}] │ ├─gvfs-afc-volume───3*[{gvfs-afc-volume}] │ ├─gvfs-goa-volume───2*[{gvfs-goa-volume}] │ ├─gvfs-gphoto2-vo───2*[{gvfs-gphoto2-vo}] │ ├─gvfs-mtp-volume───2*[{gvfs-mtp-volume}] │ ├─gvfs-udisks2-vo───2*[{gvfs-udisks2-vo}] │ ├─gvfsd───2*[{gvfsd}] │ ├─gvfsd-fuse───5*[{gvfsd-fuse}] │ ├─gvfsd-metadata───2*[{gvfsd-metadata}] │ └─gvfsd-trash───2*[{gvfsd-trash}] ├─systemd-journal ├─systemd-logind ├─systemd-resolve ├─systemd-timesyn───{systemd-timesyn} ├─systemd-udevd ├─udisksd───4*[{udisksd}] ├─upowerd───2*[{upowerd}] ├─vmtoolsd───{vmtoolsd} ├─whoopsie───2*[{whoopsie}] └─wpa_supplicant
pstree
might not be available by default in some Linux
distributions thus need to be installed
If you prefer to mount your disk partition using UUID
(or for any other reason), you can set the UUID
by using the tune2fs
command.
You can use any unique string as the argument for the -U
parameter, or you can use `uuid`
, given that you have uuid
package installed.
shakir@anduril:~$ sudo tune2fs /dev/hdb1 -U `uuid`
You’ll need to have root
permission for this to work.
Scalp! is a log analyzer for the Apache web server that looks for security problems. It reads the Apache log and perform log analysis for possible attacks against rulesets provided by PHP-IDS project. It is available for download from GitHub.
Scalp! is currently written in Python though the writer claims he’s now working on C++ version of it. Current Python can only analyze a maximum of 10000 lines of log, and seems to be a bit slow. The C++ version is aimed to overcome the problems.
When being run without any parameters, Scalp will look for access_log and default_filter.xml files in the current directory, and produce the report to the standard output. access_log is the Apache log file, and default_filter.xml is the filter rules available from the PHPIDS project. Running the program as the following will use the Apache log file at /var/log/apache2/access.log and the PHPIDS ruleset from ~/default_filter.xml;
$ python scalp.py --log /var/log/apache2/access.log --filters ~/default_filter.xml
To overcome the 10000 lines limitation of the program, a Linux program called split can be run as in the example below as a log splitter, and Scalp! is then run against all the splitted log;
$ split -l 10000 /var/log/apache2/access.log
KDE looks for programs in the ~/.kde/Autostart
directory to be executed during it’s startup. The way to execute programs as KDE starts would be to;
The first method is very straightforward, and the second method can be achieved using the ln command. The following example is to run superkaramba
as KDE starts.
$ cd ~/.kde/Autostart/ $ ln -s /usr/bin/superkaramba mykaramba
The third option is my personal favorite, as it provides a great level of flexibility. The following is an example bash script placed in the ~/.kde/Autostart/
directory to run gpg-agent
, export a variable, and start the program katapult
and conky
;
#!/bin/bash /usr/bin/gpg-agent --daemon --use-standard-socket & export GPG_AGENT_INFO=/home/shakir/.gnupg/S.gpg-agent /usr/bin/katapult & /usr/bin/conky &
Please make sure all programs are executable by running chmod
, probably as the following example;
$ chmod +x ~/.kde/Autostart/*
The program used to display memory information is free. It displays usage information of both RAM and swap. Running it at the terminal will produce the following output;
$ free total used free shared buffers cached Mem: 2571088 1605784 965304 0 48316 589324 -/+ buffers/cache: 968144 1602944 Swap: 4393768 0 4393768
By default the program outputs display in kilobyte’s unit. To have it in Megabyte, simply add -m to the parameter when running the program;
$ free -m total used free shared buffers cached Mem: 2510 1568 942 0 47 575 -/+ buffers/cache: 945 1565 Swap: 4290 0 4290
From the man page, dd is a Unix tool to “copy a file, converting and formatting according to the operands”.
To raw copy or backup a hard drive is to “copy” the block device file itself, probably to a file, or directly to another harddisk.
Assuming the hard drive to be copied is /dev/sda, and the target is another harddisk detected as /dev/sdb, the following command will duplicate /dev/sda to /dev/sdb
$ sudo dd if=/dev/sda of=/dev/sdb
In this example, the option if is for the input file, and of is for the output file.
The content of both disk should be the same, including the MBR, partition table, and all the data. Just make sure the target disk is bigger in size than the source.
Ubuntu
does not come with SSH
server installed by default but could be installed and enabled easily with the following steps from the comand line;
sudo apt -y update
openssh-server
package.
sudo apt install -y openssh-server
sshd
server is running.
sudo systemctl status ssh
sshd
from running by default during system bootup.
sudo systemctl disable ssh
sshd
could be re-enabled at later times.
sudo systemctl enable ssh
While there are commercial programs to recover your lost partition table, there are also free alternatives. In this article we’ll cover how to recover your lost partition table with Ubuntu Live CD and gpart
.
You’re advised to use the following method due to limitations of gpart
(see below) and for being an easier alternative.
gpart
is a fairly old program and is no longer supported by it’s original author. It can only detect the following type of partitions;
Follow these detailed step-by-step guide to recover your partition
You can change the port that your SSH
server runs other than the default 22
by specifying the desired port number in your SSH
server configuration file.
Set the Port
option in /etc/ssh/sshd_config
to your desired port as in the following example;
Port 22
You can use any number between 1 to 65535 as long as it’s not used by other programs.
Be sure to reboot your SSH
server afterwards.
Parking is currently unavailable. We'll be right back.
\n ")}errorParkingServicesDisabled(){this.message("\nServices for this domain name have been disabled.
\n ")}errorParkingNoSponsors(e){this.message(`\n \n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"${this.domain} currently does not have any sponsors for you.
`;case"disabled_mr":return`\nReferral traffic for ${this.domain} does not meet requirements.
`;case"js_error":return"\nParking is currently unavailable. We'll be right back.
\n ";default:return"\nServices for this domain name have been disabled.
\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o,status:e}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(window.location.pathname.startsWith("/listing")&&["EXTERNAL_MARKET","URL"].includes(null==i?void 0:i.status)){if(null==i?void 0:i.external)return Redirect.toState(i.external,"sales");if(null==i?void 0:i.link)return Redirect.toState(i.link,"sales")}if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",buildSignature=({callbacks:e,context:t},n)=>{var i,s,a,o;return Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_client_id:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.pubId,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.channel,desktop:t.desktop,terms:null===(a=null==t?void 0:t.pageOptions)||void 0===a?void 0:a.terms,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(o=null==t?void 0:t.pageOptions)||void 0===o?void 0:o.ivt,js_error:t.js_error,mobile:t.mobile,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,tablet:t.tablet,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,user_id:t.userId,uuid:t.uuid,zeroclick:t.zeroClick},browserState())},trackVisit=({callbacks:e,context:t},n,i="")=>{const s=`${i}/${TRACKING_URL}`,a=i?"include":"same-origin",o=buildSignature({callbacks:e,context:t},n);let r={};"click"===n&&(r={click:"true",session:t.uuid,nc:Date.now().toString()}),fetch(s,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},credentials:a,body:JSON.stringify(Object.assign({signature:encode(o)},r))})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i