程序包的编译安装

程序包的编译安装

    程序包的编译安装是比较重要的内容,在之后的网络知识以及服务的配置等学习方面也发挥着重要作用,是我们的必备技能。

一、杂项知识整理

1、which –skip-alias:跳过别名,直接查看原命令

[root@localhost ~]# which --skip-alias ls
/usr/bin/ls
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls

2、关于匿名函数:

echo "a" && type /aaa && echo "bbb" || {echo "aaa";exit 1;}

要使echo和exit作为同条件下的命令依次运行,使用匿名函数,exit后面也需要;以表明函数的括号为下一行。

使用小括号便使用了子进程,若exit之前使用&&则会使前面echo "bbb"命令执行正确之后直接退出

[root@localhost ~]# echo "a" && type /testdir/shelltest/mysh1.sh  && echo "bbb" || echo "aaa" && exit 1
a
/testdir/shelltest/mysh1.sh 是 /testdir/shelltest/mysh1.sh
bbb
登出

正确如下:

[root@localhost ~]# echo "a" && type /aaa && echo "bbb" || { echo "aaa" ; exit 1; }
a
-bash: type: /aaa: 未找到
aaa
登出

3、测试赋值:

[root@localhost ~]# [ aaa=bbb ]
[root@localhost ~]# echo $?
0
[root@localhost ~]# echo $aaa

4、rpm损坏:

重启系统,使用光盘启动,进入救援模式,执行命令rpm -ivh –root=/mnt/sys/image

必须制定root位置,否则会安装到光盘的虚拟根下。

5、主机传输:[root@localhost ~]# scp /testdir/11111.txt 10.1.252.95:/root

 

二、具体命令及事例

1、编译安装的步骤:

注意:安装之前查看INSTALL及README等说明文档。

◆安装开发包组,Development Tools

◆用tar解压,在其目录内./configure,加选项;

通过选项传递参数,指定启用特性、安装路径等;执行时会参考用户的指定以及makefile.in文件生成makefile

检查依赖到的外部环境;

make:根据makefile文件,构建应用程序;

make install:复制文件到相对路径。

当没有configure和make时,可用开发工具autoconfautomake

2、configure脚本:

选项:制定安装位置,指定启用的特性

–help 获取其支持使用的选项

–prefix=/PATH:制定默认的安装位置,默认为/usr/local/

–sysconfdir=/PATH:配置文件安装位置

optional features可选特性:

–disable-FEATURE

–enable-FEATURE

optional packages 可选包

–with-PACKAGE 依赖包

–without-PACKAGE禁用依赖关系

3、安装后的配置

二进制程序目录导入至PATH环境变量中:

编辑文件/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

导入库文件路径

编辑/etc/ld.so.conf.d/NAME.conf

添加新的库文件所在目录至此文件中;

让系统重新生成缓存:

ldconfig [-v]

导入头文件:

基于链接的方式实现

ln -sv,目录在/usr/include

导入帮助手册

编辑/etc/man.config|man_db.conf文件

添加一个新的MANPATH

原创文章,作者:SilencePavilion,如若转载,请注明出处:http://www.178linux.com/39855

(0)
SilencePavilionSilencePavilion
上一篇 2016-08-24 21:21
下一篇 2016-08-24 21:21

相关推荐

  • ansible批量部署主从DNS

    什么是DNS服务DNS的解析流程分析递归查询迭代查询DNS相关的术语说明生产环境中的应用Bind9常见配置说明使用ansible自动部署主从DNS 什么是DNS服务 DNS(Domain Name Service)是Internet上用于名称解析的服务,简单来说,就是将域名转换为IP地址的服务(正向解析),也可以用于将IP地址解析为对应的…

    Linux干货 2016-06-29
  • 网络21期第十周博客作业

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统    &n…

    Linux干货 2016-09-15
  • 用户、组及权限管理详解

    用户类别:Liunx中用户标识范围在0-65535之间; 超级用户(管理员) —— 默认为root,拥有所有权限。UID与GID值为0, 普通用户 系统用户 —— CentOS6中UID与GID值为1~499,CentOS7中UID与GID值为1~999。默认不能登录系统,存在主要是满足系统进程对文件属主的需求; 登录用户 —— CentOS6中UID与GI…

    2018-03-08
  • rpm包管理

    前言    RPM(简称RPM,全称为The RPM Package Manager)是在Linux下广泛使用的软件包管理器。RPM此名词可能是指.rpm的文件格式的软件包,也可能是指其本身的软件包管理器(RPM Package Manager)。最早由Red Hat研制,现在也由开源社区开发。RPM通常随附于Linux发行版,…

    Linux干货 2015-05-13
  • ip、ss、nmcli命令的使用

    配置Linux网络属性:ip命令 ip命令: ip – show / manipulate routing, devices, policy routing and tunnels ip [ OPTIONS ] OBJE…

    Linux干货 2016-07-29
  • 马哥教育网络班22期+第13周课程练习

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名; &n…

    Linux干货 2016-12-05

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-26 10:12

    内容整体很完整,如果加上实验性操作和操作过程中报错信息处理办法的经验呢总结会让文章整体更有说服力,突显用心