• Linux_软件安装和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
  • 相关阅读:
    【和我一起学习Unity3D】Unity3D的坐标控制
    android开发利器--站在巨人肩膀上前行
    Ubuntu输入password登陆后又跳回到登录界面
    Leetcode:Swap Nodes in Pairs 单链表相邻两节点逆置
    Android Home键监听
    Android 6.0 中TimePicker显示为滚动样式的方法
    Android Calendar的运用
    Android中Calendar类的用法总结
    Androlid入门之文件系统操作(三)文件读写
    Android入门之文件系统操作(二)文件操作相关指令
  • 原文地址:https://www.cnblogs.com/ytwang/p/16283485.html
Copyright © 2020-2023  润新知