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

Ubuntu 包管理

APT&dpkg

查看已安装包

查看所有已经安装的包

dpkg -l

 

 查找包

  •  apt search <package_name>
  • 搜索软件包列表,找到与搜索关键字匹配的包

dpkg与grep结合查找特定的包 

dpkg -s <package>:查看某个安装包的详细信息

安装包

apt安装命令

  • 更新包索引:sudo apt update
  • 安装软件包:sudo apt install <package_name>

安装特定版本的包

  •  sudo apt install <package_name>=<version>:指定一个要安装的版本进行安装

dpkg 和 apt的区别

  • dpkg:主要用于处理本地.deb包的安装、卸载查询等操作,操作不会自动处理依赖关系
  • apt:高级包管理工具,除了管理本地的.deb包外,还可以从远程软件源中下载并自动解决包的依赖关系

例如安装一个本地的.deb包,直接使用dpkg即可

sudo dpkg -i package.deb

如果有缺失的依赖包,那么就要用apt解决

sudo apt-get install -f

安装.deb包

sudo dpkg -i <package_file>.deb

删除包

通过dpkg卸载已经安装的包

  • dpkg -r <package>:卸载已经安装的包
  • dpkg -P <package>:完全卸载已经安装的包,包括其中的配置文件

apt命令删除

  • sudo apt remove <package_name>:删除 软件包,但是会保存配置文件
  • sudo apt purge <package_name>:删除配置文件

自动删除不再需要的包

  • sudo apt autoremove
     

snap

基本了解

主要特点

  • 自动更新: Snap 包会自动更新,所有的应用都是最新版本。这个特性特别方便,因为你永远不需要担心遗漏了更新或者需要手动去处理安全修复
  • 沙箱机制: Snap 包运行在一个隔离的“沙箱”环境里,就像把应用放在一个透明的盒子里。这样,应用就算有问题,也不会影响到系统的其他部分。这可以提高系统的安全性,防止恶意软件或有缺陷的应用对系统造成破坏
  • 包含所有依赖: 一个 Snap 包自带了运行该应用所需的所有文件和依赖库。你不用担心缺少某个库,或者库的版本不兼容等问题。它就像一个“自给自足”的软件包,安装后可以直接使用,不会因为缺少其他程序或文件而无法运行

如果在新系统环境中可以使用snap,如果服务器中已经使用了其他包管理器,不建议更换

常用命令

安装命令

  • sudo snap install <package_name>
     

查看已经安装的包

  • snap list
     

更新已经安装的包

  • sudo snap refresh

卸载snap包

sudo snap remove <package_name>

判断动态库的安装方式

利用项目中的jsoncpp动态库为例分析

查看jsoncpp动态库

分别检查系统库和本地库路径下的jsoncpp

也可以通过ldconfig命令直接查找

判断安装来源 

apt list --installed | grep jsoncpp:输出说明1.9.5是通过包管理器安装的,而1.8.4是手动编译进行安装的

 

http://www.lryc.cn/news/494921.html

相关文章:

  • [Ubuntu] linux之Ubuntu18.04的下载及在虚拟机中详细安装过程(附有下载链接)
  • ffmpeg安装(windows)
  • 服务器数据恢复—raid6阵列硬盘被误重组为raid5阵列的数据恢复案例
  • linux内核编译启动总结
  • Android Studio的AI工具插件使用介绍
  • 本地部署 WireGuard 无需公网 IP 实现异地组网
  • asyncio.ensure_future 与 asyncio.create_task:Python异步编程中的选择
  • CTF之密码学(密码特征分析)
  • JVM调优篇之JVM基础入门AND字节码文件解读
  • EXCEL截取某一列从第一个字符开始到特定字符结束的字符串到新的一列
  • 数据库期末复习题库
  • 私有库gitea安装
  • 关于最近win11不能使用ie,而不能使用考试客户端的解决方法
  • 深度学习之Mask-R-CNN
  • css包含块
  • 混沌工程/混沌测试/云原生测试/云平台测试
  • 研发设计数字化:PLM、PDM、ERP介绍及其区别
  • Python练习51
  • Qt 前置课程 QtNFC
  • 【论文阅读】 Learning to Upsample by Learning to Sample
  • 堆排序(含证明)
  • 蓝桥杯模拟题不知名题目
  • C#中的工厂模式
  • 深度学习与持续学习:人工智能的未来与研究方向
  • OGRE 3D----4. OGRE和QML共享opengl上下文
  • 【Umi】常用配置
  • Windows加固脚本
  • 玩游戏常常出现vc++runtime library error R6025 这是什么意思,该怎么解决?
  • AGX orin下电控制
  • flutter 报错 error: unable to find git in your path.