2title = "Installing Urbit"
6Arvo 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:
9- `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`
12We have different installation instructions for different platforms. To install and run Arvo, run the commands that are listed for your operating system.
14On any platform, you can check your Arvo installation by running the `urbit` command. Installation was successful if you get a block of output that begins with the line below:
17Urbit: a personal server operating function
24We recommend using the Homebrew package manager to run Arvo on MacOS.
30brew install -v gcc git gmp libsigsegv libtool meson ninja pkg-config openssl
31git clone https://github.com/urbit/urbit
35sudo ninja -C ./build/ meson-install
45sudo 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
46sudo -H pip3 install --upgrade pip
47sudo -H pip3 install meson
49git clone https://github.com/urbit/urbit
53sudo ninja -C ./build/ install
57To access your Urbit via HTTP on port 80, you may need to run the following:
60sudo apt-get install libcap2-bin
61sudo setcap 'cap_net_bind_service=+ep' $(which urbit)
64### Fedora 23 or earlier
70sudo 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
85curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
86sudo /usr/local/bin/python3 get-pip.py
87# downgrade meson to avoid dependencies that redhat can't meet
88sudo -H /usr/local/bin/pip3 install meson
91git clone git://github.com/ninja-build/ninja.git && cd ninja
93./configure.py --bootstrap
94sudo cp ./ninja /usr/local/bin
96git clone https://github.com/urbit/urbit
100sudo /usr/local/bin/ninja -C ./build/ install
104### Fedora 24 or later
110sudo 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
112git clone https://github.com/urbit/urbit
116sudo ninja -C ./build/ install
126sudo pacman -S --needed curl gcc git gmp libsigsegv ncurses ninja openssl python python-pip meson
127git clone https://github.com/urbit/urbit
133sudo ninja meson-install
143sudo pkg install curl gcc git gmake gmp libsigsegv python python3 ncurses openssl gmp
144curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
145sudo python3 get-pip.py
146sudo -H pip install --upgrade pip
147sudo -H pip install meson
148sudo pkg install ninja
149git clone https://github.com/urbit/urbit
151sh ./scripts/bootstrap
153sudo ninja -C ./build/ meson-install
157### Amazon Web Services
163sudo yum install gcc gcc-c++ git gmp-devel libcurl-devel libsigsegv-devel ncurses-devel openssl openssl-devel pkgconfig python3 python3-pip wget git
164sudo env "PATH=$PATH" pip3 install --upgrade pip
165sudo env "PATH=$PATH" pip3 install meson
171wget https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libsigsegv-2.11-7.fc30.x86_64.rpm
172wget https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Everything/x86_64/os/Packages/l/libsigsegv-devel-2.11-7.fc30.x86_64.rpm
173sudo yum localinstall libsigsegv-2.11-7.fc30.x86_64.rpm
174sudo yum localinstall libsigsegv-devel-2.11-7.fc30.x86_64.rpm
176git clone git://github.com/ninja-build/ninja.git
179 ./configure.py --bootstrap
180 sudo cp ./ninja /usr/local/bin
184git clone https://github.com/urbit/urbit
188sudo env "PATH=$PATH" ninja -C ./build/ install
195One you've completed your installation, you can continue on to the instructions for [booting your ship](./docs/getting-started/booting-a-ship.md) to get on the Arvo network.
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).
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.
205Urbit wants to map 2GB of memory when it boots up. We won’t necessarily use all this memory, we just want to see it. On a normal modern PC or Mac, or on a large cloud virtual machine, this is not an issue. On some small cloud virtual machines (Amazon or Digital Ocean), the default memory configuration is smaller than this, and you need to manually configure a swapfile.
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).
209Don’t spend a lot of time tweaking these settings; the simplest thing is fine.
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list