app开发者平台在数字化时代的重要性与发展趋势解析
600
2022-11-16
RoboMaster视觉教程Linux(二)软件安装和卸载
RoboMaster视觉教程Linux(二)软件安装和卸载
文章目录
RoboMaster视觉教程Linux(二)软件安装和卸载
一 解压压缩命令一览
1.1 zip1.2 tar
二 usr文件夹解析
2.1 /usr/bin/2.2 /usr/include/2.3 /usr/lib2.4 /usr/local2.5 /usr/sbin2.6 /usr/share/2.7 /usr/src/
三 源码安装实例如ffmpeg以及Open CV
3.1 AutoTools及CMake及qmake
3.1.1 AutoTools3.1.2 CMake3.1.3 qmake
3.2 卸载方式
3.2.1 make uninstall3.2.2 查找删除
一 解压压缩命令一览
在-各种库进行安装的时候,会发现-的安装包有各式各样的后缀名。不同的后缀名解压的命令也大不相同。其实我们也没有那么普遍要用到解压的命令,当我们有需要的时候就尽管去搜索对应压缩包如何解压即可。不过这里还是应该介绍一下最常用的压缩与解压缩命令。
1.1 zip
# 压缩文件 -r一般用在文件夹的压缩,递归的意思zip -r test.zip file# 解压文件zip
这个命令一般是我们自己用,比如说我们有文件夹或文件需要传输的时候,我们用zip来进行压缩和解压缩。
1.2 tar
# 压缩文件 file1 和目录 dir2 到 test.tar.gztar -zcvf test.tar.gz file1 dir2# 解压 test.tar.gz(将 c 换成 x 即可)tar
主要是解压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-官网 大家可以看到下图,除了-源码之外,还有静态编译版本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选项时的目录结构)。
源码安装卸载参考阅读: 所以,配置好路径之后,就可以删除源码包了。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~