Ubuntu 24.04 离线安装最新版 Ollama和导入模型的详细教程(附加速下载方案)

作者: L-sase
发布日期: 2025年09月09日
标签: Ollama, Ubuntu 24.04, 离线安装, Linux, 本地大模型, LLM, AI部署

前言

随着本地大语言模型(LLM)的兴起,Ollama 成为了在本地运行和管理 LLM(如 Llama 3、Qwen3、Deepseek 等)的热门工具。然而,Ollama 官方的Linux安装方法仅提供 在线一键安装脚本

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

该方式在不适合在无网络环境网络受限/速度极慢 的服务器上使用,尤其是在国内访问时下载速度常常只有几 KB/s,甚至超时失败。

本文将详细介绍如何在 Ubuntu 24.04 系统上 离线安装最新版 Ollama和导入windows下载的模型,并提供 迅雷加速下载方案,帮助你在内网、隔离环境或低带宽场景下顺利完成部署。


一、问题背景

1. 官方安装方式的局限性

  • 依赖 curl 和外部网络。
  • 下载源位于海外,国内访问速度极慢。
  • 无法在离线服务器、内网环境或安全审计严格的系统中使用。

2. 目标环境

  • 操作系统:Ubuntu 24.04 LTS
  • 网络状态:完全离线(无互联网连接)
  • 目标软件:Ollama 最新版(ollama-linux-amd64

二、解决方案思路

  1. 在有网络的机器上通过第三方工具加速下载 Ollama 二进制包
  2. 将下载的压缩包通过 U盘/光盘/内网传输到目标 Ubuntu 服务器
  3. 手动解压并配置为系统服务(systemd),实现开机自启

三、详细操作步骤

步骤 1:获取 Ollama 离线安装包

Ollama 中文手册(非官方的手册,但信息与官方英文版一样)里面提供了直接下载链接:
👉 https://ollama.cadn.net.cn/linux.html

从中获取下载地址:

https://ollama.com/download/ollama-linux-amd64.tgz 
⚠️ 注意:该链接始终指向最新版本的 Linux AMD64 架构二进制包。

步骤 2:使用迅雷加速下载(推荐)

由于官方链接直连速度极慢,建议使用 迅雷 或其他支持多线程下载的工具进行加速:

  1. 打开迅雷客户端。

开始下载,通常可达到数 MB/s 的速度。

在这里插入图片描述

新建下载任务,粘贴链接:

https://ollama.com/download/ollama-linux-amd64.tgz 

下载完成后,文件名为 ollama-linux-amd64.tgz


步骤 3:将安装包传输到目标服务器

使用 U盘、光盘、内网文件共享等方式,将 ollama-linux-amd64.tgz 文件拷贝到目标 Ubuntu 24.04 服务器的 /opt 目录下:

# 假设文件已拷贝到 /optcd /opt ls -l # 输出应类似:# -rw-r--r-- 1 root root 123456789 Jan 1 00:00 ollama-linux-amd64.tgz

步骤 4:解压并安装 Ollama

将 Ollama 二进制文件解压到 /usr 目录(标准系统路径):

sudotar -C /usr -xzf ollama-linux-amd64.tgz 

验证是否安装成功:

/usr/bin/ollama -v # 正常输出类似:# ollama version is 0.11.4

此时你已经可以运行 ollama 命令,但建议配置为系统服务以便后台运行和开机自启。


步骤 5:创建 Ollama 用户和用户组

为安全起见,Ollama 应以专用用户身份运行,避免使用 root。

# 创建 ollama 用户和组sudouseradd -r -s /bin/false -U -m -d /usr/share/ollama ollama # 将当前用户加入 ollama 组(便于后续调用)sudousermod -a -G ollama $(whoami)
📌 说明:-r:创建系统用户-s /bin/false:禁止登录-U -m -d /usr/share/ollama:创建同名组并设置家目录

步骤 6:配置 systemd 服务

创建服务文件:

sudonano /etc/systemd/system/ollama.service 

粘贴以下内容:

[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 
✅ 关键参数说明:ExecStart:启动命令User/Group:以 ollama 用户运行Restart=always:崩溃后自动重启After=network-online.target:确保网络就绪后再启动

步骤 7:启动并启用 Ollama 服务

# 重载 systemd 配置sudo systemctl daemon-reload # 启用开机自启sudo systemctl enable ollama # 启动服务sudo systemctl start ollama # 查看服务状态sudo systemctl status ollama 

正常输出应包含:

● ollama.service - Ollama Service Loaded: loaded (/etc/systemd/system/ollama.service; enabled; vendor preset: enabled) Active: active (running) since ... 

步骤 8:验证 Ollama 是否正常运行

# 查看日志sudo journalctl -u ollama -f 

如果看到 ollama serve 启动成功日志,说明安装完成。


四、常见问题与解决方案

Q1:systemctl start ollama 失败,提示权限错误?

  • 检查/usr/bin/ollama 是否有执行权限

修复

sudochmod a+x /usr/bin/ollama 

Q2:日志中出现 cannot create directory /usr/share/ollama/.ollama

  • 原因:ollama 用户家目录权限问题

修复

sudochown -R ollama:ollama /usr/share/ollama sudochmod755 /usr/share/ollama 

Q3:离线环境如何下载模型?

  • 可在有网机器使用 ollama pull model-name 下载模型。
  • 导出模型的modelfile文件。

通过离线介质把模型和modelfile文件传输到ubuntu服务器同一个目录下后,使用命令把文件重命名为gemma3-12b.gguf

mv sha256-e8ad13eff07a78d89926e9e8b882317d082ef5bf9768ad7b50fcdbbcd63748de gemma3-12b.gguf` 

查看导出的modelfile文件,里面有示例gemma3:12b模型的路径和文件名称。

在这里插入图片描述

如笔者在个人windows主机下载模型后,使用下面命令:

ollama show gemma3:12b --modelfile >> modelfile 

  • 然后使用命令ollama create gemma3:12b -f modelfile导入模型

因为windows导出的modeflie文件中的路径是与Linux有区别,需要修改一下。

在这里插入图片描述

五、总结

本文提供了一套完整的 Ubuntu 24.04 离线安装 Ollama和导入模型 的解决方案,核心要点如下:

绕过官方在线脚本限制,实现离线部署
使用迅雷加速下载,解决国内网络慢问题
windows与linux的模型,两个系统下载的模型是可以互相导入的

该方法适用于所有无法联网的 Linux 服务器环境,特别适合企业内网、科研实验室、边缘计算等场景。


六、后续建议

  • 配置防火墙开放 11434 端口(Ollama API 端口),便于远程调用。
  • 使用 nginx 反向代理 + HTTPS 提升安全性。
  • 探索 Ollama + Open WebUI 搭建本地 AI 助手界面。

如果你觉得这篇教程有帮助,请点赞、收藏、分享!
欢迎在评论区交流你的部署经验或遇到的问题。

参考链接

Read more

IoTDB Java 原生 API 实战:SessionPool 从入门到精通

IoTDB Java 原生 API 实战:SessionPool 从入门到精通

IoTDB Java原生API实战:SessionPool从入门到精通 做IoTDB开发的小伙伴都知道,原生API里的Session是和数据库交互的核心,但它有个关键问题——非线程安全,多线程环境下直接用很容易出问题。而SessionPool作为Session的连接池,能完美解决这个问题,在并发场景下合理管理连接资源,大幅提升系统性能和资源利用率,也是官方推荐的编程方式。今天就从基础用法到实战案例,再到全量接口说明,把SessionPool的使用彻底讲透,新手也能直接上手开发。 一、核心概念与开发步骤概览 首先先理清两个核心对象的关系:Session是IoTDB交互的核心接口,集成了写数据、查数据、元数据操作等所有功能,实例化后就能建立和服务端的连接,但切记不能多线程同时调用;SessionPool是Session的连接池,专门为多线程并发设计,能统一管理多个Session实例,避免频繁创建和关闭连接的性能损耗。 用SessionPool开发的核心步骤就三步,特别简单: 1. 创建连接池实例:初始化SessionPool对象,配置连接信息和池大小; 2. 执行数据库操作

By Ne0inhk
Java网络聊天室——OverThinker-ChatRoom

Java网络聊天室——OverThinker-ChatRoom

—项目专栏— 🚀 Java Chatroom 实时聊天室系统 一个基于 Spring Boot 和 WebSocket 技术实现的轻量级实时聊天室项目。 ✨ 项目概述 这是一个采用 前后端分离 架构的 Web 聊天应用。它专注于提供一个稳定、实时的消息通信平台,支持用户认证、好友管理、以及核心的一对一私聊功能。 特性描述实时通信基于 WebSocket 实现,消息秒级推送。核心功能用户注册登录、好友列表、私聊会话、消息历史记录。后端架构Spring Boot 配合 MyBatis,快速构建 RESTful API。前端技术传统 HTML/CSS/JavaScript + jQuery,轻量易维护。 📸 界面展示 (Screenshots) 登录与注册 登录页面 注册页面 聊天主界面 ⚡ 项目体验说明 先看说明!

By Ne0inhk
【算法题】别再为 Java 算法题犯难,码蹄杯上这些新手题库帮你打好基础

【算法题】别再为 Java 算法题犯难,码蹄杯上这些新手题库帮你打好基础

我的个人主页我的专栏:人工智能领域、java-数据结构、Javase、C语言,MySQL,希望能帮助到大家!!!点赞👍收藏❤ 前言: 码蹄杯作为编程学习中经典的逻辑训练题型,是提升算法思维与代码实践能力的“磨刀石”。对于初入编程领域的学习者而言,从基础题入手拆解问题逻辑是快速入门的关键。本次分享将围绕码蹄杯基础题型展开,涵盖循环逻辑、条件判断、数组操作等核心知识点,通过典型例题解析与思路拆解,帮助大家掌握从问题建模到代码实现的完整流程。无论你是零基础的编程小白,还是希望巩固基础的学习者,都能在本次分享中收获解题技巧,为挑战更复杂的编程任务夯实基础。 一:实型数运算 题目:请编写一个简单程序,用户输入2个实型数据存储在变量中,并输出他们的乘积与商。(本题不考虑除数为0的情况) 题目详解 packagedemo5_2;importjava.util.Scanner;/** * Created with IntelliJ IDEA. * Description: * User:Lenovo * Date:2025-05-11 * Time:11:16

By Ne0inhk
JAVA 泛型与通配符:从原理到实战应用

JAVA 泛型与通配符:从原理到实战应用

JAVA 泛型与通配符:从原理到实战应用 1.1 本章学习目标与重点 💡 掌握泛型的核心概念与设计初衷,理解泛型的编译期检查机制。 💡 熟练使用泛型类、泛型接口和泛型方法,解决数据类型安全问题。 💡 理解通配符(?)、上界通配符(? extends T)和下界通配符(? super T)的使用场景。 ⚠️ 本章重点是 泛型的擦除机制 和 通配符的灵活运用,这是提升代码通用性和安全性的关键。 1.2 泛型的核心概念与设计初衷 1.2.1 为什么需要泛型 在没有泛型的 JDK 5 之前,集合类只能存储 Object 类型的对象。获取元素时需要强制类型转换,这会带来两个严重问题: 1. 类型不安全:可以向集合中添加任意类型的对象,运行时可能抛出 ClassCastException。 2. 代码臃肿:频繁的强制类型转换会让代码可读性和维护性变差。 💡 泛型的出现就是为了解决这些问题,它的核心思想是

By Ne0inhk