<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://wiki.ivanovic.nz/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages</id>
		<title>Useful Things - New pages [en]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.ivanovic.nz/index.php?feed=atom&amp;namespace=0&amp;title=Special%3ANewPages"/>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Special:NewPages"/>
		<updated>2026-04-17T15:51:40Z</updated>
		<subtitle>From Useful Things</subtitle>
		<generator>MediaWiki 1.28.0</generator>

	<entry>
		<id>https://wiki.ivanovic.nz/Udev</id>
		<title>Udev</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Udev"/>
				<updated>2015-09-21T14:30:32Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Disable new-style interface naming == &amp;lt;pre&amp;gt; ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable new-style interface naming ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Systemd/network</id>
		<title>Systemd/network</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Systemd/network"/>
				<updated>2015-09-21T14:15:36Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Static IP setup == File: &amp;lt;code&amp;gt;/etc/systemd/network/wired.network&amp;lt;/code&amp;gt;  &amp;lt;pre&amp;gt; [Match] Name=eth0  [Network] DNS=8.8.8.8 Address=192.168.101.2/24 Address=123.123.123.123/32...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Static IP setup ==&lt;br /&gt;
File: &amp;lt;code&amp;gt;/etc/systemd/network/wired.network&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Match]&lt;br /&gt;
Name=eth0&lt;br /&gt;
&lt;br /&gt;
[Network]&lt;br /&gt;
DNS=8.8.8.8&lt;br /&gt;
Address=192.168.101.2/24&lt;br /&gt;
Address=123.123.123.123/32&lt;br /&gt;
&lt;br /&gt;
[Route]&lt;br /&gt;
Gateway=192.168.101.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Additional post-up network hooks ==&lt;br /&gt;
File: &amp;lt;code&amp;gt;/etc/systemd/system/my-service.service&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Service description&lt;br /&gt;
Wants=network.target&lt;br /&gt;
After=network.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
ExecStart=/usr/local/sbin/executable-to-run&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Sysctl</id>
		<title>Sysctl</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Sysctl"/>
				<updated>2015-08-05T15:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Disable rp_filter ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do&lt;br /&gt;
	echo 0 &amp;gt; $i&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Additional notes ===&lt;br /&gt;
http://unix.stackexchange.com/questions/90443/sysctl-proc-sys-net-ipv46-conf-whats-the-difference-between-all-defau&amp;lt;br /&amp;gt;&lt;br /&gt;
https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt&lt;br /&gt;
&lt;br /&gt;
== Ensure VLAN packets originate from the correct VLAN interface in iptables ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
net.bridge.bridge-nf-filter-vlan-tagged = 1&lt;br /&gt;
net.bridge.bridge-nf-pass-vlan-input-dev = 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Disable PMTU discovery ==&lt;br /&gt;
&amp;lt;code&amp;gt;net.ipv4.ip_no_pmtu_disc = 1&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The ip_no_pmtu_disc disables PMTU (Path Maximum Transfer Unit) discovery if enabled. In most cases this is good, so it is per default set to FALSE (ie, Path Maximum Transfer Unit is used). However, in some cases this is bad and may lead to broken connectivity. If you are experiencing problems like this, you should turn this option off and set your MTU to a reasonable value yourself.&lt;br /&gt;
&lt;br /&gt;
Do note that MTU and PMTU are two different things. MTU tells the kernel the maximum transfer unit for our connection, but not over the whole connection to the other end. PMTU discovery tries to discover the maximum transfer unit to specific hosts, including all the intermediate hops on the way there.&lt;br /&gt;
&lt;br /&gt;
The default value is that the ip_no_pmtu_disc is FALSE, as already stated. If this is set to TRUE, PMTU discovery is turned off. The ip_no_pmtu_disc takes a boolean value, in other words either an 1 or a 0, where 1 is on and 0 is off.&lt;br /&gt;
&lt;br /&gt;
=== Reference ===&lt;br /&gt;
https://www.frozentux.net/ipsysctl-tutorial/chunkyhtml/variablereference.html&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Iproute2</id>
		<title>Iproute2</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Iproute2"/>
				<updated>2015-08-03T16:38:18Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Add a VLAN == &amp;lt;pre&amp;gt; ip link add link eth0 name eth0.100 type vlan id 100 &amp;lt;/pre&amp;gt;  == Remove a VLAN == &amp;lt;pre&amp;gt; ip link delete eth0.100 &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Add a VLAN ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip link add link eth0 name eth0.100 type vlan id 100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Remove a VLAN ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ip link delete eth0.100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Openssl</id>
		<title>Openssl</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Openssl"/>
				<updated>2015-07-05T19:54:29Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Generate self-signed certificate == &amp;lt;pre&amp;gt; openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out out.crt -keyout out.key &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Generate self-signed certificate ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -out out.crt -keyout out.key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Xargs</id>
		<title>Xargs</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Xargs"/>
				<updated>2015-06-24T16:05:58Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Build argument list from previous output == &amp;lt;pre&amp;gt; command | xargs ls -l &amp;lt;/pre&amp;gt;  == Run command per line of previous output == &amp;lt;pre&amp;gt; command | xargs -L1 ls -l &amp;lt;/pre&amp;gt;  == Run...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Build argument list from previous output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
command | xargs ls -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run command per line of previous output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
command | xargs -L1 ls -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Run piped command per line of previous output ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
command | xargs -L1 sh -c &amp;#039;command2 &amp;quot;$0&amp;quot; | command3&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Entropy</id>
		<title>Entropy</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Entropy"/>
				<updated>2015-06-13T22:30:29Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== View available entropy == &amp;lt;pre&amp;gt; cat /proc/sys/kernel/random/entropy_avail &amp;lt;/pre&amp;gt;  == Increase available entropy == This is applicable to non-interactive machines such as se...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== View available entropy ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat /proc/sys/kernel/random/entropy_avail&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Increase available entropy ==&lt;br /&gt;
This is applicable to non-interactive machines such as servers, and useful when generating a lot of keys.&lt;br /&gt;
=== Install the haveged package ===&lt;br /&gt;
&amp;#039;&amp;#039;&amp;quot;The haveged project is an attempt to provide an easy-to-use, unpredictable random number generator based upon an adaptation of the HAVEGE algorithm. Haveged was created to remedy low-entropy conditions in the Linux random device that can occur under some workloads, especially on headless servers. Current development of haveged is directed towards improving overall reliablity and adaptability while minimizing the barriers to using haveged for other tasks.&amp;quot;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
emerge -av haveged&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
and start it. It will use CPU execution timings (which are very irregular) to seed the system&amp;#039;s RNG.&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Tar</id>
		<title>Tar</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Tar"/>
				<updated>2015-06-12T20:24:26Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== List files in archive without extracting == &amp;lt;pre&amp;gt; tar tf &amp;lt;file.tar&amp;gt; &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== List files in archive without extracting ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar tf &amp;lt;file.tar&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Filefrag</id>
		<title>Filefrag</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Filefrag"/>
				<updated>2015-06-08T19:36:11Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Check fragmentation information about a given file == &amp;lt;pre&amp;gt; filefrag -v /var/log/messages &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Check fragmentation information about a given file ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
filefrag -v /var/log/messages&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Gdisk</id>
		<title>Gdisk</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Gdisk"/>
				<updated>2015-06-02T13:21:47Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Convert MBR to GPT without data loss == &amp;lt;pre&amp;gt; gdisk /dev/sdX &amp;lt;/pre&amp;gt; Then type &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; as input.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Convert MBR to GPT without data loss ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gdisk /dev/sdX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Then type &amp;lt;code&amp;gt;w&amp;lt;/code&amp;gt; as input.&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Xorg.conf</id>
		<title>Xorg.conf</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Xorg.conf"/>
				<updated>2015-05-30T08:22:50Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Xorg.conf file for QEMU/KVM VMs ==  &amp;lt;pre&amp;gt; # This is an Xorg configuration file for QEMU/KVM virtual machines. # It lets you run with resolutions larger than 800x600. # # Sa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Xorg.conf file for QEMU/KVM VMs ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# This is an Xorg configuration file for QEMU/KVM virtual machines.&lt;br /&gt;
# It lets you run with resolutions larger than 800x600.&lt;br /&gt;
#&lt;br /&gt;
# Save it to /etc/X11/xorg.conf.&lt;br /&gt;
# Modify the resolution to suit your needs.&lt;br /&gt;
#&lt;br /&gt;
# If you&amp;#039;re having problems, try booting with the flag -std-vga.&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Device&amp;quot;&lt;br /&gt;
    Identifier      &amp;quot;device&amp;quot;&lt;br /&gt;
    Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
    Identifier      &amp;quot;screen&amp;quot;&lt;br /&gt;
    Device          &amp;quot;device&amp;quot;&lt;br /&gt;
    Monitor         &amp;quot;monitor&amp;quot;&lt;br /&gt;
    DefaultDepth    16&lt;br /&gt;
    SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
        Modes       &amp;quot;1920x1080&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot;&lt;br /&gt;
    EndSubSection&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
    Identifier      &amp;quot;monitor&amp;quot;&lt;br /&gt;
    HorizSync       20.0 - 50.0&lt;br /&gt;
    VertRefresh     40.0 - 80.0&lt;br /&gt;
    Option          &amp;quot;DPMS&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&lt;br /&gt;
Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
    Identifier      &amp;quot;layout&amp;quot;&lt;br /&gt;
    Screen          &amp;quot;screen&amp;quot;&lt;br /&gt;
EndSection&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Android/adb</id>
		<title>Android/adb</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Android/adb"/>
				<updated>2015-05-25T18:03:02Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== View Android system log file ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb logcat&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Filter by tag name:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
adb logcat -s TAGNAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Android/fastboot</id>
		<title>Android/fastboot</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Android/fastboot"/>
				<updated>2015-05-25T18:02:22Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Common fastboot commands == &amp;lt;pre&amp;gt; fastboot flash recovery recovery.img &amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt; fastboot flash boot boot.img &amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt; fastboot flash cache cache.img &amp;lt;/pre&amp;gt; &amp;lt;pre&amp;gt; fa...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common fastboot commands ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastboot flash recovery recovery.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastboot flash boot boot.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastboot flash cache cache.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastboot flash userdata userdata.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastboot flash system system.img&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fastboot reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/X</id>
		<title>X</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/X"/>
				<updated>2015-05-25T02:07:41Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== User logs in successfully but is immediately redirected back to the login screen ==&lt;br /&gt;
Open a new TTY (CTRL+ALT+F1 through to F6) and then run:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chown youruser:yourgroup ~/.Xauthority&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== startx fails with repeated &amp;quot;Invalid MIT-MAGIC-COOKIE-1&amp;quot; ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm ~/.Xauthority*&lt;br /&gt;
rm ~/.ICE*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Qemu</id>
		<title>Qemu</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Qemu"/>
				<updated>2015-05-21T04:15:15Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Mount qcow2 image == === To start === &amp;lt;pre&amp;gt; modprobe nbd max_part=63 qemu-nbd -c /dev/nbd0 image.img mount /dev/nbd0p1 /mnt/image &amp;lt;/pre&amp;gt;  === To finish === &amp;lt;pre&amp;gt; umount /mn...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mount qcow2 image ==&lt;br /&gt;
=== To start ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
modprobe nbd max_part=63&lt;br /&gt;
qemu-nbd -c /dev/nbd0 image.img&lt;br /&gt;
mount /dev/nbd0p1 /mnt/image&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== To finish ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
umount /mnt/image&lt;br /&gt;
killall qemu-nbd&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Tune2fs</id>
		<title>Tune2fs</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Tune2fs"/>
				<updated>2015-05-03T03:30:37Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Find filesystem creation date == &amp;lt;pre&amp;gt; tune2fs -l /dev/sdX &amp;lt;/pre&amp;gt; &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; list the contents of the filesystem superblock, including the current values of the parame...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Find filesystem creation date ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tune2fs -l /dev/sdX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; list the contents of the filesystem superblock, including the current values of the parameters that can be set via this program.&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Resize2fs</id>
		<title>Resize2fs</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Resize2fs"/>
				<updated>2015-05-03T02:07:18Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Resize ext4 partition to end of partition boundary == &amp;lt;pre&amp;gt; resize2fs /dev/sdX3 &amp;lt;/pre&amp;gt;  == Resize ext4 partition to specific size == &amp;lt;pre&amp;gt; resize2fs /dev/sdX3 50G &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Resize ext4 partition to end of partition boundary ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
resize2fs /dev/sdX3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resize ext4 partition to specific size ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
resize2fs /dev/sdX3 50G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Miscellaneous</id>
		<title>Miscellaneous</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Miscellaneous"/>
				<updated>2015-04-07T07:48:00Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== How many additional threads did a process spawn? ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
strace &amp;lt;process_name&amp;gt; 2&amp;gt;&amp;amp;1 | grep -e fork -e clone | wc -l&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bash currency converter ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cconv() {&lt;br /&gt;
	wget -qO- &amp;quot;https://www.google.com/finance/converter?a=$1&amp;amp;from=$2&amp;amp;to=$3&amp;quot; |  sed &amp;#039;/res/!d;s/&amp;lt;[^&amp;gt;]*&amp;gt;//g&amp;#039;;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eclipse ~ # cconv 11 usd eur&lt;br /&gt;
11 USD = 10.3103 EUR&lt;br /&gt;
eclipse ~ # cconv 3 usd nzd&lt;br /&gt;
3 USD = 3.9888 NZD&lt;br /&gt;
eclipse ~ # cconv 1 usd nzd&lt;br /&gt;
1 USD = 1.3296 NZD&lt;br /&gt;
eclipse ~ # cconv 1 nzd usd&lt;br /&gt;
1 NZD = 0.7523 USD&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Lsof</id>
		<title>Lsof</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Lsof"/>
				<updated>2015-04-03T04:49:51Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== List open files on / in RW or W mode only == &amp;lt;pre&amp;gt; lsof / | grep -e &amp;quot;:digit:\+\(u\|w\)&amp;quot; &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== List open files on / in RW or W mode only ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
lsof / | grep -e &amp;quot;[[:digit:]]\+\(u\|w\)&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Stty</id>
		<title>Stty</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Stty"/>
				<updated>2015-03-24T13:02:32Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Change terminal width == &amp;lt;pre&amp;gt;stty cols 237&amp;lt;/pre&amp;gt;  == Change terminal height == &amp;lt;pre&amp;gt;stty rows 63&amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Change terminal width ==&lt;br /&gt;
&amp;lt;pre&amp;gt;stty cols 237&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Change terminal height ==&lt;br /&gt;
&amp;lt;pre&amp;gt;stty rows 63&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Arch/VLC</id>
		<title>Arch/VLC</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Arch/VLC"/>
				<updated>2015-03-23T04:55:35Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Segmentation fault (core dumped) ==&lt;br /&gt;
As per https://bbs.archlinux.org/viewtopic.php?id=178486, remove the following plugins:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
libnotify_plugin.so&lt;br /&gt;
libkate_plugin.so&lt;br /&gt;
libgnomevfs_plugin.so&lt;br /&gt;
gui/libqt4_plugin.so&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Sgdisk</id>
		<title>Sgdisk</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Sgdisk"/>
				<updated>2015-03-22T12:54:01Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: /* Wipe MBR and GPT partition tables */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Wipe MBR and GPT partition tables ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sgdisk -Z /dev/sdX&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-Z&amp;lt;/code&amp;gt; same as &amp;lt;code&amp;gt;--zap-all&amp;lt;/code&amp;gt; &amp;amp;mdash; Zap (destroy) the GPT and MBR data structures and then exit.&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Mdadm</id>
		<title>Mdadm</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Mdadm"/>
				<updated>2015-03-22T12:41:59Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Remove a drive from an active array ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mdadm --manage /dev/md0 --fail /dev/sdX # set the drive as failed&lt;br /&gt;
mdadm --manage /dev/md0 --remove /dev/sdX # remove the drive from the array&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Add a drive to an active and degraded array ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mdadm --manage /dev/md0 --add /dev/sdX # add the drive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Check array status ==&lt;br /&gt;
Both &amp;lt;code&amp;gt;cat /proc/mdstat&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;mdadm --detail /dev/md0&amp;lt;/code&amp;gt; have detailed output about configured arrays.&lt;br /&gt;
&lt;br /&gt;
== Possible issues ==&lt;br /&gt;
=== Array refuses to rebuild when in a degraded state and a new drive is added ===&lt;br /&gt;
The array might be frozen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@galaxy:~# cat /sys/block/md0/md/sync_action&lt;br /&gt;
frozen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
So give it a nudge:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@galaxy:~# echo idle &amp;gt; /sys/block/md0/md/sync_action&lt;br /&gt;
root@galaxy:~# cat /sys/block/md0/md/sync_action&lt;br /&gt;
recover&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Benchmarks</id>
		<title>Benchmarks</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Benchmarks"/>
				<updated>2015-03-21T11:02:57Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== RAID 6 + LUKS ==&lt;br /&gt;
&lt;br /&gt;
=== Environment ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eclipse shared # cat /proc/cpuinfo | grep name | uniq&lt;br /&gt;
model name      : Intel(R) Xeon(R) CPU E31240 @ 3.30GHz&lt;br /&gt;
&lt;br /&gt;
eclipse shared # findmnt /media/raid&lt;br /&gt;
TARGET      SOURCE           FSTYPE OPTIONS&lt;br /&gt;
/media/raid /dev/mapper/raid ext4   rw,relatime,stripe=384,data=ordered&lt;br /&gt;
&lt;br /&gt;
eclipse shared # cat /sys/block/md0/md/stripe_cache_size&lt;br /&gt;
32768&lt;br /&gt;
&lt;br /&gt;
eclipse shared # lshw -short -C disk&lt;br /&gt;
H/W path             Device     Class       Description&lt;br /&gt;
=======================================================&lt;br /&gt;
/0/100/1/0/0.0.0     /dev/sdc   disk        4TB ST4000VN000-1H41&lt;br /&gt;
/0/100/1/0/0.1.0     /dev/sdd   disk        4TB ST4000VN000-1H41&lt;br /&gt;
/0/100/1/0/0.2.0     /dev/sde   disk        4TB ST4000DM000-1F21&lt;br /&gt;
/0/100/1/0/0.3.0     /dev/sdf   disk        4TB ST4000VN000-1H41&lt;br /&gt;
/0/100/1/0/0.4.0     /dev/sdg   disk        4TB ST4000VN000-1H41&lt;br /&gt;
/0/100/1/0/0.5.0     /dev/sdh   disk        4TB ST4000VN000-1H41&lt;br /&gt;
/0/1/0.0.0           /dev/sda   disk        128GB Samsung SSD 840&lt;br /&gt;
/0/2/0.0.0           /dev/sdb   disk        60GB OCZ-VERTEX3&lt;br /&gt;
&lt;br /&gt;
eclipse shared # lsblk&lt;br /&gt;
NAME     MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT&lt;br /&gt;
sda        8:0    0 119.2G  0 disk&lt;br /&gt;
├─sda1     8:1    0    32M  0 part&lt;br /&gt;
├─sda2     8:2    0   512M  0 part  [SWAP]&lt;br /&gt;
└─sda3     8:3    0 118.7G  0 part  /&lt;br /&gt;
sdb        8:16   0  55.9G  0 disk&lt;br /&gt;
├─sdb1     8:17   0   243M  0 part&lt;br /&gt;
├─sdb2     8:18   0   488M  0 part&lt;br /&gt;
└─sdb3     8:19   0  55.2G  0 part&lt;br /&gt;
sdc        8:32   0   3.7T  0 disk&lt;br /&gt;
└─md0      9:0    0  14.6T  0 raid6&lt;br /&gt;
  └─raid 251:0    0  14.6T  0 crypt /media/raid&lt;br /&gt;
sdd        8:48   0   3.7T  0 disk&lt;br /&gt;
└─md0      9:0    0  14.6T  0 raid6&lt;br /&gt;
  └─raid 251:0    0  14.6T  0 crypt /media/raid&lt;br /&gt;
sde        8:64   0   3.7T  0 disk&lt;br /&gt;
└─md0      9:0    0  14.6T  0 raid6&lt;br /&gt;
  └─raid 251:0    0  14.6T  0 crypt /media/raid&lt;br /&gt;
sdf        8:80   0   3.7T  0 disk&lt;br /&gt;
└─md0      9:0    0  14.6T  0 raid6&lt;br /&gt;
  └─raid 251:0    0  14.6T  0 crypt /media/raid&lt;br /&gt;
sdg        8:96   0   3.7T  0 disk&lt;br /&gt;
└─md0      9:0    0  14.6T  0 raid6&lt;br /&gt;
  └─raid 251:0    0  14.6T  0 crypt /media/raid&lt;br /&gt;
sdh        8:112  0   3.7T  0 disk&lt;br /&gt;
└─md0      9:0    0  14.6T  0 raid6&lt;br /&gt;
  └─raid 251:0    0  14.6T  0 crypt /media/raid&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Results ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
eclipse shared # pwd&lt;br /&gt;
/media/raid/shared&lt;br /&gt;
&lt;br /&gt;
eclipse shared # dd if=/dev/zero of=file bs=64M count=100 conv=fdatasync&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 19.4577 s, 345 MB/s&lt;br /&gt;
eclipse shared # dd if=/dev/zero of=file bs=64M count=100 conv=fdatasync&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 19.4899 s, 344 MB/s&lt;br /&gt;
eclipse shared # dd if=/dev/zero of=file bs=64M count=100 conv=fdatasync&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 19.7158 s, 340 MB/s&lt;br /&gt;
eclipse shared # dd if=/dev/zero of=file bs=64M count=100 conv=fdatasync&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 19.4337 s, 345 MB/s&lt;br /&gt;
&lt;br /&gt;
eclipse shared # echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;br /&gt;
eclipse shared # dd if=file of=/dev/null bs=64M&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 11.4224 s, 588 MB/s&lt;br /&gt;
eclipse shared # echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;br /&gt;
eclipse shared # dd if=file of=/dev/null bs=64M&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 11.3578 s, 591 MB/s&lt;br /&gt;
eclipse shared # echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;br /&gt;
eclipse shared # dd if=file of=/dev/null bs=64M&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 11.1645 s, 601 MB/s&lt;br /&gt;
eclipse shared # echo 3 &amp;gt; /proc/sys/vm/drop_caches&lt;br /&gt;
eclipse shared # dd if=file of=/dev/null bs=64M&lt;br /&gt;
100+0 records in&lt;br /&gt;
100+0 records out&lt;br /&gt;
6710886400 bytes (6.7 GB) copied, 11.1897 s, 600 MB/s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Tmux</id>
		<title>Tmux</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Tmux"/>
				<updated>2015-03-08T21:15:46Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Setting environment variables == Press &amp;lt;code&amp;gt;CTRL+B&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; (colon)&amp;lt;br /&amp;gt; Type the following: &amp;lt;pre&amp;gt; set-environment ENV_VAR VALUE &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setting environment variables ==&lt;br /&gt;
Press &amp;lt;code&amp;gt;CTRL+B&amp;lt;/code&amp;gt; and then &amp;lt;code&amp;gt;:&amp;lt;/code&amp;gt; (colon)&amp;lt;br /&amp;gt;&lt;br /&gt;
Type the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
set-environment ENV_VAR VALUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Debian/dpkg</id>
		<title>Debian/dpkg</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Debian/dpkg"/>
				<updated>2015-02-04T06:32:27Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Find out which package a file belongs to == &amp;lt;pre&amp;gt; dpkg -S `readlink -f /path/to/java` &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Find out which package a file belongs to ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dpkg -S `readlink -f /path/to/java`&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Git</id>
		<title>Git</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Git"/>
				<updated>2015-01-16T03:20:05Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Undo last commit and KEEP changes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git reset --soft HEAD~1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Undo last commit and LOSE changes ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git reset --hard HEAD~1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== List all remote branches ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git ls-remote --heads &amp;lt;remote-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;remote-name&amp;lt;/code&amp;gt; is usually something like &amp;lt;code&amp;gt;origin&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Checkout remote branch and set it up for tracking ==&lt;br /&gt;
Note: These instructions are specific to having cloned in this manner: &amp;lt;code&amp;gt;git clone -b &amp;lt;branch-name&amp;gt; --single-branch&amp;lt;/code&amp;gt; as it only tracks the branch chosen at clone time.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git fetch origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote set-branches origin &amp;lt;branch-name&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Show contents of merge commit ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git show -m [SHA1]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where &amp;lt;code&amp;gt;-m&amp;lt;/code&amp;gt; means maximum verbosity, automatically implied only with non-merge commits&lt;br /&gt;
&lt;br /&gt;
== View pretty git history on the console ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global alias.lol &amp;quot;log --oneline --graph --decorate&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git lol&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Cache CLI credentials for a certain period of time ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global credential.helper cache&lt;br /&gt;
git config --global credential.helper &amp;#039;cache --timeout=86400&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Linux/Agnostic</id>
		<title>Linux/Agnostic</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Linux/Agnostic"/>
				<updated>2015-01-16T03:01:33Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Finding out file creation time == Only available on &amp;lt;strong&amp;gt;ext4&amp;lt;/strong&amp;gt;.&amp;lt;br /&amp;gt; Use the &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt; command - the file creation time will be denoted as the &amp;lt;code&amp;gt;Bir...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Finding out file creation time ==&lt;br /&gt;
Only available on &amp;lt;strong&amp;gt;ext4&amp;lt;/strong&amp;gt;.&amp;lt;br /&amp;gt;&lt;br /&gt;
Use the &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt; command - the file creation time will be denoted as the &amp;lt;code&amp;gt;Birth&amp;lt;/code&amp;gt; time.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@milos-debian:~# stat .bashrc&lt;br /&gt;
  File: `.bashrc&amp;#039;&lt;br /&gt;
  Size: 570             Blocks: 8          IO Block: 4096   regular file&lt;br /&gt;
Device: fe01h/65025d    Inode: 391924      Links: 1&lt;br /&gt;
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)&lt;br /&gt;
Access: 2015-01-16 01:05:05.172328004 +1300&lt;br /&gt;
Modify: 2010-02-01 00:52:26.000000000 +1300&lt;br /&gt;
Change: 2014-10-27 16:41:41.178458115 +1300&lt;br /&gt;
 Birth: -&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it shows up as &amp;lt;code&amp;gt;&amp;amp;mdash;&amp;lt;/code&amp;gt; (as above), then the &amp;lt;code&amp;gt;stat&amp;lt;/code&amp;gt; command does not yet support getting this information from the kernel. Thankfully, you can still get the birth time using &amp;lt;code&amp;gt;debugfs&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;debugfs -R &amp;#039;stat &amp;lt;inode_number&amp;gt;&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;The angle quotes, &amp;lt; and &amp;gt;, are required!&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Find the file&amp;#039;s inode number (&amp;lt;code&amp;gt;ls -li &amp;lt;file&amp;gt;&amp;lt;/code&amp;gt;):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
root@milos-debian:~# ls -li .bashrc&lt;br /&gt;
391924 -rw-r--r-- 1 root root 570 Feb  1  2010 .bashrc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And then use it:&lt;br /&gt;
&amp;lt;pre&amp;gt;root@milos-debian:~# debugfs -R &amp;#039;stat &amp;lt;391924&amp;gt;&amp;#039; /dev/vda1&lt;br /&gt;
Inode: 391924   Type: regular    Mode:  0644   Flags: 0x80000&lt;br /&gt;
Generation: 2468252752    Version: 0x00000000:00000001&lt;br /&gt;
User:     0   Group:     0   Size: 570&lt;br /&gt;
File ACL: 0    Directory ACL: 0&lt;br /&gt;
Links: 1   Blockcount: 8&lt;br /&gt;
Fragment:  Address: 0    Number: 0    Size: 0&lt;br /&gt;
 ctime: 0x544dbef5:2a8c380c -- Mon Oct 27 16:41:41 2014&lt;br /&gt;
 atime: 0x54b7acf1:29161110 -- Fri Jan 16 01:05:05 2015&lt;br /&gt;
 mtime: 0x4b656efa:00000000 -- Mon Feb  1 00:52:26 2010&lt;br /&gt;
crtime: 0x544dbef5:2a8c380c -- Mon Oct 27 16:41:41 2014&lt;br /&gt;
Size of extra inode fields: 28&lt;br /&gt;
EXTENTS:&lt;br /&gt;
(0):1606693&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Debian//etc/network/interfaces</id>
		<title>Debian//etc/network/interfaces</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Debian//etc/network/interfaces"/>
				<updated>2015-01-07T07:59:33Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= DHCP setup = &amp;lt;pre&amp;gt; auto eth0 iface eth0 inet dhcp &amp;lt;/pre&amp;gt;  = Static IP setup = &amp;lt;pre&amp;gt; auto eth0 iface eth0 inet static 	address 192.168.100.2 	netmask 255.255.255.248 	gateway...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DHCP setup =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet dhcp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Static IP setup =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0&lt;br /&gt;
iface eth0 inet static&lt;br /&gt;
	address 192.168.100.2&lt;br /&gt;
	netmask 255.255.255.248&lt;br /&gt;
	gateway 192.168.100.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Secondary IP / alias interface setup =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0:0&lt;br /&gt;
iface eth0:0 inet static&lt;br /&gt;
	address 123.123.123.123&lt;br /&gt;
	netmask 255.255.255.255&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Extra startup commands =&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto eth0:0&lt;br /&gt;
iface eth0:0 inet static&lt;br /&gt;
	address 123.123.123.123&lt;br /&gt;
	netmask 255.255.255.255&lt;br /&gt;
	up ip route change default via 192.168.100.1 dev eth0 src 123.123.123.123&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Windows/TabletPCSettings</id>
		<title>Windows/TabletPCSettings</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Windows/TabletPCSettings"/>
				<updated>2014-12-08T16:40:16Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= Opening Table PC Settings via Command Prompt = For an unknown reason, Tablet PC Settings can disappear from Control Panel. To open it using Command Prompt, run the following...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Opening Table PC Settings via Command Prompt =&lt;br /&gt;
For an unknown reason, Tablet PC Settings can disappear from Control Panel. To open it using Command Prompt, run the following command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
%windir%\explorer.exe shell:::{80F3F1D5-FECA-45F3-BC32-752C152E456E}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Ffmpeg</id>
		<title>Ffmpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Ffmpeg"/>
				<updated>2014-11-05T05:28:09Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Common arguments == &amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; position, in seconds or hh:mm:ss[.xxx]&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; duration from start position&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;-acodec&amp;lt;/code&amp;gt; audio codec&amp;lt;br /&amp;gt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;code&amp;gt;-ss&amp;lt;/code&amp;gt; position, in seconds or hh:mm:ss[.xxx]&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; duration from start position&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-acodec&amp;lt;/code&amp;gt; audio codec&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-vcodec&amp;lt;/code&amp;gt; video codec&lt;br /&gt;
&lt;br /&gt;
== Snip media from a start time for a specified duration ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ffmpeg -ss 00:00:30 -t 00:00:05 -i orginalfile -vcodec copy -acodec copy newfile&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Core_dump</id>
		<title>Core dump</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Core_dump"/>
				<updated>2014-10-17T14:27:56Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= Enabling core dumps = The core file size is 0 by default, which results in no core being generated: &amp;lt;pre&amp;gt; sh# ulimit -a core file size          (blocks, -c) 0 ... ... ... &amp;lt;/...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Enabling core dumps =&lt;br /&gt;
The core file size is 0 by default, which results in no core being generated:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh# ulimit -a&lt;br /&gt;
core file size          (blocks, -c) 0&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set it to unlimited:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sh# ulimit -c unlimited&lt;br /&gt;
sh# ulimit -a&lt;br /&gt;
core file size          (blocks, -c) unlimited&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ensure that the core is written to a writeable area of the system, such as &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt;, by modifying the value of &amp;lt;code&amp;gt;/proc/sys/kernel/core_pattern&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
echo &amp;quot;/tmp/core.%e.%p.%h.%t&amp;quot; &amp;gt; /proc/sys/kernel/core_pattern&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;%e&amp;lt;/code&amp;gt; program name&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;%p&amp;lt;/code&amp;gt; pid&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;%h&amp;lt;/code&amp;gt; hostname&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;%t&amp;lt;/code&amp;gt; timestamp&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Setfacl</id>
		<title>Setfacl</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Setfacl"/>
				<updated>2014-09-21T11:52:56Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= Common arguments = &amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; remove all ACL entries  = What is that weird plus sign in ls -l output? =  It means the file has ACLs associated with it.  &amp;lt;pre&amp;gt; -rw------...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Common arguments =&lt;br /&gt;
&amp;lt;code&amp;gt;-b&amp;lt;/code&amp;gt; remove all ACL entries&lt;br /&gt;
&lt;br /&gt;
= What is that weird plus sign in ls -l output? =&lt;br /&gt;
&lt;br /&gt;
It means the file has ACLs associated with it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw-------+ 1 root  root   8569 Sep 21 01:43 file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove them all:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
setfacl -b file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now it&amp;#039;s gone.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-rw------- 1 root  root   8569 Sep 21 01:43 file.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Cryptsetup</id>
		<title>Cryptsetup</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Cryptsetup"/>
				<updated>2014-08-18T13:35:30Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--verify-passphrase, -y&lt;br /&gt;
              When interactively asking for a passphrase, ask for it twice and&lt;br /&gt;
              complain  if  both  inputs do not match. Advised when creating a&lt;br /&gt;
              regular mapping for the first time, or when running  luksFormat.&lt;br /&gt;
              Ignored on input from file or stdin.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
--verbose, -v&lt;br /&gt;
              Print more information on command execution.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Create LUKS partition ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksFormat -y -v /path/to/device&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Mount LUKS partition ==&lt;br /&gt;
First unlock the partition&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen /path/to/device device-name&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then mount it&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount /dev/mapper/device-name /path/to/mountpoint&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test existing passphrase ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cryptsetup luksOpen --test-passphrase /path/to/device&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Gai.conf</id>
		<title>Gai.conf</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Gai.conf"/>
				<updated>2014-08-17T04:30:41Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= Prefer IPv4 over IPv6 = Uncomment the following line: &amp;lt;pre&amp;gt; #precedence ::ffff:0:0/96  100 &amp;lt;/pre&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Prefer IPv4 over IPv6 =&lt;br /&gt;
Uncomment the following line:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#precedence ::ffff:0:0/96  100&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Mount</id>
		<title>Mount</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Mount"/>
				<updated>2014-07-27T16:18:36Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Mount disk image ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -oloop,offset=1048576 image.img /mnt/destination&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;offset&amp;lt;/code&amp;gt; offset (to partition) in bytes&lt;br /&gt;
&lt;br /&gt;
== Mount CIFS network share ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mount -ousername=user,noperm //192.168.2.2/share /mnt/mountpoint&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;noperm&amp;lt;/code&amp;gt; client does not do permission checks&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Virt-install</id>
		<title>Virt-install</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Virt-install"/>
				<updated>2014-07-23T09:50:13Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Define and start libvirt virtual machine == &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;virt-install --name softeng306 --ram 512 --disk /path/to/image.img,format=qcow2 --cdrom /path/to/ubuntu-14.0...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Define and start libvirt virtual machine ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;virt-install --name softeng306 --ram 512 --disk /path/to/image.img,format=qcow2 --cdrom /path/to/ubuntu-14.04-server-amd64.iso --graphics vnc,listen=0.0.0.0 --noautoconsole&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Cryptography/EncryptionComparison</id>
		<title>Cryptography/EncryptionComparison</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Cryptography/EncryptionComparison"/>
				<updated>2014-07-17T02:16:40Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= DES vs 3DES vs AES = http://stackoverflow.com/questions/5554526/comparison-of-des-triple-des-aes-blowfish-encryption-for-data&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= DES vs 3DES vs AES =&lt;br /&gt;
http://stackoverflow.com/questions/5554526/comparison-of-des-triple-des-aes-blowfish-encryption-for-data&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Wget</id>
		<title>Wget</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Wget"/>
				<updated>2014-07-09T23:33:20Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;code&amp;gt;-O&amp;lt;/code&amp;gt; output file&lt;br /&gt;
&lt;br /&gt;
== Download a file to a specific location ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget http://www.google.com/ -O /dev/null&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Netstat</id>
		<title>Netstat</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Netstat"/>
				<updated>2014-07-09T23:21:24Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;= Common arguments = &amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; include tcp&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt; include udp&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; show only listening sockets&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; show PID and program...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Common arguments =&lt;br /&gt;
&amp;lt;code&amp;gt;-t&amp;lt;/code&amp;gt; include tcp&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt; include udp&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-l&amp;lt;/code&amp;gt; show only listening sockets&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; show PID and program name&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-n&amp;lt;/code&amp;gt; show numeric addresses&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Who is listening on what port? ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
netstat -tulpn&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Curl</id>
		<title>Curl</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Curl"/>
				<updated>2014-07-08T11:12:58Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;code&amp;gt;-I&amp;lt;/code&amp;gt; request header only&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-L&amp;lt;/code&amp;gt; use with &amp;lt;code&amp;gt;-I&amp;lt;/code&amp;gt; to follow redirects&lt;br /&gt;
&lt;br /&gt;
== Check response headers ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
curl -I http://www.google.com/&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Socat</id>
		<title>Socat</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Socat"/>
				<updated>2014-07-05T02:43:47Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Forward TCP packets == &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; socat TCP-LISTEN:[local_port],fork TCP:[remote_host]:[remote_port] &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Forward TCP packets ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
socat TCP-LISTEN:[local_port],fork TCP:[remote_host]:[remote_port]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Sed</id>
		<title>Sed</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Sed"/>
				<updated>2014-07-04T03:09:47Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Get lines between two line numbers == &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; sed -n &amp;#039;156559,157787p&amp;#039; Master.csv &amp;lt;/source&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Get lines between two line numbers ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sed -n &amp;#039;156559,157787p&amp;#039; Master.csv&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Scp</id>
		<title>Scp</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Scp"/>
				<updated>2014-07-04T01:40:02Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Created page with &amp;quot;== Common arguments == &amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; recursive&amp;lt;br /&amp;gt; &amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt; port number (default 22)  == Push a file == &amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt; scp ./path/to/source user@host:/path/to...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;code&amp;gt;-r&amp;lt;/code&amp;gt; recursive&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-P&amp;lt;/code&amp;gt; port number (default 22)&lt;br /&gt;
&lt;br /&gt;
== Push a file ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp ./path/to/source user@host:/path/to/destination&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull a file ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
scp user@host:/path/to/source ./path/to/destination&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Rsync</id>
		<title>Rsync</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Rsync"/>
				<updated>2014-06-30T12:01:34Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;code&amp;gt;-a&amp;lt;/code&amp;gt; same as &amp;lt;code&amp;gt;--archive&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-v&amp;lt;/code&amp;gt; same as &amp;lt;code&amp;gt;--verbose&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-x&amp;lt;/code&amp;gt; same as &amp;lt;code&amp;gt;--one-file-system&amp;lt;/code&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-z&amp;lt;/code&amp;gt; compress files over the network&lt;br /&gt;
&lt;br /&gt;
== Push ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rsync -avx /path/to/source user@host:/path/to/destination&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rsync -avx user@host:/path/to/source /path/to/destination&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Pull via SSH ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
rsync -avx --progress -e &amp;#039;ssh -p 1080&amp;#039; --exclude-from=EXCLUDE_FILESOURCE_IP:/ /&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; to specify alternate SSH port&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/SSH</id>
		<title>SSH</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/SSH"/>
				<updated>2014-06-30T11:49:10Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Common arguments ==&lt;br /&gt;
&amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; port number (default 22)&lt;br /&gt;
&lt;br /&gt;
== Upload SSH public key to remote host ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cat /root/.ssh/id_rsa.pub | ssh root@remotehost &amp;#039;cat &amp;gt;&amp;gt; /root/.ssh/authorized_keys&amp;#039;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Generate public/private RSA key-pair ==&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh-keygen -t rsa -C &amp;#039;user@host.com&amp;#039;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Test private key passpharse ==&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh-keygen -y&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Find</id>
		<title>Find</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Find"/>
				<updated>2014-06-30T11:03:12Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Between dates ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find / -newermt &amp;quot;27 Dec 2013&amp;quot; ! -newermt &amp;quot;1 Jan 2014&amp;quot;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-newermt&amp;lt;/code&amp;gt; newer than specified modification time&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;!&amp;lt;/code&amp;gt; invert proceeding condition&lt;br /&gt;
&lt;br /&gt;
== Several matches ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find / -xdev \( -name .DS_Store -o -name ._.DS_Store \)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-xdev&amp;lt;/code&amp;gt; stay on the current filesystem&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-o&amp;lt;/code&amp;gt; logical OR, use parentheses for clarity - must be escaped in bash&lt;br /&gt;
&lt;br /&gt;
== Find files and do something with each ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -type f -print0 | xargs -0 &amp;lt;command&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-print0&amp;lt;/code&amp;gt; print the full file name on the standard output, followed by a null character (instead of the newline character that -print uses)&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-0&amp;lt;/code&amp;gt; input items are terminated by a null character instead of by whitespace, and the quotes and backslash are not special (every character is taken literally)&lt;br /&gt;
&lt;br /&gt;
== For each directory, set the directory mtime to the oldest file&amp;#039;s mtime ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
oldest() { local file oldest; for file in &amp;quot;${1:-.}&amp;quot;/*; do [ &amp;quot;$file&amp;quot; -ot &amp;quot;$oldest&amp;quot; -o -z &amp;quot;$oldest&amp;quot; ] &amp;amp;&amp;amp; oldest=$file; done; touch -r &amp;quot;$oldest&amp;quot; &amp;quot;$0&amp;quot;;&lt;br /&gt;
export -f oldest&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -type d -exec sh -c &amp;#039;oldest &amp;quot;$0&amp;quot;&amp;#039; {} \;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Total size of all files found ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
find . -type f -iname &amp;#039;*.CR2&amp;#039; -print0 | du --files0-from=- -hc | tail -n1&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/MySQL</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/MySQL"/>
				<updated>2014-06-25T02:13:10Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: Fixed headings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Command-line ==&lt;br /&gt;
=== Common arguments ===&lt;br /&gt;
&amp;lt;code&amp;gt;-h&amp;lt;/code&amp;gt; remote host&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-u&amp;lt;/code&amp;gt; remote user&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; requires password&lt;br /&gt;
&lt;br /&gt;
=== Connect to remote MySQL server ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql -h remote.host.com -u remoteuser -p&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== User management ==&lt;br /&gt;
&lt;br /&gt;
=== Adding a user ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
grant all privileges on {database_name}.* to {database_user}@&amp;#039;%&amp;#039; identified by &amp;#039;their_password&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Revoking privileges ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
revoke usage on {databse_name}.* from {database_user}@&amp;#039;%&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Removing a user ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
drop user {database_user}@&amp;#039;%&amp;#039;;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Triggers ==&lt;br /&gt;
&lt;br /&gt;
=== Before ===&lt;br /&gt;
* OLD table name does not exist here&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
create trigger {trigger_name} before [update|insert|delete] on {table_name}&lt;br /&gt;
	for each row begin&lt;br /&gt;
		insert into {new_table} (col1, col2, col3) values (OLD.col1, OLD.col2, OLD.col3)&lt;br /&gt;
	end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== After ===&lt;br /&gt;
* OLD and NEW table names can be used to access the old value and the new value respectively&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
create trigger {trigger_name} after [update|insert|delete] on {table_name}&lt;br /&gt;
	for each row begin&lt;br /&gt;
		insert into {new_table} (col1, col2, col3) values (OLD.col1, NEW.col2, OLD.col3)&lt;br /&gt;
	end&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Importing ==&lt;br /&gt;
&lt;br /&gt;
=== From CSV ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;mysql&amp;quot;&amp;gt;&lt;br /&gt;
load data local infile &amp;#039;file_name.csv&amp;#039; into table table_name&lt;br /&gt;
	fields terminated by &amp;#039;,&amp;#039; enclosed by &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
	lines terminated by &amp;#039;\n&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	(col1, col2, coln, ...)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Milosivanovic</name></author>	</entry>

	<entry>
		<id>https://wiki.ivanovic.nz/Main_Page</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.ivanovic.nz/Main_Page"/>
				<updated>2014-06-24T23:28:52Z</updated>
		
		<summary type="html">&lt;p&gt;Milosivanovic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;strong&amp;gt;Hi.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is a personal wiki packed with things that are useful to me. If they are also useful to you, feel free to bookmark relevant pages.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;mdash; &amp;#039;&amp;#039;Milos&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
= All pages =&lt;br /&gt;
{{Special:AllPages}}&lt;/div&gt;</summary>
		<author><name>MediaWiki default</name></author>	</entry>

	</feed>