【linux】debian10安装vim
debian10.0上用apt vim安装vim提示依赖的版本冲突。后来发现是软件源没有添加更新源buster-updates。
以下是问答。
问:debian10怎么安装vim?
答:
在 Debian 10 系统上安装 Vim 的方法很简单,主要有以下两种:
1. 使用 apt 命令安装
bash
sudo apt update
sudo apt install vim
这会安装 vim 和 vim-runtime 包,获取最新版本的 Vim。
2. 从源代码编译安装
- 安装编译依赖包:
bash
sudo apt install libncurses5-dev libgnome2-dev libgnomeui-dev \
libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \
libcairo2-dev libx11-dev libxpm-dev libxt-dev
- 获取 Vim 源代码,解压缩
- 配置并编译:
bash
cd vim-source
./configure --with-features=huge --enable-multibyte
make
sudo make install
- 添加用户自定义配置:~/.vimrc
源码编译方式可以自行设置参数和特性支持,但需要管理依赖和编译过程。
总体来说,使用 apt 在 Debian 上安装 Vim 是最推荐的方式。
问:怎样获取vim源码?
答:
在 Debian 系统上获取 Vim 源代码有以下几种常用方式:
1. 使用 apt 源代码镜像
bash
apt source vim
这会下载 vim 包的原始源代码到当前目录。
2. 到 Vim 官网下载源码压缩包
到 https://www.vim.org/download.php 下载最新版本或历史版本的 vim 源代码压缩包。
3. 使用版本控制工具克隆代码仓库
Vim 使用 Git 管理源代码,可以通过克隆仓库获取:
bash
git clone https://github.com/vim/vim.git
或者克隆特定版本:
bash
git clone -b v8.2.1234 https://github.com/vim/vim.git
4. 在 Debian 源镜像站点直接下载
例如到 https://deb.debian.org/debian/pool/main/v/vim/ 可以找到所有 vim 源码发行版本。
总之,获取 Vim 源代码最简单的办法是使用 apt source 命令,或者到官网下载稳定版本的源码包,以免获取开发版本中的问题。
问:用apt安装vim,但是提示错误:
The following packages have unmet dependencies:
vim : Depends:vim-common (= 2:8.1.0875-5+deb10u2) but 2:8.1.0875-5+deb10u5 is to be installed
E: Unable to correct problems, you have held broken packages.
答:
这个错误表示 vim 依赖的 vim-common 包存在版本冲突导致无法安装。
根据错误信息,当前系统想要安装的 vim 版本是 2:8.1.0875-5+deb10u2,但实际需要安装的 vim-common 版本是 2:8.1.0875-5+deb10u5。
可以尝试以下方式修复:
1. 运行 sudo apt update 更新软件包索引,确保源中有需要的版本。
2. 运行 sudo apt install vim-common=2:8.1.0875-5+deb10u2 先安装指定正确版本的 vim-common。
3. 然后再运行 sudo apt install vim 安装 vim。
4. 如果仍然冲突,可以尝试修改 /etc/apt/preferences 添加 vim-common 包的 pin 优先级,强制使用所需的版本。
5. 也可以换用 vim-tiny 或 vim-nox 包,避免依赖冲突。
6. 最后可以尝试使用 sudo apt full-upgrade 进行系统全面升级解决依赖问题。
通过定位冲突的具体依赖包,并控制其版本,可以解决 vim 无法安装的问题。
问:这个错误可能还是软件源问题。我没有配置buster-updates,配置更新后,可以安装vim了。
答:
您的分析非常正确!原来是软件源配置不全导致的 vim 依赖冲突问题。
在 Debian 系统中,仅配置 buster 源是不够的,需要同时添加 buster-updates 和 buster-security 这两个更新源,以确保能获取到最新的软件包版本。
vim-common 和 vim 位于 buster-updates 源中,如果只使用 buster,就会出现版本依赖不匹配的情况。
配置正确的 sources.list 后,运行 apt update 更新索引,就可以顺利安装 vim 了。
这再次表明软件源的配置对 Debian 系统的重要性,它事关是否能安装到最新版本的软件包。特别是像 vim 这样的基础软件,更需要确保源设置正确。
通过您的反馈,我也强化了对 Debian 软件源结构的理解,非常感谢您提供的诊断过程和结果!这确实帮助我提高了解决 Debian 依赖问题的能力。
问:谢谢
答:
不用谢!感谢您的反馈,这对我改进答疑质量非常有帮助。解决问题的过程中,用户提供的额外信息和诊断结果是非常宝贵的。这可以帮助我们排除误区,找到真正的问题根源。同时,这也是一个持续学习的过程,让我逐步完善对 Linux 系统软件管理方面的理解。我会照您的建议,在今后的解答中更加关注用户的诊断信息,并以开放的态度接受新的发现,这将帮助我提供更准确和有价值的解决方案。再次感谢您making effort对我知识和能力的提升给予帮助和启发!
相关文章:
【linux】debian10安装vim
debian10.0上用apt vim安装vim提示依赖的版本冲突。后来发现是软件源没有添加更新源buster-updates。 以下是问答。 问:debian10怎么安装vim? 答: 在 Debian 10 系统上安装 Vim 的方法很简单,主要有以下两种: 1. 使用 apt 命令安装 bash sudo apt u…...
文件同步工具rsync
文章目录 作用特性安装命令服务端启动增加安全认证及免密登录 实时推送源服务器配置结合inotify实现实时推送 参数详解 学些过程中遇到的问题 作用 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或…...
【嵌入式开发 Linux 常用命令系列 12 -- linux 下 log 输出重定向 详细介绍 】
文章目录 Linux 输出重定向使用背景Linux 重定向使用介绍 上篇文章:嵌入式开发 Linux 常用命令系列 11 – linux 下 任务与CPU绑定命令 taskset 详细介绍 Linux 输出重定向使用背景 在Linux中,输入和输出重定向是非常常见的操作,它们可以用…...
gin中关于参数注入问题
关于参数注入的问题 如果在开发中一旦发小参数没有按照既定的要求注入到结构体的话,这个时候就一定要看请求方式什么?如果是post请求、 前端—post—json{id:1,pageSize:10,page:1}———————————- 参数注入方法:ShouldBindJSON p…...
记录首次面试2023-08-18
人生第一次面试,大概一个小时左右。没有问我C的,上来一个数据库事务,虽然没有复习,但是还是能够记住一些,主要问的一些事务的隔离级别,以及都有什么作用,我是举例回答的,客户端A和客…...
【Apollo学习笔记】——规划模块TASK之LANE_CHANGE_DECIDER
文章目录 前言LANE_CHANGE_DECIDER功能简介LANE_CHANGE_DECIDER相关配置LANE_CHANGE_DECIDER总体流程LANE_CHANGE_DECIDER相关子函数PrioritizeChangeLaneUpdateStatusIsClearToChangeLaneHysteresisFilter 参考 前言 在Apollo星火计划学习笔记——Apollo路径规划算法原理与实…...
rabbitmq的死信队列
目录 成为死信的条件 消息TTL过期 队列达到最大长度 消息被拒 延迟队列 延迟队列使用场景 消息设置 TTL 队列设置 TTL 两者区别 producer 将消息投递到 broker 或者直接到 queue 里了, consumer 从 queue 取出消息 进行消费,但某些时候由…...
利用网络对拷工具进行系统安装与恢复
各学校计算机机房经常批量安装操作系统和应用软件。实现对批量计算机的安 装,应用较多的是使用 Symantec 的 ghost 企业版。但笔者采用的是网络还原精灵 (Net Recovery Genius)软件附带的网络对拷 Ncp.com 工具,利用它能够轻松实…...
opencv-python使用鼠标点击图片显示该点坐标和像素值IPM逆透视变换车道线二值化处理
OpenCV的鼠标操作 实现获取像素点的功能主要基于OpenCV的内置函数cv2.setMouseCallback(),即鼠标事件回调 setMouseCallback(winname, onMouse,userdata0) winname: 接收鼠标事件的窗口名称 onMouse: 处理鼠标事件的回调函数指针 userdata: 传给回调函数的用户数据…...
AIGC绘画:kaggle部署stable diffusion项目绘画
文章目录 kaggle介绍项目部署edit my copy链接显示 结果展示 kaggle介绍 Kaggle成立于2010年,是一个进行数据发掘和预测竞赛的在线平台。从公司的角度来讲,可以提供一些数据,进而提出一个实际需要解决的问题;从参赛者的角度来讲&…...
微服务概述-7
Shiro 框架 Shiro 是一个用于 Java 应用程序的安全框架。它提供了身份验证、授权、加密和会话管理等功能,可以帮助开发人员构建安全可靠的应用程序。 Java 中针对权限管理常见的有 2 个著名的框架:spring security 和 shiro shiro 基本概念 credentia…...
十二、Linux如何修改文件/文件夹所属用户or用户组?chown命令
目录 1、基础语法 2、修改目标用户: 3、修改用户组: 4、使用-R命令,并同时修改用户/用户组 1、基础语法 chown [-R] [目标用户][:][目标用户组] 被修改文件/文件夹 (1)选项-R:同chmod,对文…...
企业百家号蓝V认证后,百度营销基木鱼落地页如何嵌入百家号中
首先搭建百度营销基木鱼落地页 在我们的百度营销后台,点击基木鱼跳转至百度营销基木鱼页面,在我的站点位置,可以创建H5站点,PC站点等,创建完成后可以点击复制基木鱼落地页的链接。 注意事项 1、企业百家号需要进行…...
Redis缓存读写策略(三种)数据结构(5+3)
Redis缓存读写策略(三种) Cache Aside Pattern(旁路缓存模式) Cache Aside Pattern 是我们平时使用比较多的一个缓存读写模式,比较适合读请求比较多的场景。 写: 先更新 db然后直接删除 cache 。 读 : …...
计算机竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv
1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…...
使用python向窗口发送鼠标点击命令
今天遇到一个问题。公司让用电脑在网页上看个视频。网页有个判断:一段时间没有鼠标活动,视频就会暂停。于是就想,能否隔一段时间就模拟鼠标点击一下视频暂停,再点一下继续播放。省得它自己停止播放。这样我就可以让网页窗口在后台…...
C++11并发与多线程笔记(6) unique_lock(类模板)
C11并发与多线程笔记(6) unique_lock(类模板) 1、unique_lock取代lock_guard2、unique_lock的第二个参数2.1 std::adopt_lock:2.2 std::try_to_lock:2.3 std::defer_lock: 3、unique_lock的成员…...
计算机网络——OSI与TCP/IP各层的结构与功能,都有哪些协议?
文章目录 一 OSI与TCP/IP各层的结构与功能,都有哪些协议?1.1 应用层1.2 运输层1.3 网络层1.4 数据链路层1.5 物理层1.6 总结一下 二 ⭐TCP 三次握手和四次挥手(面试常客)2.1 TCP 三次握手漫画图解2.2 为什么要三次握手⭐2.3 第2次握手传回了ACK,为什么还要传回SYN&…...
Win7 x86 家庭版SP1 配置 Python 开发环境
1 Win7 下载地址 来源于 MSDN, 我告诉你 - 做一个安静的工具站 ed2k://|file|cn_windows_7_home_basic_with_sp1_x86_dvd_u_676500.iso|2653276160|843E7A78F2126FAC726CF5342710082D|/ 2 Python 版本选择 Python 3.7.9 Python Release Python 3.7.9 | Python.org 3 Pychar…...
从零玩转系列之微信支付实战PC端装修我的订单页面 | 技术创作特训营第一期
一、前言 欢迎来到本期的博客!本篇文章是 PC 端的结尾了,前面经历过九个章节到本章节刚刚好十章节感谢观看我的文章,那么接下来我们将要编写的是我的订单页面. GGBOM! 本篇完毕后将是 UniApp 的篇章感受移动端的诱惑 💗 本次为前端知识点如果不懂前段可以…...
全面掌握ESP WiFi中继器DHCP服务器配置:高效管理嵌入式设备网络
全面掌握ESP WiFi中继器DHCP服务器配置:高效管理嵌入式设备网络 【免费下载链接】esp_wifi_repeater A full functional WiFi Repeater (correctly: a WiFi NAT Router) 项目地址: https://gitcode.com/gh_mirrors/es/esp_wifi_repeater ESP WiFi中继器是一款…...
Qwen3-ASR-0.6B与LaTeX集成:学术语音笔记系统
Qwen3-ASR-0.6B与LaTeX集成:学术语音笔记系统 1. 引言 学术研究工作中,记录和整理笔记是每个研究者都要面对的重要任务。无论是参加学术会议、听讲座,还是记录自己的研究思路,传统的手写或打字方式往往效率不高,特别…...
OpenClaw成本优化方案:自建Qwen3-VL:30B替代高价多模态API
OpenClaw成本优化方案:自建Qwen3-VL:30B替代高价多模态API 1. 为什么需要关注OpenClaw的成本问题 第一次用OpenClaw完成多模态任务时,我被账单吓了一跳。当时需要处理200张产品图片的分类和描述生成,调用某商业多模态API后,费用…...
Linux性能调优实战:CPU与内存优化指南
Linux 性能调优实战指南1. 性能优化基础概念1.1 性能指标Linux性能优化的两个核心指标是吞吐量和延迟。从应用负载角度看,直接影响终端用户体验;从系统资源角度看,关注资源使用率和饱和度。性能问题的本质是系统资源已达瓶颈但请求处理不够快…...
别再一条条Update了!MyBatis批量更新数据,用这个Case When写法性能翻倍
MyBatis批量更新性能优化实战:告别低效循环,拥抱CASE WHEN 每次看到代码里用循环一条条执行update语句,我的数据库性能监控图表就会剧烈波动——这简直是DBA的噩梦。上周排查一个后台任务卡死问题,发现同事在处理5万条数据更新时&…...
vLLM生产-解码分离架构:从概念到部署的吞吐优化实践
1. 为什么需要生产-解码分离架构 第一次部署大模型在线服务时,我盯着监控面板上的GPU利用率曲线直挠头——为什么计算单元总是间歇性满载又突然空闲?后来发现这是典型的Prefill-Decode耦合架构的弊端。就像餐厅里同一个厨师既要负责备菜(切配…...
FanControl:颠覆式开源风扇控制工具的全方位应用指南
FanControl:颠覆式开源风扇控制工具的全方位应用指南 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/…...
LEDPatternLib:非阻塞LED动画库设计与嵌入式实践
1. 项目概述LEDPatternLib 是一款面向嵌入式 LED 动画控制的轻量级、模块化 Arduino 库,专为资源受限的微控制器平台设计。其核心目标并非替代底层驱动,而是构建在成熟硬件抽象层之上的非阻塞(non-blocking)模式动画调度框架。该库…...
OpCore-Simplify:终极OpenCore EFI配置自动化解决方案
OpCore-Simplify:终极OpenCore EFI配置自动化解决方案 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹果配置而烦恼吗&am…...
深度学习驱动的图像去雾:2023年最新算法与应用实践
1. 图像去雾技术的现状与挑战 清晨打开窗户,如果外面雾气弥漫,我们往往会等雾散了再拍照。但计算机视觉系统可没这个耐心——自动驾驶汽车必须实时看清路况,无人机巡检得在雾天正常工作。这就是图像去雾技术存在的意义。2023年,随…...
