Ubuntu 22.04 Install deepseek

news2025/2/23 20:29:15

前言

deepseekAI助手。它具有聊天机器人功能,可以与用户进行自然语言交互,回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括:

  1. 强大的语言理解能力:能够理解和生成自然语言,与用户进行流畅的对话。
  2. 多领域知识:涵盖科技、文化、历史等多个领域的知识,能够回答各种类型的问题。
  3. 持续学习:系统会不断学习和优化,提高回答的准确性和相关性。
  4. 安全隐私:注重用户数据的安全和隐私保护,遵守相关法律法规。

DeepSeek 旨在通过先进的人工智能技术,为用户提供高效、便捷的服务,提升工作和生活的效率。

创建一键部署deepseek自动化脚本

  • 自动化脚本系统支持 Centos/Redhaht/RockyLinux/AlmaLinux/OracleLinux 8,9,10,ubuntu(20,22,24),debian(11,12),suse(12,15)
  • ollama 命令文档,参考,参考2,参考3
  • ollama download Windows,Linux,mac,所有下载
  • deepseek Models 官网地址
  • Chatbox 连接deepseek api工具,下载
  • ollama 变量名称参考 参考2
  • ollama 端口11434 需要自定义更改28行变量即可(28-32行环境变量需要自定义的更改)
  • ollama 安装目录/opt/ollama
  • deepseek 模型下载目录位置/opt/ollama/models
  • ollama 服务位置/usr/lib/systemd/system/ollama.service
  • 环境变量位置~/.bashrc
vim /deepseek_install.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2025/02/21

<<!
# 系统支持 Centos/Redhaht/RockyLinux/AlmaLinux/OracleLinux 8,9,10,ubuntu(20,22,24),debian(11,12),suse(12,15)

# ollama文档参考
https://github.com/ollama/ollama
https://ollama.readthedocs.io/quickstart/
https://ollama.cadn.net.cn/quickstart.html#google_vignette

# ollama download
https://ollama.com/download/windows
https://ollama.com/download/mac
https://ollama.com/download/linux
https://github.com/ollama/ollama/releases

#deepseek Models
https://ollama.com/library

# download chatboxai
https://chatboxai.app/zh#download
!

# variable
OLLAMA_PORT=11434
ollama_prefix=/opt/ollama
ollama_contents=ollama
ollama_models=models
opt_prefix=/opt

# ollama download variable
ollama_url=https://github.com/ollama/ollama/releases/download/v0.5.11
ollama_tgz=ollama-linux-amd64.tgz

install_basics() {
 
# Check if the script is being run as root
if [ "$(id -u)" != "0" ]; then
  echo "This script must be run as root."
  exit 1
fi
 
if [[ -f /etc/os-release ]]; then
  OS=$(cat /etc/*release* | grep "^ID=" | cut -d'=' -f2- | tr -d '"')
  VERSION=$(awk -F= '/VERSION_ID/{print $2}' /etc/os-release | tr -d '"') 
  #VERSION=$( grep -oE 'VERSION_ID="[^"]+"' /etc/os-release | cut -d'"' -f2)  
 
else
  echo -e "\033[31mThis script only supports $OS $VERSION...\033[0m"
  exit 1
fi
 
# Check the ollama version
if ! [ -d "$ollama_prefix" ]; then
  echo -e "\033[32m Installing ollama for $OS $VERSION...\033[0m"
  case $VERSION in
 
# CentOS/RedHat/oracle/RockLinux/AlmaLinux 8 install 
   8|8.1|8.2|8.3|8.4|8.5|8.6|8.7|8.8|8.9|8.10)
	echo Installing basics...
	yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
	yum install -y net-tools wget curl
 
	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
 
# CentOS/RedHat/oracle/RockLinux/AlmaLinux 9 install
  9.0|9.1|9.2|9.3|9.4|9.5|9.6|9.7|9.8|9.9|9.10) 
	echo Installing basics...
	yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
	yum install -y net-tools wget curl

	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;

# CentOS/RedHat/oracle/RockLinux/AlmaLinux 10 install
  10.0|10.1|10.2|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10)  
	echo Installing basics...
	yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm
	yum install -y net-tools wget curl

	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
   
# openEuler 20,22,23,24 Linux install
   20.03|22.03|23.03|24.03) 
	echo "add epel repo"
	openEuler_epel_repo

	echo "firewall prometheus port config"
	firewall_port_up
	
	echo Installing basics...
	yum install -y net-tools wget curl

	# install ollama
	install_ollama
   ;;
   
# ubuntu 20,21,22,23,24 Linux install
   20.04|21.04|22.04|23.04|24.04)
	echo "Disable system standby"
	systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
	
	echo "Pop-up block"
	sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
	source /etc/profile

	echo "install Base Package"
	apt-get update
	apt-get install -y firewalld curl net-tools vim
	apt-get install -y git wget

	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
  
# Debian 10,11.12
  10|11|12)
	echo "Disable system standby"
	systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
	
	echo "Pop-up block"
	sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
	source /etc/profile

	echo "install Base Package"
	apt-get update
	apt-get install -y firewalld curl net-tools vim
	apt-get install -y git wget

	# install ollama
	install_ollama
   ;;

# SUSE 12 install
  12.?)
	echo Installing  basics...
	SUSEConnect -p sle-sdk/12.5/x86_64
	zypper in -y curl net-tools

	echo "firewall sql server port"
	sed -i '/^FW_SERVICES_EXT_TCP=/ s/"\(.*\)"/"\1 '$OLLAMA_PORT'"/' /etc/sysconfig/SuSEfirewall2
	systemctl restart SuSEfirewall2.service
	
	# install ollama
	install_ollama
   ;;
 
# SUSE 15 install
  15.?)
	echo Installing  basics...
	zypper install -y net-tools net-tools-deprecated
	rpm -ivh https://ftp.lysator.liu.se/pub/opensuse/distribution/leap/15.6/repo/oss/x86_64/net-tools-deprecated-2.0+git20170221.479bb4a-3.11.x86_64.rpm
	zypper in -y firewalld curl 

	echo "firewall ollama port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
    *)
	
    echo -e "\033[31m Unsupported $OS $VERSION...\033[0m" 
    exit 1
    ;;
esac
	
    echo -e "\033[32m ollama for $OS $VERSION successfully installed...\033[0m"
else
    echo -e "\033[33m ollama for $OS $VERSION already installed...\033[0m"
fi
 
}

# Obtain the system version number
VERSION_ID=$(cat /etc/os-release | grep "^VERSION_ID=" | cut -d'=' -f2 | tr -d '"')

# openEuler 20.03 22.03 23.03 24.03 add epel 8,9
openEuler_epel_repo (){

if [[ $VERSION_ID =~ ^2[2-4]\.03$ ]]; then
    repo_version=9
elif [[ $VERSION_ID == 20.03 ]]; then
    repo_version=8
fi

echo "openEuler add epel repo"
cat <<EOF>>/etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=https://dl.fedoraproject.org/pub/epel/${repo_version}/Everything/x86_64/
enabled=1
gpgcheck=0
priority=1
EOF
}

# firewall port up
firewall_port_up (){
echo "firewall ollama port"
systemctl enable --now firewalld
firewall-cmd --zone=public --add-port=$OLLAMA_PORT/tcp --permanent && firewall-cmd --reload 
}

# install ollama
install_ollama (){

echo "download ollama"
wget -N -P $opt_prefix $ollama_url/$ollama_tgz

echo "Unzip installation ollama"
mkdir -p $opt_prefix/{$ollama_contents,$ollama_models}
tar -zxf $opt_prefix/$ollama_tgz -C $ollama_prefix
rm -rf $opt_prefix/$ollama_tgz

echo "ollama environment variable"
echo 'export PATH='$ollama_prefix'/bin:$PATH' >>  ~/.bashrc
echo 'export PATH='$ollama_prefix'/lib:$PATH' >>  ~/.bashrc
echo 'export OLLAMA_HOST=0.0.0.0:'$OLLAMA_PORT'' >>  ~/.bashrc
source ~/.bashrc

echo "create ollama server"
cat <<EOF>>/usr/lib/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
 
[Service]
Environment="OLLAMA_HOST=0.0.0.0:$OLLAMA_PORT"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=$ollama_prefix/models"
ExecStart=$ollama_prefix/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
 
[Install]
WantedBy=default.target
EOF

echo "start ollama"
systemctl daemon-reload
systemctl start ollama
systemctl enable ollama

echo "download deepseek model"
$ollama_prefix/bin/ollama run deepseek-r1:8b
}

main (){
	install_basics
}
 
main

执行一键部署deepseek 

  • ln -sf bash /bin/sh 切换bash 
bash /deepseek_install.sh

ollama api访问接口测试

  • 正式环境不要对外开放

chatbox 连接deepseek

  • chatbox 下载,有很多的你也可以尝试使用其它的方式接入
  • 模型提供方ollama api
  • api 域名你的主机IP和端口
  • 模型,你部署的模型选择

与deepseek ai 对话

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2304070.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何将公钥正确添加到服务器的 authorized_keys 文件中以实现免密码 SSH 登录

1. 下载密钥文件 2. RSA 解析 将 id_ed25519 类型的私钥转换为 RSA 类型&#xff0c;要将 ED25519 私钥转换为 RSA 私钥&#xff0c;需要重新生成一个新的 RSA 密钥对。 步骤&#xff1a; 生成新的 RSA 密钥对 使用 ssh-keygen 来生成一个新的 RSA 密钥对。比如&#xff0c;执…

光明谷推出AT指令版本的蓝牙音箱SOC 开启便捷智能音频开发新体验

前言 在蓝牙音箱市场竞争日益激烈的当下&#xff0c;开发一款性能卓越且易于上手的蓝牙音箱&#xff0c;成为众多厂商追求的目标。而光明谷科技有限公司推出的 AT 指令版本的蓝牙音箱 SOC&#xff0c;无疑为行业带来了全新的解决方案&#xff0c;以其诸多独特卖点&#xff0c;迅…

TIP: Flex-DLD

Article: Flex-DLD: Deep Low-Rank Decomposition Model With Flexible Priors for Hyperspectral Image Denoising and Restoration, 2024 TIP. 文章的主要思想是用network来学low-rank decomposition的两个matrix&#xff08;input是random input&#xff09;. 文章的framew…

MFC开发:如何创建第一个MFC应用程序

文章目录 一、概述二、MFC 的主要组件三、创建一个MFC窗口四、控件绑定消息函数 一、概述 MFC 是微软提供的一个 C 类库&#xff0c;用于简化 Windows 应用程序的开发。它封装了 Windows API&#xff0c;提供面向对象的接口&#xff0c;帮助开发者更高效地创建图形用户界面&am…

Java与C语言中取模运算符%的区别对比

博客主页&#xff1a; [小ᶻ☡꙳ᵃⁱᵍᶜ꙳] 本文专栏: Java 文章目录 &#x1f4af;前言&#x1f4af;C语言中的取模运算符 %基本行为示例 注意事项示例&#xff1a;负数取模 &#x1f4af;Java中的取模运算符 %基本行为示例 对浮点数的支持示例&#xff1a;浮点数取模 符…

Zabbix 7.2实操指南:基于OpenEuler系统安装Zabbix 7.2

原文出处&#xff1a;乐维社区 部署环境 openEuler 22.03 LTS PHP 8.0 Apache Mysql 8.0 MySQL数据库 6.0 以上版本需要安装mysql8.0以上版本的数据库&#xff08;以mysql为例子&#xff09;。 欧拉系统自带 mysql8.0 的源&#xff0c;无需要安装额外的源。 安装mysql …

Win11 24h2 不能正常使用ensp的问题(已解决)

因为Win11 24h2的内核大小更改&#xff0c;目前virtualbox在7.1.4中更新解决了。所以Win11 24H2系统版本无法使用 5.x.xx的virtualbox版本&#xff0c;virtualbox对于这个5.x.xx版本早已停止维护&#xff0c;所以这个以后不会有调整。 对应的报错代码是 virtualbox错误代码&…

蓝桥杯——按键

一&#xff1a;按键得原理图 二&#xff1a;按键的代码配置 step1 按键原理图对应引脚配置为输入状态 step2 在GPIO中将对应引脚设置为上拉模式 step3 在fun.c中写按键扫描函数 写完后的扫描函数需放在主函数中不断扫描 扫描函数主要通过两个定义变量的值来判断&#xf…

Linux环境基础开发工具的使用(三)

五、Linux项目自动化构建工具-make/Makefile make&#xff1a;是一条指令。 makefile&#xff1a;是一个当前目录下的文件。 第一行&#xff1a;依赖关系。 第二行&#xff1a;依赖方法。 clean是空依赖关系。 编译文件清理 背景 会不会写makefile&#xff0c;从一个侧面说…

electron提升软件运行权限,以管理员权限运行

大家有任何想法&#xff0c;都可以联系博主沟通。 本系列为实战文章&#xff0c;最终实现的桌面工具软件&#xff0c;获取方式&#xff1a;百度网盘地址&#xff1a;https://pan.baidu.com/s/1yrl0jYpti7QCn8CHBRT2lw?pwd1234 正文开始 前言一、提升electron运行权限的三种方…

安科瑞能源物联网平台助力企业实现绿色低碳转型

安科瑞顾强 随着全球能源结构的转型和“双碳”目标的推进&#xff0c;能源管理正朝着智能化、数字化的方向快速发展。安科瑞电气股份有限公司推出的微电网智慧能源管理平台&#xff08;EMS 3.0&#xff09;&#xff0c;正是这一趋势下的创新解决方案。该平台集成了物联网&…

Spring Boot 中使用 @Transactional 注解配置事务管理

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务&#xff1b;声明式事务基于 AOP,将具体业务逻辑与事务处理解耦。声明式事务管理使业务代码逻辑不受污…

动态链接器(九):.init和.init_array

ELF文件中的.init和.init_array段是程序初始化阶段的重要组成部分&#xff0c;用于在main函数执行前完成必要的初始化操作。 1 .init段和.init_array 段 1.1 作用 .init段包含编译器生成的初始化代码&#xff0c;通常由运行时环境&#xff08;如C标准库的启动例程&#xff0…

RT-Thread+STM32L475VET6——TF 卡文件系统

文章目录 前言一、板载资源二、具体步骤1.打开CubeMX进行USB配置1.1 使用外部高速时钟&#xff0c;并修改时钟树1.2 打开SPI1&#xff0c;参数默认即可(SPI根据自己需求调整&#xff09;1.3 打开串口&#xff0c;参数默认1.4 生成工程 2.配置SPI2.1 打开SPI驱动2.2 声明使用SPI…

[论文解析]OmniRe: Omni Urban Scene Reconstruction

OmniRe: Omni Urban Scene Reconstruction 论文地址&#xff1a;https://arxiv.org/abs/2408.16760 代码地址&#xff1a;https://github.com/ziyc/drivestudio 项目地址&#xff1a;https://ziyc.github.io/omnire/ 论文解读 总结 这篇论文代表了一种重建的方向&#xff0…

【微服务优化】ELK日志聚合与查询性能提升实战指南

网罗开发 &#xff08;小红书、快手、视频号同名&#xff09; 大家好&#xff0c;我是 展菲&#xff0c;目前在上市企业从事人工智能项目研发管理工作&#xff0c;平时热衷于分享各种编程领域的软硬技能知识以及前沿技术&#xff0c;包括iOS、前端、Harmony OS、Java、Python等…

Docker实战-使用docker compose搭建博客

docker run 部署 创建blog网络 [rootk8s-master ~]# docker network create blog 8f533a5a1ec65eae3f98c0ae5a76014a3ab1bf3c087ad952cdc100cc7a658948 [rootk8s-master ~]# docker network ls NETWORK ID NAME DRIVER SCOPE 8f533a5a1ec6 blog bridge …

【JT/T 808协议】808 协议开发笔记 ② ( 终端注册 | 终端注册应答 | 字符编码转换网站 )

文章目录 一、消息头 数据1、消息头拼接2、消息 ID 字段3、消息体属性 字段4、终端手机号 字段5、终端流水号 字段 二、消息体 数据三、校验码计算四、最终计算结果五、终端注册应答1、分解终端应答数据2、终端应答 消息体 数据 六、字符编码转换网站 一、消息头 数据 1、消息头…

51单片机学习之旅——定时器

打开软件 1与其它等于其它&#xff0c;0与其它等于0 1或其它等于1&#xff0c;0或其它等于其它 TMODTMOD&0xF0;//0xF01111 0000进行与操作&#xff0c;高四位保持&#xff0c;低四位清零&#xff0c;高四位定时器1&#xff0c;低四位定时器0 TMODTMOD|0x01;//0x010000 0…

hot100_139. 单词拆分

hot100_139. 单词拆分 思路 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。如果可以利用字典中出现的一个或多个单词拼接出 s 则返回 true。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 示例 1&#xff1a; 输入:…