• Linux 学习记录五(软件的安装升级).


    一、gcc

    gcc是Linux上面最标准的C语言的编译程序,用来源代码的编译链接。

    gcc -c hello.c 编译产生目标文件hello.o
    gcc -O hello.c 编译产生目标文件,并进行优化
    gcc -o hello hello.c 生成hello这个可执行的二进制文件
     
    缺点:命令的冗余性,如果 C 语言程序中包含对其他函数或者程序的引用,那么其他程序也要编译成目标文件,然后一起编译成可执行文件,才能运行成功。一个大的程序引用是非常多的,所以用gcc来编译,显得很冗余。

    二、make

    用make进行宏编译,make的功能是简化编译过程中所下达的指令,如果编译完成之后,修改了某个原始码文件,则make只会去更新这个文件,其他的文件不会被改动。要使用make命令,是因为事先编写 好的 makefile 这个文件。然后make命令安装这个文件编译链接,大大简化了编译的步骤。
    makefile的基本语法:
      

      

    makefile变量的基本语法:

    • 变量和变量内容之间以=隔开,同时两边可以具有空格
    • 变量左边不可以有tab
    • 变量和变量的内容在=两边不能具有:
    • 在习惯上变量最好以 大写字母 为主
    • 运用变量时 以${变量} 或 $(变量)使用
    • shell的环境变量是可以被套用的,例如提到的CFLAGS这个变数
    • 在指令模式中也可以给予变量
    $@ 代表目前的目标

    三、Tarball

    安装的基本步骤:
      1、一般解压源代码到/usr/local/src 文件夹中
      2、./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks 在目标文件夹中生成makefile文件
      3、make clean 先清除也许打包的时候编译的目标文件
      4、make 编译成二进制文件
      5、make install 安装文件

    四、rpm

    软件安装的相关信息都被写入 /var/lib/rpm/ 中,我们查询是否有软件升级的需求,版本的比较也是来源于这个数据库。rpm安装软件最大的问题就是软件的相依属性问题,如果关联的软件没有安装,那么该软件也不能安装。
    rpm安装软件并查看安装信息(安装到自定义路径): rpm -ivh 软件名称 (--prefix /usr/local)
    rpm 测试此软件是否具有相依性: rpm -ivh 软件名称 --test
    rpm升级软件(软件存在,予以更新;软件不存在,予以安装): rpm -Uvh 软件名称
    rpm升级软件(软件存在,予以更新;软件不存在,不予以安装): rpm -Fvh 软件名称
    rpm查询软件:

    列出目前系统上面所有可能被更改过的文件:rpm -Va

    重建rpm数据库: rpm --rebuilddb 

    五、yum

    yum 是目前Linux最方便的软件管理工具,它比起rpm来可以自动处理软件的相依属性问题,以解决软件的安装、卸载、升级的问题.
    yum 查询的功能:
     
    列出目前服务器上可供本机进行升级的软件有哪些:yum list updates
    查看yum源列表:yum repolist
    安装软件:yum install 软件名称
    升级软件:yum update 软件名称
    卸载软件:yum remove 软件名称
    修改yum的源和配置文件:vim /etc/yum.repos.d/CentOS-Base.repo
    删除所有软件库的相关数据:yum clean all
    将已下载的软件文件删除:yum clean packages
    将下载的软件文件头删除:yum clean headers
    yum的软件群组的功能:
     
    备注:软件群组的安装默认是不安装 optional 软件的,如果,想要安装的话需要修改配置文件 vim /etc/yum.conf ,在文件中新增一行 group_package_types=default,mandatory,optional
     
    全系统自动升级所需要升级的软件
    yum -y update
    修改默认yum源为国内的阿里云yum源。官方的yum源在国内访问效果不佳,需要改为国内比较好的阿里云或者网易的yum源:
    #下载wget
    yum install -y wget
    #备份当前的yum源
    mv /etc/yum.repos.d /etc/yum.repos.d.backup
    #新建空的yum源设置目录
    mkdir /etc/yum.repos.d
    #下载阿里云的yum源配置
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    然后,重建缓存:

    yum clean all
    yum makecache
  • 相关阅读:
    U3D不同平台载入XML文件的方法——IOS MAC Android
    C++使用规范小记
    设置角色对象可见性
    编辑器菜单操作
    U3D资源动态加载异步方案探究
    Animation动画
    Unity3D失去焦点时继续渲染
    C#打开当前目录
    组件模式代码实践(C#版本)
    Unity3D批处理脚本
  • 原文地址:https://www.cnblogs.com/jmcui/p/7260982.html
Copyright © 2020-2023  润新知