@@ -3,9 +3,11 @@ title = "Installing Urbit"
4template = "doc.html"
4template = "doc.html"
6−Arvo runs nicely on a Unix-like operating system -- Ubuntu, Fedora, macOS, and FreeBSD, for example. If you're using Windows, you'll need to get one of the aforementioned systems. Don't worry: most of them are free. Let's get it onto your machine.
7+Arvo runs nicely on a Unix-like operating system – Ubuntu, Fedora, macOS, and FreeBSD, for example. If you're using Windows, you'll need to get one of the aforementioned systems. Don't worry: most of them are free. Let's get it onto your machine.
8But first, some terminology:
9But first, some terminology:
9- `vere` or `urbit`: the interpreter that runs when you run a command like `urbit` or `/bin/urbit` in your command line
11- `vere` or `urbit`: the interpreter that runs when you run a command like `urbit` or `/bin/urbit` in your command line
10- `arvo`: the deterministic OS that lives in a directory whose name matches your Azimuth point, ie `~famreb-todmec` lives in `/famreb-todmec`
12- `arvo`: the deterministic OS that lives in a directory whose name matches your Azimuth point, ie `~famreb-todmec` lives in `/famreb-todmec`
@@ -19,174 +21,32 @@ Urbit: a personal server operating function
20## Instructions
22## Instructions
22−### MacOS
24+### macOS (Darwin)
24−We recommend using the Homebrew package manager to run Arvo on MacOS.
30−brew install -v gcc git gmp libsigsegv libtool meson ninja pkg-config openssl
31−git clone https://github.com/urbit/urbit
35−sudo ninja -C ./build/ meson-install
39−### Ubuntu or Debian
26+We provide static binaries for macOS. You can grab the latest stable release as follows:
42−# Bash
29+curl -O https://bootstrap.urbit.org/urbit-darwin-v0.8.0.tgz
43−
30+tar xzf urbit-darwin-v0.8.0.tgz
44−sudo apt-get update
31+./urbit
45−sudo apt-get install g++ git libcurl4-gnutls-dev libgmp3-dev libncurses5-dev libsigsegv-dev libssl-dev make openssl pkg-config python python3 python3-pip python3-setuptools zlib1g-dev ninja-build
46−sudo -H pip3 install --upgrade pip
47−sudo -H pip3 install meson
49−git clone https://github.com/urbit/urbit
53−sudo ninja -C ./build/ install
57−To access your Urbit via HTTP on port 80, you may need to run the following:
60−sudo apt-get install libcap2-bin
61−sudo setcap 'cap_net_bind_service=+ep' $(which urbit)
64−### Fedora 23 or earlier
70−sudo yum install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel ninja-build openssl openssl-devel pkgconfig python3 re2c wget
72−# meson requires python 3.5; RHEL supplies wrong version
74− sudo wget https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tgz
75− sudo tar xzf Python-3.5.5.tgz
77− sudo ./configure --enable--optimizations
81− sudo ln -s python3.5 python3
85−curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
86−sudo /usr/local/bin/python3 get-pip.py
87−# downgrade meson to avoid dependencies that redhat can't meet
88−sudo -H /usr/local/bin/pip3 install meson
91−git clone git://github.com/ninja-build/ninja.git && cd ninja
93−./configure.py --bootstrap
94−sudo cp ./ninja /usr/local/bin
96−git clone https://github.com/urbit/urbit
100−sudo /usr/local/bin/ninja -C ./build/ install
104−### Fedora 24 or later
109−sudo dnf upgrade
34+### Linux (64-bit)
110−sudo dnf install autoconf automake cmake ctags gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel libtool ncurses-devel meson ninja-build openssl openssl-devel pkgconfig python3 re2c wget
112−git clone https://github.com/urbit/urbit
36+We also provide static binaries for 64-bit Linux distributions (Ubuntu, Debian, Fedora, Arch, etc.). You can get the latest stable release similarly:
116−sudo ninja -C ./build/ install
123−# Bash
39+curl -O https://bootstrap.urbit.org/urbit-linux64-v0.8.0.tgz
124−
40+tar xzf urbit-linux64-v0.8.0.tgz
126−sudo pacman -S --needed curl gcc git gmp libsigsegv ncurses ninja openssl python python-pip meson
127−git clone https://github.com/urbit/urbit
133−sudo ninja meson-install
137−### FreeBSD
44+### Other
139−```
46+We maintain a [Nix](https://nixos.org/nix) derivation for Urbit in [nixpkgs](https://github.com/NixOS/nixpkgs). You can install and launch it like so:
143−sudo pkg install curl gcc git gmake gmp libsigsegv python python3 ncurses openssl gmp
144−curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
145−sudo python3 get-pip.py
146−sudo -H pip install --upgrade pip
147−sudo -H pip install meson
148−sudo pkg install ninja
149−git clone https://github.com/urbit/urbit
151−sh ./scripts/bootstrap
153−sudo ninja -C ./build/ meson-install
157−### Amazon Web Services
163−sudo yum install gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel ncurses-devel openssl openssl-devel pkgconfig python3 python3-pip wget git
164−sudo env "PATH=$PATH" pip3 install --upgrade pip
165−sudo env "PATH=$PATH" pip3 install meson
171−wget https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libsigsegv-2.11-7.fc30.x86_64.rpm
172−wget https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libsigsegv-devel-2.11-7.fc30.x86_64.rpm
173−sudo yum localinstall libsigsegv-2.11-7.fc30.x86_64.rpm
174−sudo yum localinstall libsigsegv-devel-2.11-7.fc30.x86_64.rpm
176−git clone git://github.com/ninja-build/ninja.git
178− git checkout release
179− ./configure.py --bootstrap
180− sudo cp ./ninja /usr/local/bin
184−git clone https://github.com/urbit/urbit
185−cd urbit
49+nix-env -i urbit
188−sudo env "PATH=$PATH" ninja -C ./build/ install
@@ -196,8 +56,6 @@ One you've completed your installation, you can continue on to the instructions
197Or, if you want to try testing and writing code, check out the guide to [getting an unnetworked development ship](/docs/using/creating-a-development-ship).
57Or, if you want to try testing and writing code, check out the guide to [getting an unnetworked development ship](/docs/using/creating-a-development-ship).
201## Set Up Swap
59## Set Up Swap
203If you're running Urbit in the cloud on a small instance, you may need to additionally configure swap space. If you're not, you can safely ignore this section.
61If you're running Urbit in the cloud on a small instance, you may need to additionally configure swap space. If you're not, you can safely ignore this section.
@@ -206,4 +64,4 @@ Urbit wants to map 2GB of memory when it boots up. We won’t necessarily use al
207Digital Ocean has a post on adding swap [here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04). For Amazon there’s a StackOverflow thread [here](https://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
65Digital Ocean has a post on adding swap [here](https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04). For Amazon there’s a StackOverflow thread [here](https://stackoverflow.com/questions/17173972/how-do-you-add-swap-to-an-ec2-instance).
209−Don’t spend a lot of time tweaking these settings; the simplest thing is fine.
67+Don’t spend a lot of time tweaking these settings; the simplest thing is fine.