程序包的编译安装

程序包的编译安装

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

一、杂项知识整理

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
下一篇 2016-08-24

相关推荐

  • 位置变量$1,$2,$@,$*,$#详解

    位置变量: 位置变量实际是属于系统预定义变量的一种,不能修改变量名,同时作用也是固定的,也不能新增的变量,只能修改变量的值。     常用的位置参数变量        $0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号括起来,比如${11}.     该变…

    Linux干货 2016-08-18
  • 网络概念简述和Linux网络管理命令

    网络概念简述和Linux网络管理命令 1. 网络分类 我们通常接触到的网络通常是广域网、局域网 局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。 广域网(Wide Area Network,WAN):网络跨越国界、洲界,甚至全球范围。  因特网(Internet)是世界范围内最大的广域网。 2. …

    Linux干货 2016-04-19
  • N22-第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。     首先用who命令查看所有已登录用户信息,然后用cut命令取出用户名,再用sort -u对用户名排序并删除重复的用户名      2、取出最后登录到当前系统的用户的相关信息。  &n…

    Linux干货 2016-09-05
  • openssl关于CA证书的创建

    1、用openssl实现证书申请 先在/etc/pki/CA/目录下创建一个index.txt的文件,作为ca证书的数据库 在相同目录下创建一个serial的序列号文件,并写入01 生成ca的签名证书用到的私钥文件 注意:私钥的权限时600,文件名必须是cakey.pem 生成自签证书 这样私有CA建立完成 申请认证: 在申请的机器上生成私钥 生成申请文件 …

    Linux干货 2016-09-23
  • 文件的查找

    文件的查找 使用locate命令 默认从根开始搜索 非实时查找(数据库查找) locate 文件名 查询系统上预建的的文件索引数据库    /var/lib/mlocate/mlocate.db 依赖于事先构建的索引 索引的构建是在系统较为空闲时自动进行(周期性任务),管理员手动更新数据库(updatedb)。注意工作中不能轻易…

    Linux干货 2016-08-18
  • systemd管理

    centos7:systemdSystemd :系统启动和服务器守护进程管理器,负责在系统启动或运行时,          激活系统资源,服务器进程和其它进程Systemd 新特性:        系统引导时实现服务并行启动      &n…

    Linux干货 2017-04-10

评论列表(1条)

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

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