如何在 Ubuntu 下无障碍安装 Ollama:通过手动下载和修改脚本解决网络问题的完整指南

如何在 Ubuntu 下无障碍安装 Ollama:通过手动下载和修改脚本解决网络问题的完整指南

在这篇博客中,我将带你一步步在 Ubuntu 系统中安装 Ollama,并特别讲解如何通过手动下载必要文件并修改安装脚本,解决在使用官方安装脚本时可能遇到的网络问题。这样,即使你在受限的网络环境中,也能顺利完成 Ollama 的安装。


前提条件

在开始安装 Ollama 之前,请确保你具备以下条件:

  • 操作系统:Ubuntu 20.04 或更高版本
  • 用户权限:需要具备 sudo 权限
  • 网络连接:稳定的互联网连接或能够通过其他设备下载文件的条件

此外,建议更新系统包以确保依赖环境是最新的:

sudo apt update && sudo apt upgrade -y

打开官网最简单的一键安装方式
官网推荐安装方式

curl -fsSL https://ollama.com/install.sh | sh

如果你的网络环境ok的话,这个是最方便的安装方式,全自动化脚本,一键搞定。
然鹅,网络常常并不会如人意。这就需要一些魔法。我折腾了很多方式,发现了如下的最好的途径,不敢藏私,赶紧分享出来。

一、手动下载安装文件

由于直接使用官网推荐的安装脚本可能在某些网络环境下无法顺利完成,我们可以通过手动下载所需文件,然后上传至服务器进行安装。

1. 下载必要文件

在一台可以访问互联网的机器上,先下载以下两个文件:

  1. 安装脚本 install.sh

    curl -O https://ollama.com/install.sh
    
  2. Ollama 安装包 ollama-linux-amd64.tgz

    前往 Ollama 官方下载页面,找到适合你的系统架构的安装包(这里以 amd64 为例),然后下载。

2. 上传文件至 Ubuntu 服务器

将下载的 install.shollama-linux-amd64.tgz 文件上传到你需要安装 Ollama 的 Ubuntu 服务器上。可以使用 scp 命令或其他文件传输工具,如下所示:

scp install.sh ollama-linux-amd64.tgz username@your-server-ip:/path/to/destination

替换 usernameyour-server-ip 以及目标路径 /path/to/destination 为实际情况。


3. 修改安装脚本

上传文件到服务器后,需要对 install.sh 脚本进行一些修改,以确保它可以使用你手动下载的安装包。

1. 编辑 install.sh 脚本

使用你喜欢的文本编辑器(如 vimnano)打开 install.sh 文件:

vim install.sh

2. 修改脚本以使用本地安装包

找到脚本中负责下载和解压 ollama-linux-amd64.tgz 的部分,添加以下代码来使用本地文件:

# 添加这行代码,用于输出使用本地文件的状态信息
status "Using local file ollama-linux-amd64.tgz"

# 使用本地下载的 ollama-linux-amd64.tgz 文件
$SUDO tar -xzf "ollama-linux-amd64.tgz" -C "$OLLAMA_INSTALL_DIR"

为了避免大家修改错地方,我直接上传我的GPU服务器版本的安装脚本文件。
我也将我的完整的sh文件代码贴上:

#!/bin/sh
# This script installs Ollama on Linux.
# It detects the current operating system architecture and installs the appropriate version of Ollama.

set -eu

status() {
    echo ">>> $*" >&2; }
error() {
    echo "ERROR $*"; exit 1; }
warning() {
    echo "WARNING: $*"; }

TEMP_DIR=$(mktemp -d)
cleanup() {
    rm -rf $TEMP_DIR; }
trap cleanup EXIT

available() {
    command -v $1 >/dev/null; }
require() {
   
    local MISSING=''
    for TOOL in $*; do
        if ! available $TOOL; then
            MISSING="$MISSING $TOOL"
        fi
    done

    echo $MISSING
}

[ "$(uname -s)" = "Linux" ] || error 'This script is intended to run on Linux only.'

ARCH=$(uname -m)
case "$ARCH" in
    x86_64) ARCH="amd64" ;;
    aarch64|arm64) ARCH="arm64" ;;
    *) error "Unsupported architecture: $ARCH" ;;
esac

IS_WSL2=false

KERN=$(uname -r)
case "$KERN" in
    *icrosoft*WSL2 | *icrosoft*wsl2) IS_WSL2=true;;
    *icrosoft) error "Microsoft WSL1 is not currently supported. Please upgrade to WSL2 with 'wsl --set-version <distro> 2'" ;;
    *) ;;
esac

VER_PARAM="${OLLAMA_VERSION:+?version=$OLLAMA_VERSION}"

SUDO=
if [ "$(id -u)" -ne 0 ]; then
    # Running as root, no need for sudo
    if ! available sudo; then
        error "This script requires superuser permissions. Please re-run as root."
    fi

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值