程序包的编译安装

程序包的编译安装

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

一、杂项知识整理

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

相关推荐

  • Week 1 Linux Intro

    I.  Linux的各种发行版 All Kinds of Linux     在Linux诞生的20多年里,Linux衍变出了许许多多的版本,每个都有自己的名字,但它们的本质和它们的哲学观还是一样的。下面是从外网上扒下来的一张Linux进化图,跨度一直到了2016年。    &n…

    Linux干货 2016-06-26
  • 第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who (unknown) :0           2016-12-15 2…

    Linux干货 2016-12-20
  • 数据库存储引擎—InnoDB

    MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

    Linux干货 2018-02-22
  • N23-第一周博客作业

    一、计算机组成 由五大基本部件【运算器 + 控制器 + 储存器 + 输入设备 + 输出设备】组成且遵循冯诺依曼体系,CPU包含运算器和控制器两大部件。 CPU: 核心部件:运算器、控制器 其他部件:寄存器、缓存、等等 存储器:内存,RAM(Random Access Memory)随机访问存储器。 Input(输入设备):下指令,提供数据等,如:硬盘、键盘、…

    Linux干货 2016-09-15
  • Python入门之闭包,匿名函数,过滤器,映射器,折叠

    在学习python函数的过程中,函数的高阶应用包括闭包lambda函数,过滤器等都让我头痛不已.接下来我把课堂中听到的笔记进行整理,再写一遍,希望在提醒自己的同时也能帮助到别人. 首先,我们来看一下什么是闭包,闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见…

    Linux干货 2015-12-19
  • 马哥教育网络班第21期+第五周课程作业

    1、 显示/boot/grub/grub.conf中以至少一个空白字符开头的行; [root@redhat6 ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf   2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的…

    Linux干货 2016-08-08

评论列表(1条)

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

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