当前位置: 首页 > article >正文

linux安装ollama

俩种方式都可


一、linux通过docker安装ollama镜像

1.下载安装ollama镜像

# 安装 Docker
sudo yum install docker
sudo systemctl start docker#docker查看所有容器
docker ps -a  # 查看所有容器# docker查看指定容器
docker ps -a |grep ollama# 创建模型存储目录(例如 /data/ollama_models)
sudo mkdir -p /data/ollama_models
sudo chmod -R 777 /data/ollama_models  # 确保容器有写入权限# 启动容器并挂载目录
docker run -d \--name ollama \-v /data/ollama_models:/root/.ollama \  # 将主机目录挂载到容器内-p 11434:11434 \ollama/ollama#修改默认模型存储路径
如果不想挂载 /root/.ollama,可通过环境变量指定其他路径:
docker run -d \--name ollama \-v /custom/models:/data/ollama_models \  # 自定义挂载点-e OLLAMA_MODELS=/data/ollama_models \   # 指定容器内路径-p 11434:11434 \ollama/ollama# 停止容器
docker stop ollama# 启动
docker start ollama# 重启动
docker restart ollama#如果ollama正在运行并且不需要ollama了,删除
docker stop ollama && docker rm ollama

2.检查目录挂载 (-v) 是否生效 

#检查目录挂载 (-v) 是否生效
方法 1:使用 docker inspect 查看挂载信息
docker inspect ollama | grep -A 5 Mounts方法2:
# 进入容器内部
docker exec -it ollama bash# 查看目录是否存在
ls -l /data/ollama_models# 尝试创建测试文件(验证写入权限)
touch /data/ollama_models/test.txt
exit# 返回主机检查文件是否同步
ls -l /custom/models/test.txt

3. 检查环境变量 (-e) 是否生效

方法 1:使用 docker inspect 查看环境变量
docker inspect ollama | grep -A 10 Env
预期输出
"Env": ["OLLAMA_MODELS=/data/ollama_models","PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
]方法 2:在容器内打印环境变量
docker exec -it ollama sh -c 'echo $OLLAMA_MODELS'
预期输出/data/ollama_models

4.下载大模型

进入容器内操作或直接通过 REST API 下载模型:

方法 1:进入容器内操作  

大模型占用内存一般较高,最好查一下电脑配置是否能带动大模型

docker exec -it ollama ollama pull llama2  # 下载 llama2 模型

模型会自动保存到挂载的目录 /data/ollama_models

方法 2:通过主机直接调用
curl -X POST http://localhost:11434/api/pull -d '{"name": "llama2"}'

5. 验证模型下载

# 查看已下载模型
docker exec -it ollama ollama list# 检查主机目录内容
ls /data/ollama_models/models

6. 运行模型

# 在容器内交互式运行
docker exec -it ollama ollama run llama2# 通过 API 调用
curl http://localhost:11434/api/generate -d '{"model": "llama2", "prompt": "你好"}'

二、linux本地安装ollama

1. 下载并安装 Ollama

# 下载 Ollama
curl -fsSL https://ollama.com/install.sh | sh# 启动 Ollama 服务
sudo systemctl enable ollama
sudo systemctl start ollama#停止ollama服务
sudo systemctl stop ollama

2. 设置环境变量指定模型目录

默认情况下,Ollama 会将模型存储在 ~/.ollama 目录。要更改此位置:

# 创建新的模型存储目录(例如 /data/ollama_models)
sudo mkdir -p /data/ollama_models
sudo chown -R $USER:$USER /data/ollama_models# 设置环境变量(临时生效)
export OLLAMA_MODELS=/data/ollama_models# 使环境变量永久生效
echo "export OLLAMA_MODELS=/data/ollama_models" >> ~/.bashrc
source ~/.bashrc

3. 重启 Ollama 服务使更改生效

sudo systemctl restart ollama

4. 验证安装并下载模型

# 检查服务状态
systemctl status ollama# 下载模型(会自动保存到指定目录)
ollama pull llama2# 运行模型
ollama run llama2

5. (可选) 修改 systemd 服务文件永久设置

如果通过环境变量不生效,可以修改服务文件:sudo vi /etc/systemd/system/ollama.service
在 [Service] 部分添加:Environment="OLLAMA_MODELS=/data/ollama_models"
然后重新加载并重启服务:sudo systemctl daemon-reload
sudo systemctl restart ollama

6.查看ollama日志
 

1. 查看详细日志
首先获取更详细的错误信息:sudo journalctl -u ollama -n 50 --no-pager
或直接运行 Ollama 查看输出:sudo /usr/local/bin/ollama serve

7. 检查 ollama 用户是否存在

运行以下命令检查用户和组是否已创建:id ollama  # 检查用户是否存在
grep ollama /etc/group  # 检查用户组是否存在如果不存在,可以手动创建:
sudo useradd -r -s /bin/false ollama  # 创建系统用户(无登录权限)

注意事项:

    1. 确保指定的目录有足够的存储空间

    2. 目录权限要正确,Ollama 进程需要有读写权限

    3. 不同版本的 Ollama 可能有不同的配置方式

相关文章:

linux安装ollama

俩种方式都可 一、linux通过docker安装ollama镜像 1.下载安装ollama镜像 # 安装 Docker sudo yum install docker sudo systemctl start docker#docker查看所有容器 docker ps -a # 查看所有容器# docker查看指定容器 docker ps -a |grep ollama# 创建模型存储目录&#xff…...

构建k8s下Helm私有仓库与自定义Chart开发指南

#作者:程宏斌 文章目录 自定义helm模板1、开发自己的chare包2、调试chart3、安装chart 自定义helm模板 https://hub.helm.sh/ 1、开发自己的chare包 [rootmaster ~]# helm create mychare //创建一个名为mychare的chare包 [rootmaster ~]# tree -C mychare/ //以…...

【7】C#上位机---Modbus RTU 界面设计与封装

C#上位机---Modbus通讯 1 Modbus RTU 通讯1.1 RS485串口与串行通信(Serial Communications)1.2 Modbus RTU协议1.3 Modbus RTU主从模式1.4 Modbus 主从站模拟调试2 Modbus RTU 界面设计与封装2.1 温度控件的类属性2.2 C#封装Modbus实现通讯2.3 C#封装Modbus TRU通用类2.4 上位…...

【JVM】question

问题 JVM线程是用户态还是内核态 java线程在jdk1.2之前,是基于名为“绿色线程”的用户线程实现的,这导致绿色线程只能同主线程共享CPU分片,从而无法利用多核CPU的优势。 由于绿色线程和原生线程比起来在使用时有一些限制, jdk1.2…...

Node.js 中处理 Excel 文件的最佳实践

在现代应用开发中,Excel 文件仍然是数据交换和存储的重要格式之一。在 Node.js 环境中,处理 Excel 文件的需求日益增加。本文将介绍如何在 Node.js 中高效地处理 Excel 文件,涵盖工具选择、基本操作和最佳实践。 1. 选择合适的库 在 Node.js…...

【嵌入式学习6】多任务版TCP服务器

目录 如何实现: 客户端1.0版本: 服务端: 客户端2.0版本: thread.join() 是一个线程同步方法,用于主线程等待子线程完成。当你调用 thread.join() 时,主线程会阻塞,直到调用 join() 的子线程…...

每天认识一个设计模式-外观模式:化繁为简的接口魔法

一、前言 在设计模式中,结构型设计模式处理类或对象组合,可助力构建灵活、可维护软件结构。此前探讨过组合模式(将对象组合成树形结构,统一处理单个与组合对象,如文件系统管理)和装饰器模式(动…...

VLAN(虚拟局域网)

一、vlan概述 VLAN(virtual local area network)是一种通过逻辑方式划分网络的技术,允许将一个物理网络划分为多个独立的虚拟网络。每一个vlan是一个广播域,不同vlan之间的通信需要通过路由器或三层交换机 [!注意] vlan是交换机独有的技术,P…...

Transformers without Normalization论文翻译

论文信息: 作者:Jiachen Zhu, Xinlei Chen, Kaiming He, Yann LeCun, Zhuang Liu 论文地址:arxiv.org/pdf/2503.10622 代码仓库:jiachenzhu/DyT: Code release for DynamicTanh (DyT) 摘要 归一化层在现代神经网络中无处不在…...

题目练习之set的奇妙使用

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...

负载均衡是什么,Kubernetes如何自动实现负载均衡

负载均衡是什么? 负载均衡(Load Balancing) 是一种网络技术,用于将网络流量(如 HTTP 请求、TCP 连接等)分发到多个服务器或服务实例上,以避免单个服务器过载,提高系统的可用性、可扩…...

网站提示“不安全“怎么办?原因分析与解决方法

引言:为什么浏览器会提示网站"不安全"? 当您访问某些网站时,浏览器可能会显示"不安全"警告。这通常意味着该网站存在安全风险,可能影响您的隐私或数据安全。本文将介绍常见原因及解决方法,帮助您…...

如何利用AI智能生成PPT,提升工作效率与创意表现

如何利用AI智能生成PPT,提升工作效率与创意表现!在这个信息爆炸的时代,制作一份既专业又富有创意的PPT,已经不再是一个简单的任务。尤其是对于每天都需要做报告、做展示的职场人士来说,PPT的质量直接影响着工作效率和个…...

【11】Redis快速安装与Golang实战指南

文章目录 1 Redis 基础与安装部署1.1 Redis 核心特性解析1.2 Docker Compose 快速部署1.3 Redis 本地快速部署 2 Golang 与 Redis 集成实战2.1 环境准备与依赖安装2.2 核心操作与数据结构实践2.2.1 基础键值操作2.2.2 哈希结构存储用户信息 3 生产级应用场景实战3.1 分布式锁实…...

【数据结构】图论存储革新:十字链表双链设计高效解决有向图入度查询难题

十字链表 导读一、邻接表的优缺点二、十字链表2.1 结点结构2.2 原理解释2.2.1 顶点表2.2.2 边结点2.2.3 十字链表 三、存储结构四、算法评价4.1 时间复杂度4.2 空间复杂度 五、优势与劣势5.1 优势5.2 劣势5.3 特点 结语 导读 大家好,很高兴又和大家见面啦&#xff…...

聊一聊没有接口文档时如何开展测试

目录 一、前期准备与信息收集 二、使用抓包工具分析接口 三、逆向工程构造测试用例 四、安全测试 五、 模糊测试(Fuzz Testing) 六、记录并维护发现的接口信息 七、 推动团队规范流程 其它注意事项 在我们进行接口测试时,总会遇到各种…...

.net6 中实现邮件发送

一、开启邮箱服务 先要开启邮箱的 SMTP 服务,获取授权码,在实现代码发送邮件中充当邮箱密码用。 在邮箱的 设置 > 账号 > POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务中,把 SMTP 服务开启,获取授权码。 二、安装库 安装 …...

vector复制耗时

CPP中的vector对象在传参给子函数时&#xff0c;如果直接传参&#xff0c;会造成复制给形参的额外耗时 如何解决这个问题呢&#xff1f; 这样定义局部函数 const vector <int>&vec可以保证传递vector对象时使用地址传递&#xff0c;并且使用const保证vector不被改变…...

MySQL 数据库操作指南:从数据库创建到数据操作

关键词&#xff1a;MySQL&#xff1b;数据库操作&#xff1b;DDL&#xff1b;DML 一、引言 MySQL 作为广泛应用的关系型数据库管理系统&#xff0c;对于开发人员和数据库管理员而言&#xff0c;熟练掌握其操作至关重要。本文章通过一系列 SQL 示例&#xff0c;详细阐述 MySQL…...

【Linux】命令和权限

目录&#xff1a; 一、shell命令及运行原理 &#xff08;一&#xff09;什么是外壳 &#xff08;二&#xff09;为什么要有外壳 &#xff08;三&#xff09;外壳怎么工作的 二、Linux权限的概念 &#xff08;一&#xff09;Linux的文件类型 &#xff08;二&#xff09;L…...

22.OpenCV轮廓匹配原理介绍与使用

OpenCV轮廓匹配原理介绍与使用 1. 轮廓匹配的基本概念 轮廓匹配&#xff08;Contour Matching&#xff09;是计算机视觉中的一种重要方法&#xff0c;主要用于比较两个轮廓的相似性。它广泛应用于目标识别、形状分析、手势识别等领域。 在 OpenCV 中&#xff0c;轮廓匹配主要…...

深入解析AI绘画技术背后的人工智能

在当今数字艺术领域&#xff0c;AI绘画作为一种新兴艺术形式&#xff0c;正迅速吸引着越来越多的创作者与爱好者。它不仅推动了艺术创作的边界&#xff0c;同时也改变了我们对创作与美的理解。本文将深入探讨AI绘画所依赖的人工智能技术&#xff0c;并分析其背后的原理与应用。…...

Kaggle房价预测

实战 Kaggle 比赛&#xff1a;预测房价 这里李沐老师讲的比较的细致&#xff0c;我根据提供的代码汇总了一下&#xff1a; import hashlib import os import tarfile import zipfile import requests import numpy as np import pandas as pd import torch from matplotlib i…...

browser-use开源程序使 AI 代理可以访问网站,自动完成特定的指定任务,告诉您的计算机该做什么,它就会完成它。

一、软件介绍 文末提供程序和源码下载 browser-use开源程序使 AI 代理可以访问网站&#xff0c;自动完成特定的指定任务&#xff0c;浏览器使用是将AI代理与浏览器连接的最简单方法。告诉您的计算机该做什么&#xff0c;它就会完成它。 二、快速开始 使用 pip &#xff08;Py…...

java虚拟机---JVM

JVM JVM&#xff0c;也就是 Java 虚拟机&#xff0c;它最主要的作用就是对编译后的 Java 字节码文件逐行解释&#xff0c;翻译成机器码指令&#xff0c;并交给对应的操作系统去执行。 JVM 的其他特性有&#xff1a; JVM 可以自动管理内存&#xff0c;通过垃圾回收器回收不再…...

2025数字中国初赛wp

一&#xff0c;取证与溯源 镜像文件解压密码&#xff1a;44216bed0e6960fa 1.运维人员误删除了一个重要的word文件&#xff0c;请通过数据恢复手段恢复该文件&#xff0c;文件内容即为答案。 先用R-stuido软件进行数据恢复 得到 打开重要文件.docx全选发现有一条空白的被选中…...

c#和c++脚本解释器科学运算

说明&#xff1a; 我希望用c#和c写一个脚本解释器&#xff0c;用于科学运算 效果图&#xff1a; step1: c# C:\Users\wangrusheng\RiderProjects\WinFormsApp3\WinFormsApp3\Form1.cs using System; using System.Collections.Generic; using System.Data; using System.Tex…...

青蛙吃虫--dp

1.dp数组有关元素--路长和次数 2.递推公式 3.遍历顺序--最终影响的是路长&#xff0c;在外面 其次次数遍历&#xff0c;即这次路长所有情况都更新 最后&#xff0c;遍历次数自然就要遍历跳长 4.max时时更新 dp版本 #include<bits/stdc.h> using namespace std; #def…...

路由器工作在OSI模型的哪一层?

路由器主要工作在OSI模型的第三层&#xff0c;即网络层。网络层的主要功能是将数据包从源地址路由到目标地址&#xff0c;路由器通过检查数据包中的目标IP地址&#xff0c;并根据路由表确定最佳路径来实现这一功能。 路由器的主要功能&#xff1a; a、路由决策&#xff1a;路…...

LINUX 5 cat du head tail wc 计算机拓扑结构 计算机网络 服务器 计算机硬件

计算机网络 计算机拓扑结构 计算机按性能指标分&#xff1a;巨型机、大型机、小型机、微型机。大型机、小型机安全稳定&#xff0c;小型机用于邮件服务器 Unix系统。按用途分&#xff1a;专用机、通用机 计算机网络&#xff1a;局域网‘、广域网 通信协议’ 计算机终端、客户端…...