【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 的篇章感受移动端的诱惑 💗 本次为前端知识点如果不懂前段可以…...
AI时代的程序员应该如何就业突击找工作?编程语言该如何选择才不会被时代所淘汰?
AI时代的程序员应该如何就业突击找工作?编程语言该如何选择才不会被时代所淘汰? AI时代程序员就业突击与编程语言选择指南 一、就业突击策略 核心能力强化 算法与数据结构:掌握基础算法(排序/搜索)和高级结构&#x…...
5大维度解析Mac Mouse Fix:从工具到体验的蜕变之旅
5大维度解析Mac Mouse Fix:从工具到体验的蜕变之旅 【免费下载链接】mac-mouse-fix Mac Mouse Fix - A simple way to make your mouse better. 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款让普通鼠标在macOS系统上…...
踩过PCB缺陷检测长尾分布的坑后,我用DR Loss把YOLOv8尾部类别召回率从58%干到92%
本文基于我7年工业视觉、PCB缺陷检测项目的一线落地经验,针对工业场景最头疼的数据长尾分布痛点——头部常见缺陷样本极多、尾部稀有缺陷样本极少,导致原生YOLOv8尾部类别漏检严重、泛化能力差的问题,完整拆解DR Loss(Distribution Ranking Loss)分布排名损失的核心原理,…...
【Android FWK】VR一体机全局菜单实战:从VirtualDisplay原理到系统级交互(上)
文章目录 一、从弹窗穿透到VR全局菜单 二、VirtualDisplay在VR中的适配原理 2.1 VR显示系统的特殊性 2.2 VR适配的核心代码 三、VR全局菜单的完整实现 3.1 系统架构设计 3.2 菜单呼出机制:手势+语音双重触发 3.3 菜单界面:适配VR的3D布局 3.4 系统交互:调节系统设置 四、VR环…...
XCOM 2模组管理的终极解决方案:Alternative Mod Launcher完整指南
XCOM 2模组管理的终极解决方案:Alternative Mod Launcher完整指南 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/g…...
Network Connection Class深度优化:10个提升网络检测精度的技巧
Network Connection Class深度优化:10个提升网络检测精度的技巧 【免费下载链接】network-connection-class Listen to current network traffic in the app and categorize the quality of the network. 项目地址: https://gitcode.com/gh_mirrors/ne/network-co…...
Intel Broadwell处理器选型指南:IBRS、noTSX这些后缀到底该怎么选?
Intel Broadwell处理器选型实战:从安全特性到性能优化的深度解析 在2014年问世的Intel Broadwell架构,作为第五代酷睿处理器的重要里程碑,至今仍在特定应用场景中保持着独特的价值。不同于简单的参数对比,本文将带您深入理解不同…...
重构窗口管理逻辑的效率革命:Loop重新定义macOS多任务体验
重构窗口管理逻辑的效率革命:Loop重新定义macOS多任务体验 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 当你在三个浏览器窗口、两个文档和一个设计工具间频繁切换时,当你花费十分钟拖拽调整窗口…...
告别官方开发板:手把手教你为自制的RK3568板卡移植Linux系统(Ubuntu 18.04环境)
从零构建:自制RK3568开发板的Linux系统深度移植实战 当一块自制的RK3568开发板静静躺在工作台上,没有官方文档支持,没有现成的配置文件,这才是真正考验工程师功底的时刻。不同于使用官方开发板的"开箱即用",…...
如何快速掌握这款免费音乐歌词工具:3分钟搞定全网歌词批量下载与格式转换
如何快速掌握这款免费音乐歌词工具:3分钟搞定全网歌词批量下载与格式转换 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 在数字音乐时代,你是否遇…...
