<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><meta name="generator" content="Astro v5.18.1"><title>UnixSherpa</title><meta name="description" content="A pragmatic collection of Unix and Linux solutions by Dan Reiland, Operations Engineer."><link rel="canonical" href="https://unixsherpa.com/"><!-- Open Graph --><meta property="og:type" content="website"><meta property="og:url" content="https://unixsherpa.com/"><meta property="og:title" content="UnixSherpa"><meta property="og:description" content="A pragmatic collection of Unix and Linux solutions by Dan Reiland, Operations Engineer."><!-- Favicon --><link rel="icon" type="image/x-icon" href="/favicon.ico"><!-- RSS autodiscovery --><link rel="alternate" type="application/rss+xml" title="UnixSherpa" href="/rss.xml"><!-- View Transitions --><meta name="astro-view-transitions-enabled" content="true"><meta name="astro-view-transitions-fallback" content="animate"><script type="module" src="/_astro/ClientRouter.astro_astro_type_script_index_0_lang.CDGfc0hd.js"></script><!-- Fonts: Fraunces (serif) + DM Sans (sans) --><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,700;0,9..144,900;1,9..144,300;1,9..144,700&family=DM+Sans:wght@300;400;500&display=swap" rel="stylesheet"><link rel="stylesheet" href="/_astro/_slug_.DvV3gcB9.css">
<style>.hero[data-astro-cid-j7pv25f6]{background:var(--black);min-height:60vh;display:flex;align-items:flex-end;padding:80px 6vw 72px}.hero__content[data-astro-cid-j7pv25f6]{max-width:var(--wide-width);margin:0 auto;width:100%}.hero__title[data-astro-cid-j7pv25f6]{font-family:var(--serif);font-size:clamp(48px,8vw,110px);font-weight:900;line-height:.95;color:var(--white);letter-spacing:-.03em;margin-bottom:32px;max-width:900px}.hero__title[data-astro-cid-j7pv25f6] em[data-astro-cid-j7pv25f6]{font-style:italic;font-weight:300;color:var(--gold-light);display:block}.hero__desc[data-astro-cid-j7pv25f6]{font-size:16px;line-height:1.75;font-weight:300;color:#fdfaf5a6;max-width:480px;margin-bottom:36px}.hero__desc[data-astro-cid-j7pv25f6] strong[data-astro-cid-j7pv25f6]{color:var(--white);font-weight:500}.hero__actions[data-astro-cid-j7pv25f6]{display:flex;gap:14px;flex-wrap:wrap}.hero[data-astro-cid-j7pv25f6] .eyebrow[data-astro-cid-j7pv25f6]{margin-bottom:32px}.hero[data-astro-cid-j7pv25f6] .btn--outline[data-astro-cid-j7pv25f6]{border-color:#fdfaf54d;color:var(--white)}.hero[data-astro-cid-j7pv25f6] .btn--outline[data-astro-cid-j7pv25f6]:hover{border-color:var(--white);background:#fdfaf514}.section__inner[data-astro-cid-j7pv25f6]{max-width:var(--wide-width);margin:0 auto}.section__hdr[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:40px;flex-wrap:wrap;gap:16px}.see-all[data-astro-cid-j7pv25f6]{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--rust);text-decoration:none;display:flex;align-items:center;gap:6px;transition:color .2s;padding-bottom:8px}.see-all[data-astro-cid-j7pv25f6]:hover{color:var(--black)}.post-list[data-astro-cid-j7pv25f6]{display:grid;gap:2px;background:var(--ink-10);border:1px solid var(--ink-10);border-radius:4px;overflow:hidden}.post-item[data-astro-cid-j7pv25f6]{background:var(--white);padding:24px 28px;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:20px;text-decoration:none;color:inherit;transition:background .2s}.post-item[data-astro-cid-j7pv25f6]:hover{background:var(--warm-white)}.post-item__date[data-astro-cid-j7pv25f6]{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-60);white-space:nowrap}.post-item__title[data-astro-cid-j7pv25f6]{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink);line-height:1.2}.post-item__cta[data-astro-cid-j7pv25f6]{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--rust);white-space:nowrap}@media(max-width:600px){.post-item[data-astro-cid-j7pv25f6]{grid-template-columns:1fr;gap:8px}.post-item__cta[data-astro-cid-j7pv25f6]{display:none}}
</style></head> <body> <nav class="nav" data-nav> <a href="/" class="nav__logo">UnixSherpa<span>.</span></a> <ul class="nav__links" id="site-nav-links"> <li><a href="/solution/">Solutions Log</a></li> <li><a href="/post/">Writing</a></li> <li><a href="/about/">About</a></li> <li><a href="/search/">Search</a></li> </ul> <button class="nav__hamburger" type="button" aria-label="Toggle menu" aria-expanded="false" aria-controls="site-nav-links"> <span></span><span></span><span></span> </button> </nav> <div class="page-wrap">   <section class="hero" data-astro-cid-j7pv25f6> <div class="hero__content" data-astro-cid-j7pv25f6> <p class="eyebrow eyebrow--gold" data-astro-cid-j7pv25f6>Operations Engineer &middot; Minneapolis, MN</p> <h1 class="hero__title" data-astro-cid-j7pv25f6>
Dreamers of the day<br data-astro-cid-j7pv25f6> <em data-astro-cid-j7pv25f6>are dangerous men.</em> </h1> <p class="hero__desc" data-astro-cid-j7pv25f6>
A pragmatic knowledge base for Unix and Linux systems engineers.
<strong data-astro-cid-j7pv25f6>Built from real problems. Documented so you don't have to look it up twice.</strong> </p> <div class="hero__actions" data-astro-cid-j7pv25f6> <a href="/solution/" class="btn btn--rust" data-astro-cid-j7pv25f6>Solutions Log</a> <a href="/about/" class="btn btn--outline" data-astro-cid-j7pv25f6>About</a> </div> </div> </section>  <section class="section" data-astro-cid-j7pv25f6> <div class="section__inner" data-astro-cid-j7pv25f6> <div class="section__hdr" data-astro-cid-j7pv25f6> <div data-astro-cid-j7pv25f6> <p class="eyebrow" data-astro-cid-j7pv25f6>Solutions Log</p> <h2 class="big-heading" data-astro-cid-j7pv25f6>Recent<br data-astro-cid-j7pv25f6><em data-astro-cid-j7pv25f6>solutions.</em></h2> </div> <a href="/solution/" class="see-all" data-astro-cid-j7pv25f6>All solutions &rarr;</a> </div> <div class="card-grid" data-astro-cid-j7pv25f6> <a href="/solution/virtualbox-bsod/" class="card" data-astro-cid-j7pv25f6> <span class="card__num" data-astro-cid-j7pv25f6>01</span> <h3 class="card__title" data-astro-cid-j7pv25f6>VirtualBox BSOD on Windows 10</h3> <div class="tags" data-astro-cid-j7pv25f6> <span class="tag">virtualbox</span><span class="tag">hyper-v</span><span class="tag">windows10</span> </div> <span class="card__cta" data-astro-cid-j7pv25f6>Read solution &rarr;</span> </a><a href="/solution/aws-vpc-vpn-juniper-srx100h2/" class="card" data-astro-cid-j7pv25f6> <span class="card__num" data-astro-cid-j7pv25f6>02</span> <h3 class="card__title" data-astro-cid-j7pv25f6>Branch Office to AWS VPC - A Juniper Story</h3> <div class="tags" data-astro-cid-j7pv25f6> <span class="tag">aws</span><span class="tag">vpc</span><span class="tag">juniper</span> </div> <span class="card__cta" data-astro-cid-j7pv25f6>Read solution &rarr;</span> </a><a href="/solution/compute-ssh-public-key-fingerprint/" class="card" data-astro-cid-j7pv25f6> <span class="card__num" data-astro-cid-j7pv25f6>03</span> <h3 class="card__title" data-astro-cid-j7pv25f6>Compute SSH Public Key Fingerprint</h3>  <span class="card__cta" data-astro-cid-j7pv25f6>Read solution &rarr;</span> </a><a href="/solution/unable-to-browse-windows-network-shares-in-ubuntu/" class="card" data-astro-cid-j7pv25f6> <span class="card__num" data-astro-cid-j7pv25f6>04</span> <h3 class="card__title" data-astro-cid-j7pv25f6>Unable to Browse Windows Network Shares in Ubuntu</h3> <div class="tags" data-astro-cid-j7pv25f6> <span class="tag">ubuntu</span><span class="tag">nautilus</span> </div> <span class="card__cta" data-astro-cid-j7pv25f6>Read solution &rarr;</span> </a><a href="/solution/slow-login-on-opensolaris/" class="card" data-astro-cid-j7pv25f6> <span class="card__num" data-astro-cid-j7pv25f6>05</span> <h3 class="card__title" data-astro-cid-j7pv25f6>Slow Remote Login on OpenSolaris</h3>  <span class="card__cta" data-astro-cid-j7pv25f6>Read solution &rarr;</span> </a><a href="/solution/empathy-reports-network-error-when-connecting-to-msn/" class="card" data-astro-cid-j7pv25f6> <span class="card__num" data-astro-cid-j7pv25f6>06</span> <h3 class="card__title" data-astro-cid-j7pv25f6>Empathy Reports Network Error When Connecting to MSN</h3> <div class="tags" data-astro-cid-j7pv25f6> <span class="tag">ubuntu</span> </div> <span class="card__cta" data-astro-cid-j7pv25f6>Read solution &rarr;</span> </a> </div> </div> </section>  <section class="section section--gold" data-astro-cid-j7pv25f6> <div class="section__inner" data-astro-cid-j7pv25f6> <div class="section__hdr" data-astro-cid-j7pv25f6> <div data-astro-cid-j7pv25f6> <p class="eyebrow eyebrow--teal" data-astro-cid-j7pv25f6>Writing</p> <h2 class="big-heading" style="color: var(--ink)" data-astro-cid-j7pv25f6>Recent<br data-astro-cid-j7pv25f6><em style="color: var(--teal)" data-astro-cid-j7pv25f6>posts.</em></h2> </div> <a href="/post/" class="see-all" style="color: var(--teal)" data-astro-cid-j7pv25f6>All writing &rarr;</a> </div> <div class="post-list" data-astro-cid-j7pv25f6> <a href="/post/zoo/" class="post-item" data-astro-cid-j7pv25f6> <time class="post-item__date" data-astro-cid-j7pv25f6> Feb 11, 2011 </time> <h3 class="post-item__title" data-astro-cid-j7pv25f6>Zoo!</h3> <span class="post-item__cta" data-astro-cid-j7pv25f6>Read &rarr;</span> </a><a href="/post/why-my-kids-are-better-than-n/" class="post-item" data-astro-cid-j7pv25f6> <time class="post-item__date" data-astro-cid-j7pv25f6> Feb 3, 2011 </time> <h3 class="post-item__title" data-astro-cid-j7pv25f6>Why My Kids Are Better Than Anything</h3> <span class="post-item__cta" data-astro-cid-j7pv25f6>Read &rarr;</span> </a><a href="/post/in-the-quiet-of-our-room/" class="post-item" data-astro-cid-j7pv25f6> <time class="post-item__date" data-astro-cid-j7pv25f6> Nov 6, 2010 </time> <h3 class="post-item__title" data-astro-cid-j7pv25f6>In The Quiet of our Room</h3> <span class="post-item__cta" data-astro-cid-j7pv25f6>Read &rarr;</span> </a><a href="/post/squishy/" class="post-item" data-astro-cid-j7pv25f6> <time class="post-item__date" data-astro-cid-j7pv25f6> Nov 6, 2010 </time> <h3 class="post-item__title" data-astro-cid-j7pv25f6>Squishy</h3> <span class="post-item__cta" data-astro-cid-j7pv25f6>Read &rarr;</span> </a> </div> </div> </section> </div> <footer class="footer"> <a href="/" class="footer__name">UnixSherpa</a> <ul class="footer__links"> <li><a href="/solution/">Solutions Log</a></li> <li><a href="/post/">Writing</a></li> <li><a href="/about/">About</a></li> <li><a href="https://github.com/dmreiland" target="_blank" rel="noopener">GitHub</a></li> </ul> <p class="footer__copy">&copy; 2026 Dan Reiland</p> </footer> <script type="module">const r=document.querySelector("[data-nav]"),c=r?.querySelector(".nav__hamburger"),s=r?.querySelector(".nav__links");if(r&&c&&s){const o=()=>{r.dataset.open="false",c.setAttribute("aria-expanded","false")};c.addEventListener("click",()=>{const t=r.dataset.open==="true";r.dataset.open=t?"false":"true",c.setAttribute("aria-expanded",t?"false":"true")}),s.querySelectorAll("a").forEach(t=>{t.addEventListener("click",o)}),window.addEventListener("resize",()=>{window.innerWidth>720&&o()})}const d=document.querySelectorAll(".prose"),i=new Set(["CODE","PRE","SCRIPT","STYLE"]),u=o=>{o.querySelectorAll("p").forEach(n=>{if(/^-{5,}$/.test(n.textContent?.trim()??"")){const a=document.createElement("hr");a.className="prose-separator",n.replaceWith(a)}});const t=document.createTreeWalker(o,NodeFilter.SHOW_TEXT,{acceptNode(n){if(!n.nodeValue?.includes(" -- "))return NodeFilter.FILTER_REJECT;const a=n.parentElement?.tagName;return a&&i.has(a)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),e=[];let l=t.nextNode();for(;l;)e.push(l),l=t.nextNode();e.forEach(n=>{n.nodeValue=n.nodeValue.replaceAll(" -- "," — ")})};d.forEach(u);document.querySelectorAll(".prose pre").forEach(o=>{const t=o.querySelector("code");if(!t)return;const e=document.createElement("button");e.className="copy-btn",e.setAttribute("aria-label","Copy code"),e.textContent="Copy",e.addEventListener("click",async()=>{try{await navigator.clipboard.writeText(t.innerText),e.textContent="Copied!",e.dataset.copied="true"}catch{e.textContent="Failed"}setTimeout(()=>{e.textContent="Copy",delete e.dataset.copied},2e3)}),o.style.position="relative",o.appendChild(e)});</script> </body> </html> 