一 解压压缩命令一览

在下载各种库进行安装的时候,会发现下载的安装包有各式各样的后缀名。不同的后缀名解压的命令也大不相同。其实我们也没有那么普遍要用到解压的命令,当我们有需要的时候就尽管去搜索对应压缩包如何解压即可。不过这里还是应该介绍一下最常用的压缩与解压缩命令。

1.1 zip

# 压缩文件 -r一般用在文件夹的压缩,递归的意思

zip -r test.zip file

# 解压文件

zip test.zip

这个命令一般是我们自己用,比如说我们有文件夹或文件需要传输的时候,我们用zip来进行压缩和解压缩。

1.2 tar

# 压缩文件 file1 和目录 dir2 到 test.tar.gz

tar -zcvf test.tar.gz file1 dir2

# 解压 test.tar.gz(将 c 换成 x 即可)

tar -zxvf test.tar.gz

主要是解压tar.gz压缩包命令比较常用,记住-xvzf这四个参数。

二 usr文件夹解析

系统默认的软件都会被放置到/usr下面这个目录,有点类似windows下的C:/windows 或 C:/Program file的结合体,里面放置的数据属于可分享,不可变动的。比如可以通过网络文件共享NFS。

usr的缩写(UNIX software ResourceUNIX操作系统软件资源)注意不是user的缩写 所以安装双系统时建议/usr目录容量偏大

2.1 /usr/bin/

绝大部分的用户可使用命令都放在这里。请注意到它与/bin的不同之处(是否与开机过程有关)

2.2 /usr/include/

C/C++ 等程序语言的头文件(header)与包含文件(include)放置处,当我们以tarball方式(*.tar.gz的方式安装软件)安装某些数据时,会使用到里头的许多包含文件

2.3 /usr/lib

包含各应用软件的函数库、目标文件(object file),以及不被一般用户管理的执行文件或脚本(script)。某些软件会提供一些特殊的命令来进行服务器的设置,这些命令并不会经常被系统管理员操作,那就会被摆放在这个目录下。如果你使用的是X86_64的Linux系统,那可能会有/usr/lib64目录产生

2.4 /usr/local

在本机自行安装自己下载的软件,建议安装到此目录,这样会比较便于管理,举例来说你的distribution提供的软件较旧,你想安装较新的软件但是又不想删除旧版,此时你可以将新版本软件安装于/usr/local目录下,可与原先的就版本软件有区别。

2.5 /usr/sbin

非系统正常运行所需要的系统命令。最常见的就是某些网络服务器软件的服务命令(daemon)

2.6 /usr/share/

放置共享文件的地方,这个目录下放置的数据几乎是不分硬件架构均可读取的数据,因为几乎都是文本文件,再次目录下常见的还有这些子目录:

1、/usr/share/man:在线帮助文件

2、/usr/share/doc:软件杂项的文件说明

3、/usr/share/zoneinfo:与时区有关的时区文件

2.7 /usr/src/

一般源码建议放置到这里,src有source,的意思。至于内核源码则建议放置到/usr/src/linux目录下

三 源码安装实例如ffmpeg以及Open CV

Linux软件安装的方式有很多:

比如利用apt命令进行安装,安装后的文件会放在usr下,分门别类到usr/bin/、usr/lib、usr/include等文件夹中。

比如下载安装包,各种可执行文件,然后执行该文件即可安装。

再或者利用源码编译,生成适合自己硬件平台的可执行文件,执行后安装到usr/local下,分门别类到usr/local/bin/、usr/local/lib/、usr/local/include/、usr/local/share/等文件夹中。作为程序员,我们一般选择这种方式。因为可以自己配置软件的各类参数。

3.1 AutoTools及CMake及qmake

构建源码的工具有很多,ffmeg用AutoTools构建,Open CV用CMake构建,我在RoboMaster视觉教程Qt(一)Qt5环境配置及测试一文里介绍的flameshot软件利用qmake构建。

详细安装过程可以看发过的文档。RoboMaster视觉教程OpenCV(一)Qt5环境配置及测试

3.1.1 AutoTools

为了简化可移植构建的难度,早期有一套AutoTools的工具帮助程序员构建软件。configure,make,make install三部曲,大多都是基于Auto Tools来构建的。Auto Tools是GNU程序的标准构建系统。

configure脚本是由软件开发者维护并发布的给用户使用的shell脚本。该脚本的作用是检测系统环境,最终目的是生成Makefile和configure.h。 make通过读取Makefile文件,开始构建软件。 make install可以将软件安装到默认(usr/local)或者指定的系统路径

3.1.2 CMake

cmake命令生成Makefile。 -D配置参数 make通过读取Makefile文件,开始构建软件。 make install可以将软件安装到默认(usr/local)或者指定的系统路径

3.1.3 qmake

qmake生成makefile make通过读取Makefile文件,开始构建软件。 sudo make install可以将软件安装到默认(usr/local)或者指定的系统路径

大家可以发现,根据源码编译,只是生成Makefile的命令不同,make和make install都是必须的。而且必须使用sudo管理员权限。另外,只有将这些头文件、库文件安装到usr/local目录下,我们在使用代码时才可以调用这些库的函数。

另外,在ffpeg下载官网 http://www.ffmpeg.org/download.html 大家可以看到下图,除了下载源码之外,还有静态编译版本Linux Static Builds

这个静态版本因为将动态库都编到可执行文件中的缘故,不需要额外下载各种库,比如x264、yasm等等,而且配置参数都是默认的,安装了很多库,可以说很全面了。有了这个库,我们当然可以直接调用ffmpeg命令,进行各种音视频操作,但是因为它没有在usr命令下安装库文件等等,我们在OpenCV安装时会发现无法链接到FFmpeg,使用ln –s 源文件 目标文件进行链接也不管用。所以使用最好使用源码编译吧。

3.2 卸载方式

如果想要重新配置软件,可以选择卸载后重装。也可以在另一个路径重新安装这个软件。因为Linux下源码安装,实际上解释在某一路径下生成各种文件。

此处建议在./configure cmake qmake安装软件时,指定安装路径。如./configure --prefix=/usr/local/ffmpeg

这样方便软件移植卸载,比如说卸载FFmpeg,直接删除这个FFmpeg文件夹即可。

3.2.1 make uninstall

如果没有指定一个具体的路径,那么所有的软件都会在usr/local路径下,分门别类将自己的文件放到各个文件,比如usr/local/bin文件夹下,就有可能有ffmpeg以及opencv的可执行文件,都在一个文件夹下。那么就不确定哪个文件属于哪个,不方便手动删除。这是可以在原本的源码构建目录下使用make uninstall命令,可以自动删除软件。

索性,ffmpeg和opencv都可以使用make uninstall命令。

3.2.2 查找删除

如果没有配置--prefix选项,源码包也没有提供make uninstall,则可以通过以下方式可以完整卸载:

一个临时目录重新安装一遍,如:

$ ./configure --prefix=/tmp/to_remove && make install

然后遍历/tmp/to_remove的文件,删除对应安装位置的文件即可(因为/tmp/to_remove里的目录结构就是没有配置--prefix选项时的目录结构)。

所以,配置好路径之后,就可以删除源码包了。

微信公众号

欢迎大家关注我的个人公众号,现阶段主要总结Robomaster相关的计算机视觉知识。 公众号名称:三丰杂货铺

linux完全卸载ffmpeg_RoboMaster视觉教程Linux(四)软件安装和卸载相关推荐

  1. 树莓派卸载python2.7_树莓派上的软件安装和卸载命令汇总

    基础命令 安装软件 apt-get install softname1 softname2 softname3-- 卸载软件 apt-get remove softname1 softname2 so ...

  2. Kali Linux之软件安装、卸载、更新和修改更新源

    文章出自个人博客https://knightyun.github.io/2018/04/21/linux-sources-list,转载请申明 使用Linux系统,与Windows系统一样,也需要及时 ...

  3. Linux软件安装和卸载(rpm与yum)

    1.Rpm安装包管理 Rpm(Redhat package manager)是redhat(红帽子)公司出品的一种软件包管理工具.目前大多数的linux厂商都支持rpm,优点: 1,rpm方式安装软件 ...

  4. letswave7中文教程1:软件安装与脑电数据导入

    目录 1.安装 2.数据集介绍 3. 数据集导入 4.数据集检查 本分享为脑机学习者Rose整理发表于公众号:脑机接口社区 .QQ交流群:941473018 Letswave是一款非常好用的神经生理信 ...

  5. 安装ps教程,ps软件安装

    安装ps教程,ps软件安装.不管是平面设计还是ui设计,ps这个软件都是特别基础的一个东西.好多小伙伴说安装非常的麻烦,经常搞了几个小时还是没有安装上.还经常有人夸张的说,只要你成功的安装了ps,那么 ...

  6. Linux常用软件和安装方法,Linux软件安装与卸载常用方法(转)

    Linux下软件安装方法总结: 一.rpm包安装方式步骤: 1.找到相应的软件包,比如soft.version.rpm,下载到本机某个目录: 2.打开一个终端,su -成root用户: 3.cd so ...

  7. linux-linux常用命令总结四linux压缩、打包、解压命令软件安装管理rpm及yum的使用

    一.压缩和打包概念 压缩: 指通过某些算法,将文件尺寸进行相应的缩小,同时不损失文件的内容. 打包: 指将多个文件(或目录)合并成一个文件,方便传递或部署. 在Linux系统中,文件的后缀名不重要,但 ...

  8. Linux下软件安装和卸载

    在Windows下,我们安装软件基本上是先到网上下载软件的安装包,通常是以.exe和.msi为后缀的文件,然后双击安装包,之后就可以按照软件安装向导一步步进行安装了,但在Linux下,软件的安装方式截 ...

  9. linux死锁的例子,操作系统教程—Linux实例分析 孟庆昌 第8章 死锁new.ppt

    操作系统教程-Linux实例分析 孟庆昌 第8章 死锁new.ppt 第8章 死锁 8.1 概述 8.2 产生死锁的条件 8.3 死锁的预防 8.4 死锁的避免 8.5 死锁的检测与恢复 8.6 处理 ...

最新文章

  1. 时间序列数据库——索引用ES、聚合分析时加载数据用什么?docvalues的列存储貌似更优优势一些...
  2. python可以播放音乐吗_详解python播放音频的三种方法
  3. 春招收获阿里腾讯实习offer,学习、面试经验分享
  4. max与top的效率
  5. httpclient base64 文件上传_文件上传下载
  6. 6 操作系统第二章 进程管理 处理机调度
  7. h5 history
  8. python md5解密_python 生成文件MD5码
  9. ceph auth get_CPB羽梦幻境体验展来了!快来GET限量产品!
  10. VMware下CentOS6.8配置GFS文件系统
  11. 2018北科大计算机学院复试方案,2018年北京交通大学考研复试及录取办法
  12. 自己整理出来的一些标签
  13. docker容器运行后退出,怎么才能一直运行?【转】
  14. $.ajax+php实战教程之下拉时自动加载更多文章原理分析
  15. wx.getStorage异步和wx.getStorageSync同步区别
  16. Java主流框架技术及少量前端框架使用与总结
  17. 清空SQL数据库日志|数据库开发|SQL|web开发|快速开发|中间件平台|方正飞鸿|ES2007|
  18. 计算机学院主管学生日常工作的是,学生会的年度计划书(网络版)doc(完整版)...
  19. ARM版本ubuntu安装PL2303驱动
  20. 测试韩国真假唇釉软件,3ce蓝管唇釉怎么辨别真假 3ce唇釉推荐色号

热门文章

  1. 【面试】TCP、UDP、Socket、HTTP网络编程面试题
  2. 12.静态路由、静态缺省路由
  3. 软件开发详细设计说明书
  4. 数据结构与算法:实验报告(串及其应用)
  5. CreateProcess函数详解(转)
  6. 安装了向日葵或TeamViewer导致系统亮度无法调节
  7. 关于直接下载第三方IPA应用分发平台之蒲公英的研究
  8. Unity3d之骨骼动画
  9. 2017年内大892数据结构部分参考答案
  10. 关于relief算法选择特征的问题