diff options
Diffstat (limited to 'build/mongodb-arch')
-rw-r--r-- | build/mongodb-arch/index.html | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/build/mongodb-arch/index.html b/build/mongodb-arch/index.html new file mode 100644 index 0000000..2b4bff8 --- /dev/null +++ b/build/mongodb-arch/index.html @@ -0,0 +1,61 @@ +<!doctype html> +<html lang="en" id="top"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="icon" href="data:,"> + <title>Installing Older Versions of MongoDB on Arch Linux</title> + <link href="https://bt.ht/atom.xml" type="application/atom+xml" rel="alternate" title="Atom feed for blog posts" /> + <style>*{box-sizing:border-box;}body{font-family:sans-serif;margin:0 auto;max-width:650px;padding:1rem;}img{max-width:100%;}pre{overflow:auto;}table{text-align:left;width:100%;}</style> +</head> + +<nav> + <a href="#menu">Menu ↓</a> +</nav> + +<main> +<h1>Installing Older Versions of MongoDB on Arch Linux</h1> +<p>2023-09-11</p> +<p>I've recently been using Arch Linux for my main work environment on my ThinkPad X260. It's been great. As someone who is constantly drawn to minimalist operating systems such as Alpine or OpenBSD, it's nice to use something like Arch that boasts that same minimalist approach but with greater documentation/support.</p> +<p>Another major reason for the switch was the need to run older versions of "services" locally. Most people would simply suggest using Docker or vmm, but I personally run projects in self-contained, personalized directories on my system itself. I am aware of the irony in that statement... but that's just my personal preference.</p> +<p>So I thought I would share my process of setting up an older version of MongoDB (3.4 to be precise) on Arch Linux.</p> +<h2>AUR to the Rescue</h2> +<p>You will need to target the specific version of MongoDB using the very awesome AUR packages:</p> +<pre><code>yay -S mongodb34-bin +</code></pre> +<p>Follow the instructions and you'll be good to go. Don't forget to create the <code>/data/db</code> directory and give it proper permissions:</p> +<pre><code>mkdir -p /data/db/ +chmod -R 777 /date/db +</code></pre> +<h2>What About My "Tools"?</h2> +<p>If you plan to use MongoDB, then you most likely want to utilize the core database tools (restore, dump, etc). The problem is you can't use the default <code>mongodb-tools</code> package when trying to work with older versions of MongoDB itself. The package will complain about conflicts and ask you to override your existing version. This is <em>not</em> what we want.</p> +<p>So, you'll have to build from source locally:</p> +<pre><code>git clone https://github.com/mongodb/mongo-tools +cd mongodb-tools +./make build +</code></pre> +<p>Then you'll need to copy the built executables into the proper directory in order to use them from the terminal:</p> +<pre><code>cp bin/* /usr/local/bin/ +</code></pre> +<p>And that's it! Now you can run <code>mongod</code> directly or use <code>systemctl</code> to enable it by default. Hopefully this helps anyone else curious about running older (or even outdated!) versions of MongoDB.</p> +<footer role="contentinfo"> + <h2>Menu Navigation</h2> + <ul id="menu"> + <li><a href="/">Home</a></li> + <li><a href="/projects">Projects</a></li> + <li><a href="/uses">Uses</a></li> + <li><a href="/wiki">Wiki</a></li> + <li><a href="/resume">Resume</a></li> + <li><a href="/colophon">Colophon</a></li> + <li><a href="/now">Now</a></li> + <li><a href="/donate">Donate</a></li> + <li><a href="/atom.xml">RSS</a></li> + <li><a href="#top">↑ Top of the page</a></li> + </ul> + <small> + Built with <a href="https://git.sr.ht/~bt/barf">barf</a>. <br> + Maintained with ♥ for the web. <br> + Proud supporter of <a href="https://usefathom.com/ref/DKHJVX">Fathom</a> & <a href="https://nextdns.io/?from=74d3p3h8">NextDNS</a>. <br> + The content for this site is <a href="https://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>.<br> The <a href="https://git.sr.ht/~bt/bt.ht">code for this site</a> is <a href="https://git.sr.ht/~bt/bt.ht/tree/master/item/LICENSE">MIT</a>. + </small> +</footer>
\ No newline at end of file |