mirror of
https://github.com/ollama/ollama.git
synced 2025-04-24 07:20:21 +02:00
* llama: wire up builtin runner This adds a new entrypoint into the ollama CLI to run the cgo built runner. On Mac arm64, this will have GPU support, but on all other platforms it will be the lowest common denominator CPU build. After we fully transition to the new Go runners more tech-debt can be removed and we can stop building the "default" runner via make and rely on the builtin always. * build: Make target improvements Add a few new targets and help for building locally. This also adjusts the runner lookup to favor local builds, then runners relative to the executable, and finally payloads. * Support customized CPU flags for runners This implements a simplified custom CPU flags pattern for the runners. When built without overrides, the runner name contains the vector flag we check for (AVX) to ensure we don't try to run on unsupported systems and crash. If the user builds a customized set, we omit the naming scheme and don't check for compatibility. This avoids checking requirements at runtime, so that logic has been removed as well. This can be used to build GPU runners with no vector flags, or CPU/GPU runners with additional flags (e.g. AVX512) enabled. * Use relative paths If the user checks out the repo in a path that contains spaces, make gets really confused so use relative paths for everything in-repo to avoid breakage. * Remove payloads from main binary * install: clean up prior libraries This removes support for v0.3.6 and older versions (before the tar bundle) and ensures we clean up prior libraries before extracting the bundle(s). Without this change, runners and dependent libraries could leak when we update and lead to subtle runtime errors.
189 lines
3.9 KiB
Markdown
189 lines
3.9 KiB
Markdown
# Linux
|
|
|
|
## Install
|
|
|
|
To install Ollama, run the following command:
|
|
|
|
```shell
|
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
```
|
|
|
|
## Manual install
|
|
|
|
> [!NOTE]
|
|
> If you are upgrading from a prior version, you should remove the old libraries with `sudo rm -rf /usr/lib/ollama` first.
|
|
|
|
Download and extract the package:
|
|
|
|
```shell
|
|
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
|
|
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
|
|
```
|
|
|
|
Start Ollama:
|
|
|
|
```shell
|
|
ollama serve
|
|
```
|
|
|
|
In another terminal, verify that Ollama is running:
|
|
|
|
```shell
|
|
ollama -v
|
|
```
|
|
|
|
### AMD GPU install
|
|
|
|
If you have an AMD GPU, also download and extract the additional ROCm package:
|
|
|
|
```shell
|
|
curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
|
|
sudo tar -C /usr -xzf ollama-linux-amd64-rocm.tgz
|
|
```
|
|
|
|
### ARM64 install
|
|
|
|
Download and extract the ARM64-specific package:
|
|
|
|
```shell
|
|
curl -L https://ollama.com/download/ollama-linux-arm64.tgz -o ollama-linux-arm64.tgz
|
|
sudo tar -C /usr -xzf ollama-linux-arm64.tgz
|
|
```
|
|
|
|
### Adding Ollama as a startup service (recommended)
|
|
|
|
Create a user and group for Ollama:
|
|
|
|
```shell
|
|
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
|
|
sudo usermod -a -G ollama $(whoami)
|
|
```
|
|
|
|
Create a service file in `/etc/systemd/system/ollama.service`:
|
|
|
|
```ini
|
|
[Unit]
|
|
Description=Ollama Service
|
|
After=network-online.target
|
|
|
|
[Service]
|
|
ExecStart=/usr/bin/ollama serve
|
|
User=ollama
|
|
Group=ollama
|
|
Restart=always
|
|
RestartSec=3
|
|
Environment="PATH=$PATH"
|
|
|
|
[Install]
|
|
WantedBy=default.target
|
|
```
|
|
|
|
Then start the service:
|
|
|
|
```shell
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable ollama
|
|
```
|
|
|
|
### Install CUDA drivers (optional)
|
|
|
|
[Download and install](https://developer.nvidia.com/cuda-downloads) CUDA.
|
|
|
|
Verify that the drivers are installed by running the following command, which should print details about your GPU:
|
|
|
|
```shell
|
|
nvidia-smi
|
|
```
|
|
|
|
### Install AMD ROCm drivers (optional)
|
|
|
|
[Download and Install](https://rocm.docs.amd.com/projects/install-on-linux/en/latest/tutorial/quick-start.html) ROCm v6.
|
|
|
|
### Start Ollama
|
|
|
|
Start Ollama and verify it is running:
|
|
|
|
```shell
|
|
sudo systemctl start ollama
|
|
sudo systemctl status ollama
|
|
```
|
|
|
|
> [!NOTE]
|
|
> While AMD has contributed the `amdgpu` driver upstream to the official linux
|
|
> kernel source, the version is older and may not support all ROCm features. We
|
|
> recommend you install the latest driver from
|
|
> https://www.amd.com/en/support/linux-drivers for best support of your Radeon
|
|
> GPU.
|
|
|
|
## Customizing
|
|
|
|
To customize the installation of Ollama, you can edit the systemd service file or the environment variables by running:
|
|
|
|
```
|
|
sudo systemctl edit ollama
|
|
```
|
|
|
|
Alternatively, create an override file manually in `/etc/systemd/system/ollama.service.d/override.conf`:
|
|
|
|
```ini
|
|
[Service]
|
|
Environment="OLLAMA_DEBUG=1"
|
|
```
|
|
|
|
## Updating
|
|
|
|
Update Ollama by running the install script again:
|
|
|
|
```shell
|
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
```
|
|
|
|
Or by re-downloading Ollama:
|
|
|
|
```shell
|
|
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
|
|
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
|
|
```
|
|
|
|
## Installing specific versions
|
|
|
|
Use `OLLAMA_VERSION` environment variable with the install script to install a specific version of Ollama, including pre-releases. You can find the version numbers in the [releases page](https://github.com/ollama/ollama/releases).
|
|
|
|
For example:
|
|
|
|
```shell
|
|
curl -fsSL https://ollama.com/install.sh | OLLAMA_VERSION=0.3.9 sh
|
|
```
|
|
|
|
## Viewing logs
|
|
|
|
To view logs of Ollama running as a startup service, run:
|
|
|
|
```shell
|
|
journalctl -e -u ollama
|
|
```
|
|
|
|
## Uninstall
|
|
|
|
Remove the ollama service:
|
|
|
|
```shell
|
|
sudo systemctl stop ollama
|
|
sudo systemctl disable ollama
|
|
sudo rm /etc/systemd/system/ollama.service
|
|
```
|
|
|
|
Remove the ollama binary from your bin directory (either `/usr/local/bin`, `/usr/bin`, or `/bin`):
|
|
|
|
```shell
|
|
sudo rm $(which ollama)
|
|
```
|
|
|
|
Remove the downloaded models and Ollama service user and group:
|
|
|
|
```shell
|
|
sudo rm -r /usr/share/ollama
|
|
sudo userdel ollama
|
|
sudo groupdel ollama
|
|
```
|