slaskdot Jekyll 2015-03-23T00:39:45+01:00 https://slaskdot.org/ John Johannessen https://slaskdot.org/ johnj@slaskdot.org <![CDATA[Graphing DNS queries with bindgraph]]> https://slaskdot.org/2013/08/22/graphing-dns-queries-with-bindgraph/ https://slaskdot.org/2013/08/22/graphing-dns-queries-with-bindgraph 2013-08-22T11:56:52+02:00 2013-08-22T11:56:52+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <p><a href="http://www.linux.it/~md/software/">Bindgraph</a> is a tool that allow us to make graphs over queries resolved by our DNS servers. </p> <p>To be able to use bindgraph, we need to configure <a href="http://www.bind9.net/">bind</a> to store its queries in a log file that bindgraph can read.</p> <h2 id="installing-bindgraph">Installing bindgraph</h2> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> apt-get install bindgraph</code></pre></div> <h2 id="enabling-logging-in-bind9">Enabling logging in bind9</h2> <p>Add the following line in <code>/etc/bind/named.conf</code>, right after the other includes.</p> <div class="highlight"><pre><code class="language-bash" data-lang="bash">include <span class="s2">&quot;/etc/bind/named.conf.log&quot;</span><span class="p">;</span></code></pre></div> <p>In <code>/etc/bind/named.conf.log</code> add the following configuration:</p> <div class="highlight"><pre><code class="language-bash" data-lang="bash">logging <span class="o">{</span> category security <span class="o">{</span> security_channel<span class="p">;</span> default<span class="p">;</span> <span class="o">}</span><span class="p">;</span> category lame-servers <span class="o">{</span> null<span class="p">;</span> <span class="o">}</span><span class="p">;</span> category default <span class="o">{</span> default<span class="p">;</span> <span class="o">}</span><span class="p">;</span> category queries <span class="o">{</span> querylog<span class="p">;</span> <span class="o">}</span><span class="p">;</span> channel security_channel <span class="o">{</span> file <span class="s2">&quot;/var/log/named/security.log&quot;</span><span class="p">;</span> severity debug<span class="p">;</span> print-time yes<span class="p">;</span> print-category yes<span class="p">;</span> print-severity yes<span class="p">;</span> <span class="o">}</span><span class="p">;</span> channel default <span class="o">{</span> file <span class="s2">&quot;/var/log/named/bind.log&quot;</span> versions <span class="m">3</span> size 5m<span class="p">;</span> severity warning<span class="p">;</span> print-time yes<span class="p">;</span> print-category yes<span class="p">;</span> print-severity yes<span class="p">;</span> <span class="o">}</span><span class="p">;</span> channel <span class="s2">&quot;querylog&quot;</span> <span class="o">{</span> file <span class="s2">&quot;/var/log/named/bind-queries.log&quot;</span><span class="p">;</span> print-time yes<span class="p">;</span> print-category yes<span class="p">;</span> <span class="o">}</span><span class="p">;</span> <span class="o">}</span><span class="p">;</span></code></pre></div> <p>Now we have enabled logging in bind9, but we also need to create the folder its going to write its log files to and set the right permissions.</p> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> mkdir /var/log/named <span class="gp">#</span> chown <span class="nb">bind</span>:bind /var/log/named/</code></pre></div> <h2 id="configuring-bindgraph">Configuring bindgraph</h2> <p>In <code>/etc/default/bindgraph</code> edit the line starting with <code>DNS_LOG</code> so that it points to the correct log file.</p> <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="nv">DNS_LOG</span><span class="o">=</span>/var/log/named/bind-queries.log</code></pre></div> <p>Last thing we need to do, is to restart bind9 and bindgraph services.</p> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> service bind9 restart <span class="gp">#</span> service bindgraph restart</code></pre></div> <h2 id="viewing-the-graphs">Viewing the graphs</h2> <p>To be able to see the graphs, bindgraph has a CGI front end, so we need an web server that can show us the graphs, I’m using Apache for this.</p> <p>Just install Apache with <code>apt-get install apache2</code> and point your web browser to &lt;FQDN-of-dns-server/cgi-bin/bindgraph.cgi&gt;.</p> <p><img src="/images/bindgraph_graph.png" alt="Bindgraph Hourly" /></p> <p><a href="https://slaskdot.org/2013/08/22/graphing-dns-queries-with-bindgraph/">Graphing DNS queries with bindgraph</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on August 22, 2013.</p> <![CDATA[How to open a port range in ufw]]> https://slaskdot.org/2013/08/20/how-to-open-a-port-range-in-ufw/ https://slaskdot.org/2013/08/20/how-to-open-a-port-range-in-ufw 2013-08-20T12:46:52+02:00 2013-08-20T12:46:52+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <p>I’m a big user of <a href="http://mosh.mit.edu/">Mosh</a> when I’m out and about. Mosh uses UDP ports to connect back to the server, and this port range needs to be open on the server. By default Mosh uses the first available UDP port, starting at 60001 and stopping at 60999.</p> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">ufw allow proto udp to any port 60001:60999</span></code></pre></div> <p>I use <a href="https://launchpad.net/ufw">ufw</a> on my servers, as an easy front end to <a href="http://en.wikipedia.org/wiki/Iptables">iptables</a>.</p> <p><a href="https://slaskdot.org/2013/08/20/how-to-open-a-port-range-in-ufw/">How to open a port range in ufw</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on August 20, 2013.</p> <![CDATA[Getting real IP addresses using CloudFlare and Nginx]]> https://slaskdot.org/2013/08/20/getting_real_ip_addresses_using_cloudflare_and_nginx/ https://slaskdot.org/2013/08/20/getting_real_ip_addresses_using_cloudflare_and_nginx 2013-08-20T01:21:26+02:00 2013-08-20T01:21:26+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <h2 id="before-you-start">Before you start</h2> <p>Before you start, you have to check if your <a href="http://nginx.org">nginx</a> have been compiled with <code>--with-http_realip_module</code>, you do that by running the command <code>nginx -V</code> and look for the module.</p> <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="c"># nginx -V</span> nginx version: nginx/1.2.1 TLS SNI support enabled configure arguments: --prefix<span class="o">=</span>/etc/nginx --conf-path<span class="o">=</span>/etc/nginx/nginx.conf --error-log-path<span class="o">=</span>/var/log/nginx/error.log --http-client-body-temp-path<span class="o">=</span>/var/lib/nginx/body --http-fastcgi-temp-path<span class="o">=</span>/var/lib/nginx/fastcgi --http-log-path<span class="o">=</span>/var/log/nginx/access.log --http-proxy-temp-path<span class="o">=</span>/var/lib/nginx/proxy --http-scgi-temp-path<span class="o">=</span>/var/lib/nginx/scgi --http-uwsgi-temp-path<span class="o">=</span>/var/lib/nginx/uwsgi --lock-path<span class="o">=</span>/var/lock/nginx.lock --pid-path<span class="o">=</span>/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-ipv6 --with-sha1<span class="o">=</span>/usr/include/openssl --with-md5<span class="o">=</span>/usr/include/openssl --with-mail --with-mail_ssl_module --add-module<span class="o">=</span>/tmp/buildd/nginx-1.2.1/debian/modules/nginx-auth-pam --add-module<span class="o">=</span>/tmp/buildd/nginx-1.2.1/debian/modules/nginx-echo --add-module<span class="o">=</span>/tmp/buildd/nginx-1.2.1/debian/modules/nginx-upstream-fair --add-module<span class="o">=</span>/tmp/buildd/nginx-1.2.1/debian/modules/nginx-dav-ext-module</code></pre></div> <p>This is my output from an standard <a href="http://www.debian.org">Debian</a> installed nginx package.</p> <h2 id="nginx-configuration">Nginx configuration</h2> <p>The documentation for HttpRealipModule module states that the configuration should be in either http, server or location context. You probably want to add these server wide, in <code>/etc/nginx/nginx.conf</code>. But this file is likely to be overwritten by an update, so I recommend to make a <code>cloudflare.conf</code>file in <code>/etc/nginx/conf.d</code>.</p> <h3 id="content-of-etcnginxconfdcloudflareconf">Content of /etc/nginx/conf.d/cloudflare.conf</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">set_real_ip_from 204.93.240.0/24;</span> <span class="go">set_real_ip_from 204.93.177.0/24;</span> <span class="go">set_real_ip_from 199.27.128.0/21;</span> <span class="go">set_real_ip_from 173.245.48.0/20;</span> <span class="go">set_real_ip_from 103.21.244.0/22;</span> <span class="go">set_real_ip_from 103.22.200.0/22;</span> <span class="go">set_real_ip_from 103.31.4.0/22;</span> <span class="go">set_real_ip_from 141.101.64.0/18;</span> <span class="go">set_real_ip_from 108.162.192.0/18;</span> <span class="go">set_real_ip_from 190.93.240.0/20;</span> <span class="go">set_real_ip_from 188.114.96.0/20;</span> <span class="go">set_real_ip_from 197.234.240.0/22;</span> <span class="go">set_real_ip_from 198.41.128.0/17;</span> <span class="go">set_real_ip_from 162.158.0.0/15;</span> <span class="go">set_real_ip_from 2400:cb00::/32;</span> <span class="go">set_real_ip_from 2606:4700::/32;</span> <span class="go">set_real_ip_from 2803:f800::/32;</span> <span class="go">set_real_ip_from 2405:b500::/32;</span> <span class="go">set_real_ip_from 2405:8100::/32;</span> <span class="go">real_ip_header CF-Connecting-IP;</span></code></pre></div> <p>CloudFlare do change their <a href="https://www.cloudflare.com/ips">IPs</a> from time to time (they keep an updated list online), and since we have the list of IPs in an separate file, its easy to automate an update of these.</p> <p>An update script would look something like this:</p> <div class="highlight"><pre><code class="language-bash" data-lang="bash"><span class="c">#! /bin/bash</span> <span class="c">#</span> <span class="c"># Update cloudflare.conf with new IPs</span> <span class="c">#</span> <span class="nv">cloudFlareConf</span><span class="o">=</span><span class="s2">&quot;/etc/nginx/conf.d/cloudflare.conf&quot;</span> <span class="nv">IPV4</span><span class="o">=</span><span class="k">$(</span>curl -s <span class="s2">&quot;https://www.cloudflare.com/ips-v4&quot;</span><span class="k">)</span> <span class="nv">IPV6</span><span class="o">=</span><span class="k">$(</span>curl -s <span class="s2">&quot;https://www.cloudflare.com/ips-v6&quot;</span><span class="k">)</span> <span class="nv">DATE</span><span class="o">=</span><span class="s2">&quot;$(date)&quot;</span> <span class="nb">echo</span> <span class="s2">&quot;# Last updated ${DATE}&quot;</span> &gt; <span class="k">${</span><span class="nv">cloudFlareConf</span><span class="k">}</span> <span class="k">for</span> IPV4ip in <span class="k">${</span><span class="nv">IPV4</span><span class="k">}</span> <span class="k">do</span> <span class="nb">echo</span> <span class="s2">&quot;set_real_ip_from ${IPV4ip};&quot;</span> &gt;&gt; <span class="k">${</span><span class="nv">cloudFlareConf</span><span class="k">}</span> <span class="k">done</span> <span class="k">for</span> IPV6ip in <span class="k">${</span><span class="nv">IPV6</span><span class="k">}</span> <span class="k">do</span> <span class="nb">echo</span> <span class="s2">&quot;set_real_ip_from ${IPV6ip};&quot;</span> &gt;&gt; <span class="k">${</span><span class="nv">cloudFlareConf</span><span class="k">}</span> <span class="k">done</span> <span class="nb">echo</span> <span class="s2">&quot;real_ip_header CF-Connecting-IP;&quot;</span> &gt;&gt; <span class="k">${</span><span class="nv">cloudFlareConf</span><span class="k">}</span></code></pre></div> <p><a href="https://slaskdot.org/2013/08/20/getting_real_ip_addresses_using_cloudflare_and_nginx/">Getting real IP addresses using CloudFlare and Nginx</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on August 20, 2013.</p> <![CDATA[HP Array Configuration Utility CLI for Linux]]> https://slaskdot.org/2013/08/19/hpacucli-utility-commands/ https://slaskdot.org/2013/08/19/hpacucli-utility-commands 2013-08-19T02:48:48+02:00 2013-08-19T02:48:48+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <p><a href="http://en.wikipedia.org/wiki/Hewlett-Packard">HP</a> <a href="http://h20000.www2.hp.com/bizsupport/TechSupport/SoftwareDescription.jsp?swItem=MTX-66b08e49c28f4bd49f4641ed80">Array Configuration Utility CLI</a> for Linux (hpacucli) is a program for controlling <a href="http://h18004.www1.hp.com/products/servers/proliantstorage/arraycontrollers/">HP Smart Array controllers</a>.</p> <p>To invoke the interactive shell, run the command <code>hpacucli</code>. for help run <code>hpacucli help</code>.</p> <h2 id="controller-commands">Controller Commands</h2> <h3 id="display-detail-of-controller">Display detail of Controller</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl all show config</span> <span class="go">hpacucli&gt; ctrl all show config detail</span></code></pre></div> <h3 id="display-status-of-controller">Display status of Controller</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl all show status</span></code></pre></div> <h3 id="enable-or-disable-the-cache">Enable or Disable the cache</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 modify dwc=disable</span> <span class="go">hpacucli&gt; ctrl slot=0 modify dwc=enable</span></code></pre></div> <h3 id="detects-newly-added-devices-since-the-last-rescan">Detects newly added devices since the last rescan</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; rescan</span></code></pre></div> <h2 id="physical-drive-commands">Physical Drive Commands</h2> <h3 id="display-detail-information-of-physicaldrive">Display detail information of physicalDrive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 pd all show</span> <span class="go">hpacucli&gt; ctrl slot=0 pd 2:3 show detail</span></code></pre></div> <h3 id="display-status-of-physicaldrive">Display Status of physicalDrive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 pd all show status</span> <span class="go">hpacucli&gt; ctrl slot=0 pd 2:3 show status</span></code></pre></div> <h3 id="to-erase-the-physicaldrive">To Erase the physicalDrive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 pd 2:3 modify erase</span></code></pre></div> <h3 id="to-enable-or-disable-the-led">To enable or Disable the LED</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 pd 2:3 modify led=on</span> <span class="go">hpacucli&gt; ctrl slot=0 pd 2:3 modify led=off</span></code></pre></div> <h2 id="logical-drive-commands">Logical Drive Commands</h2> <h3 id="display-detail-information-of-logicaldrive">Display detail information of LogicalDrive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 ld all show</span> <span class="go">hpacucli&gt; ctrl slot=0 ld 4 show</span></code></pre></div> <h3 id="display-status-of-logicaldrive">Display Status of LogicalDrive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 ld all show status</span> <span class="go">hpacucli&gt; ctrl slot=0 ld 4 show status</span></code></pre></div> <h3 id="to-re-enabling-failed-drive">To re-enabling failed drive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 ld 4 modify reenable forced</span></code></pre></div> <h3 id="create-logicaldrive-with-raid-0-using-one-drive">Create LogicalDrive with RAID 0 using one drive:</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 create type=ld drives=1:12 raid=0</span></code></pre></div> <h3 id="create-logicaldrive-with-raid-1-using-two-drives">Create LogicalDrive with RAID 1 using two drives:</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 create type=ld drives=1:13,1:14 size=300 raid=1</span></code></pre></div> <h3 id="create-logicaldrive-with-raid-5-using-five-drives">Create LogicalDrive with RAID 5 using five drives:</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 create type=ld drives=1:13,1:14,1:15,1:16,1:17 raid=5</span></code></pre></div> <h3 id="to-delete-logicaldrives">To Delete LogicalDrives</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 ld 4 delete</span></code></pre></div> <h3 id="expanding-logicaldrive-by-adding-one-more-drive">Expanding logicaldrive by adding one more drive</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 ld 4 add drives=2:3</span></code></pre></div> <h3 id="extending-the-logicaldrives">Extending the LogicalDrives</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 ld 4 modify size=500 forced</span></code></pre></div> <h3 id="add-two-spare-disks">Add two Spare disks</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">hpacucli&gt; ctrl slot=0 array all add spares=1:5,1:7</span></code></pre></div> <p><a href="https://slaskdot.org/2013/08/19/hpacucli-utility-commands/">HP Array Configuration Utility CLI for Linux</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on August 19, 2013.</p> <![CDATA[Clear cache on Bind9]]> https://slaskdot.org/2013/08/11/clear-cache-in-bind9/ https://slaskdot.org/2013/08/11/clear-cache-in-bind9 2013-08-11T21:34:34+02:00 2013-08-11T21:34:34+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <p>Its simple as:</p> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="go">rndc flush</span></code></pre></div> <p><a href="https://slaskdot.org/2013/08/11/clear-cache-in-bind9/">Clear cache on Bind9</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on August 11, 2013.</p> <![CDATA[Youtube Test]]> https://slaskdot.org/2013/07/28/youtube-test/ https://slaskdot.org/2013/07/28/youtube-test 2013-07-28T06:06:06+02:00 2013-07-28T06:06:06+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <p>Just testing a jekyll plugin for youtube videoes.</p> <style>.bt-video-container iframe,.bt-video-container object,.bt-video-container embed{position:absolute;top:0;left:0;width:100%;height:100%;margin-top:0}</style> <div class="bt-video-container" style="position:relative;padding-bottom:75.00%;padding-top:30px;height:0;overflow:hidden"><iframe width="480" height="360" src="http://www.youtube.com/embed/jeWS3HlHVk0?rel=0" frameborder="0" allowfullscreen=""></iframe></div> <p><a href="https://slaskdot.org/2013/07/28/youtube-test/">Youtube Test</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on July 28, 2013.</p> <![CDATA[Command Line Tools in Mavericks (Mac OS X 10.9)]]> https://slaskdot.org/2013/07/08/command-line-tools-in-mavericks/ https://slaskdot.org/2013/07/08/command-line-tools-in-mavericks 2013-07-08T01:10:56+02:00 2013-07-08T01:10:56+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <h2 id="things-have-changed">Things have changed</h2> <p>In previes releases of Xcode, you went into <code>Preferences</code> and then to the <code>Downloads</code> tab, and choose to download and install <code>Command Line Tools</code>. In Xcode 5 this have changed. It have been removed, and a new way is intodused. The best part of the new way, is that you don’t even have to install Xcode 5 to get Command Line Tools anymore.</p> <h2 id="the-new-way">The new way</h2> <ol> <li> <p>Open up an terminal (Terminal.app or iTerm2.app) <img src="/images/command_line_tools_step_01.png" alt="Step 01" /></p> </li> <li> <p>Enter the following command <code>xcode-select --install</code>. <img src="/images/command_line_tools_step_02.png" alt="Step 02" /> This will start a wizard that will help you install Command Line Tools in your installation of Mavericks.</p> </li> <li> <p>Click on “install” to start the installation wizzard. <img src="/images/command_line_tools_step_03.png" alt="Step 03" /></p> </li> <li> <p>Agree to the <code>License Agreement</code> <img src="/images/command_line_tools_step_04.png" alt="Step 04" /></p> </li> <li> <p>The Installation will ask you for admin rights and start the installation. <img src="/images/command_line_tools_step_05.png" alt="Step 05" /></p> </li> <li> <p>After the installation is complete, you have Command Line Tools installed.</p> </li> </ol> <p><a href="https://slaskdot.org/2013/07/08/command-line-tools-in-mavericks/">Command Line Tools in Mavericks (Mac OS X 10.9)</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on July 08, 2013.</p> <![CDATA[Homebrew Cask]]> https://slaskdot.org/2013/07/07/homebrew-cask/ https://slaskdot.org/2013/07/07/homebrew-cask 2013-07-07T06:24:24+02:00 2013-07-07T06:24:24+02:00 John Johannessen https://slaskdot.org johnj@slaskdot.org <p><a href="http://brew.sh/">Homebrew</a> is an package manager for OSX, that lets you easily install software that Apple did not ship with OSX. <a href="https://github.com/phinze/homebrew-cask">Homebrew Cask</a> is an extension to Homebrew, to install and keep control over Mac applications distributed as binaries.</p> <h2 id="installation">Installation</h2> <p>Open an terminal (Terminal.app or iTerm2.app) and type in the following commands.</p> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> brew tap phinze/homebrew-cask <span class="gp">#</span> brew install brew-cask</code></pre></div> <p>When they have run, you should have Homebrew Cask installed on your system.</p> <h2 id="usage">Usage</h2> <h3 id="list-installable-packages">List installable packages</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> brew cask search</code></pre></div> <h3 id="install-package">Install package</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> brew cask install google-chrome</code></pre></div> <h3 id="list-installed-packages">List installed packages</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> brew cask list</code></pre></div> <h3 id="remove-installed-packages">Remove installed packages</h3> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> brew cask uninstall</code></pre></div> <h2 id="the-applications-that-i-use">The applications that I use.</h2> <div class="highlight"><pre><code class="language-console" data-lang="console"><span class="gp">#</span> brew cask install alfred <span class="gp">#</span> brew cask install cord <span class="gp">#</span> brew cask install dropbox <span class="gp">#</span> brew cask install evernote <span class="gp">#</span> brew cask install f-lux <span class="gp">#</span> brew cask install firefox <span class="gp">#</span> brew cask install google-chrome <span class="gp">#</span> brew cask install istat-menus <span class="gp">#</span> brew cask install iterm2 <span class="gp">#</span> brew cask install the-unarchiver <span class="gp">#</span> brew cask install totalspaces <span class="gp">#</span> brew cask install tower <span class="gp">#</span> brew cask install transmit <span class="gp">#</span> brew cask install one-password <span class="gp">#</span> brew cask install spotify <span class="gp">#</span> brew cask install vlc <span class="gp">#</span> brew cask install sublime-text</code></pre></div> <p><a href="https://slaskdot.org/2013/07/07/homebrew-cask/">Homebrew Cask</a> was originally published by John Johannessen at <a href="https://slaskdot.org">slaskdot</a> on July 07, 2013.</p>