软件安装基本内容和Dockerfile中的情况

软件安装

适配
 软件属性依赖--查询--验证--升级--卸载
 验证与数字签名--数字签名检查
   原厂发布的GPG数字签名的公钥文件

Dockerfile
   ARG ENV   RUN    COPY   ENTRYPOINT  CMD  
Linux:
   wget cd mv  cp  unzip  tar  mkdir 
   echo    ln -s 
   apt-get update  apt-get install    apt-key adv 
   rm 
    ./configure    make   make install  cmake   ldconfig 
   &&    >
   
   文件地址
      /var/lib/apt/lists/*

Dockerfile

构建跨硬件架构(multi-arch)的docker镜像
  Multi architecture Docker镜像
   Docker 通过使用 manifest lists 技术来实现Multi architecture Docker镜像

软件管理器按安装

1.Centos-- OpenHarmony--yum

RedHat-Package-Manager<RPM>--以数据库记录的方式将软件安装到Linux操作系统的软件管理机制
  SRPM
  一般使用--开发使用--dev
  软件源--软件仓库
    /etc/yum.repos.d/

01.编辑repo文件
02.
03.yum clean all和yum makecache命令

2.Ubuntu --apt

cd /etc/apt/
  mv sources.list{,_bak}
  01.写入源地址
     内容写入 sources.list
  02.添加 pubkey--签名 
     curl -s -L https://test/repository/raw/keys/nvidia-container-runtime/gpgkey | sudo apt-key add -
	 
 或者 -- 将证书文件下载到本地,然后添加证书:
	 curl -s https://test/repository/raw/keys/pubkey/ros-new.asc | sudo apt-key add -
     sudo apt-add-repository "deb https://test/repository/apt-ros $(lsb_release -sc) main"
  03.apt-get update
  
说明
    apt 添加第三方库-- 添加第三方库,首先要获取该仓库的公共密钥
   # setup sources.list
     echo "deb http://packages.ros.org/ros/ubuntu bionic main" > /etc/apt/sources.list.d/ros1-latest.list
   # setup keys -- Ubuntu 的密钥服务器获取
     apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C1CF***654	
	 
  "add-apt-repository" 脚本添加 ppa 到当前的库中并且自动导入公钥
    add-apt-repository 是由 python-software-properties 这个工具包提供的所以要先安装python-software-properties 才能使用 add-apt-repository
    否则会显示“command not found”
    安装方法:apt-get install python-software-propertie

源码编译安装

概念:
   01. $PATH是运行可执行文件时的搜索路径
   02.#头文件搜索目录--由g++的配置prefix指定的
     ①先搜索	当前目录
     ②然后搜索	-I指定的目录
     ③再搜索	gcc环境变量 CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH)
     ④最后搜索	gcc内定目录
   03.动态链接库 
       1.动态库管理工具ldconfig和ldd
          ldd (list, dynamic, dependencies),即为:列出动态库依赖关系
          ldconfig 是系统动态库连接管理工具
          /lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf的,但是完了之后要调一下ldconfig
          主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(
            /etc/ld.so.cache  /etc/ld.so.conf 修改完成后需要执行ldconfig
     
1.Autoconf工具是autotools系列工具中的一个,运行之后可对configure.in脚本配置文件进行处理进而生成configure可执行文件  
 1)./configure:
    configure是一个脚本,一般由Autoconf工具生成,它会检验当前的系统环境,看是否满足安装软件所必需的条件
	configure脚本最后会生成一个Makefile文件
 automake用来生成Makefile.in文件

2.Cmake

3.catkin_make
   catkin_make是在catkin工作区中构建代码的便捷工具。 catkin_make遵循catkin工作区的标准布局

其他情况

gtm.zip 出现了解压替换的情况出现,(192 MB/s) - ‘gtm.zip’ saved 
 Archive:  gtm.zip
 replace gtm-1.0.2/.cproject? [y]es, [n]o, [A]ll, [N]one, [r]ename: 
 
 --说明有重复,查看历史版本中是否有操作,确认--查看的版本和使用的版本
 
 W: GPG error: https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  
    InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
 E: The repository 'https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  
    InRelease' is not signed.  
    由于没有公钥,无法验证下列签名:     
   apt-get:处理repository数字签名无效、过期、没有签名:
   即 如何强制 apt-get update?
  如题:方式 1:使用apt-get命令行选项:apt-get update --allow-insecure-repositories