`
huiqinbo
  • 浏览: 344559 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

libyaml源代码在linux下解压、安装及试用

 
阅读更多

libyaml源代码在linux下解压、安装及试用

     简简单单说明下:由于这几天项目需要调查YAML格式,所以我找了很多相关的信息,在忙中匆忙写了这篇文章,不足之处愿与您一起来检讨(回钦波  QQ:444084929)

 

应用场合举例

 

  由于libyaml包的权限是MIT权限,所以我们可以进行个人及商业使用。。。。

artC5C3

 

 

 

 

 

          artC5C3  所以做为用户我们可以重新配置、自由修改源代码,加入新的功能

 

源代码包发布格式

libyaml 封包:

art4B98.tar.gz 和 .tar.bz2 格式居多

 

md5sum校验工具

计算MD5校验和,并与官方提供的值相比较,判断是否一致

 

源码编译安装的基本过程

解包 —— tar

art55E8解包、释放出源代码文件

配置 —— ./configure

art55EA针对当前系统、软件环境,配置好安装参数

编译 —— make

art55EC将源代码文件变为二进制的可执行程序

安装 —— make install

art55EE将编译好的程序文件复制到系统中

 

确认源代码编译环境

artFC9A需安装支持 C/C++程序语言的 编译器

 

 

一步步安装介绍:

解压源代码包

tar –zxf 命令解压以.tar.gz结尾的源代码包

tar -jxf命令解压以.tar.bz2结尾的源代码包

参数-C 解压到指定目录

 说明:我个人是在WONDOWS XP 下解压的,然后传到了Linux上

 

artE0A需将工作目录切换到软件源码所在目录

             cd /home/hqb/yaml_0.1.4/yaml-0.1.4/

        

 

使用源码目录中的 configure 脚本

artE1B

 

 

 

           注:当时我运行./configure 时总报:

                -bash: ./configure: No such file or directory

               这个错误,后来才发现是我没有权限导致的,那我来给它设置一个高权限就OK了

            chmode  a+x configure

               即可!!

 

artE1C执行“./configure --help” 可以查看帮助

artE1D典型的配置选项:

                --prefix=软件安装目录   (若不指定任何配置选项,将采用默认值)编译

artE319执行 make 命令安装

artE31B执行 make install 命令

               可用命令make ;make install将2个命令一起执行,意思是先执行make,执行成功后再执行make install

 

 

 

一般编译安装需要执行3、4分钟,请耐心等待!

 

 

--------------------------------------------结束------------------------------------------------------------

 离下班还有点时间,我再来说下权限的事情吧:

 

刚才上面提到过,当我执行./configure时总是报错误,后来查明是权限不够,那么除了我用a+x来设置权限还有没有其它方式呢?或者来说a代表什么意思呢 +又代表什么意思呢?x又代表什么呢?

    让我们带着这样的疑问来看下面的解释。

这里涉及到CHMOD命令的解释,

CHMOD命令详解

使用的口令是 chmod a+x 文件名

who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所用用户, 相当于 ugo

operator的符号模式表:

Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置

permission的符号模式表:

模式 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限
X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
s setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位


如果你还有时间,参照下我从网站找的有关例子:

符号模式实例

对目录的所有者u和关联组g增加读r和写w权限:

$ chmod ug+rw mydir  $ ls -ld mydir  drw-rw----   2 unixguy  uguys  96 Dec 8 12:53 mydir  

对文件的所有用户ugo删除写w权限:

$ chmod a-w myfile  $ ls -l myfile  -r-xr-xr-x   2 unixguy  uguys 96 Dec 8 12:53 myfile  

mydir的所有者u和关联组g设置成读r和可执行x权限:

$ chmod ug=rx mydir  $ ls -ld mydir  dr-xr-x---   2 unixguy  uguys 96 Dec 8 12:53 mydir  

命令使用实例

命令说明
chmod a+r file 增加读权限对file的所有用户
chmod a-x file 删除执行权限对file的所有用户
chmod a+rw file 增加读写权限对file的所有用户
chmod +rwx file 增加读写执行权限对file的所有用户
chmod u=rw,go= file 设置读写权限对file的所有者,清空所有权限对file的用户组和其他用户
chmod -R u+r,go-r docs 对目录docs和其子目录层次结构中的所有文件增加所有用户的读权限,而对用户组和其他用户删除读权限
chmod 664 file 设置读写权限对file的所有者和用户组, 为其其他用户设置读权限
chmod 0755 file 相当于u=rwx (4+2+1),go=rx (4+1 & 4+1)0 没有特殊模式。
chmod 4755 file 4设置了设置用户ID位,剩下的相当于 u=rwx (4+2+1),go=rx (4+1 & 4+1)。
find path/ -type d -exec chmod a-x {} \; 删除可执行权限对path/以及其所有的目录(不包括文件)的所有用户,使用‘-type f'匹配文件
find path/ -type d -exec chmod a+x {} \; 允许所有用户浏览或通过目录path/

好了先写到这里。

更多交流、更多了解:

qq:444084929 (回钦波)

分享到:
评论

相关推荐

    linux下redmine安装及常见问题faq

    【Redmine在Linux下的安装与常见问题】 Redmine是一款开源的项目管理软件,适用于团队协作和任务跟踪。本文将详细介绍如何在Linux环境下,特别是Redhat Linux 5.5上安装Redmine 2.0及其相关组件,以及解决可能出现...

    libyaml-cpp (0.6)

    用于解决Ubuntu 20.04 ROS noetic rviz找不到yaml-cpp的错误。具体错误为输入 rviz rviz...修复方法为将本压缩包内的所有yaml文件复制到/usr/lib/x86_64-linux-gnu/下:sudo libyaml-cpp.* /usr/lib/x86_64-linux-gnu/

    yaml-cpp库的编译&安装

    为了在项目中使用yaml-cpp,我们需要先下载、解压源代码,然后进行编译和安装。以下是一步步的详细步骤: ### 一、下载 yaml-cpp库的官方仓库位于GitHub(https://github.com/jbeder/yaml-cpp)。你可以通过访问这...

    libyaml:LibYAML的规范源存储库

    这表明我们可以在此找到该库的最新源代码、开发历史以及可能的贡献指南,对于开发者来说,这是一个深入了解和定制libyaml的起点。 **标签解析:** 1. **c** - 表示这个库是用C语言编写的,C语言是一种底层、高效的...

    redmine3.3.1安装与常用插件安装.pdf

    在安装完依赖后,还需要从Ruby官方网站下载Ruby 2.3.1的源代码,并使用configure、make、make install的方式来编译安装Ruby。 RubyGems是Ruby的包管理器,类似于Python的pip或者Node.js的npm。通过RubyGems,可以...

    psych, ruby的libyaml包装器.zip

    psych, ruby的libyaml包装器 Psych https://github.com/ruby/psych描述Psych 是一个YAML分析器和发射器。 Psych 利用 libyaml 它的YAML解析和发射功能。 除了包装libyaml之外,Psych

    Install Ruby on Linux

    在Linux系统上安装Ruby on Rails和Lighttpd是一项常见的任务,尤其对于开发者来说,搭建这样的环境是构建Web应用的基础。Ruby on Rails是一个基于Ruby语言的开源Web开发框架,而Lighttpd则是一款轻量级的HTTP服务器...

    libYaml

    7. **跨平台**:由于是用C编写,libYaml可以在多种操作系统和硬件平台上运行,如Windows、Linux、macOS以及各种嵌入式系统。 8. **社区支持**:libYaml有一个活跃的开发者社区,提供了丰富的文档、示例代码和持续的...

    Ubuntu下使用rpm 软件包

    因此,在可能的情况下,优先考虑寻找适用于Ubuntu的.deb格式的软件包。 3. **安全性和信任**:在转换并安装.rpm文件之前,请确保该软件包来自可信的来源。由于转换过程中可能引入未知的风险,建议仅从官方或知名的...

    erlangForLinux_20.1.zip

    6. **编译与安装**:进入解压后的源代码目录,配置并编译Erlang: ``` cd otp_src_20.1 ./configure make sudo make install ``` 7. **验证安装**:安装完成后,你可以通过运行`erl`命令来验证Erlang是否...

    ruby在unbuntu的安装版本

    如果你从压缩包文件`ruby-2.1.5`中解压了源代码,你可以通过编译源代码的方式再次安装,但这通常不推荐,因为RVM已经为你提供了便捷的方法。 注意:在开发过程中,确保定期更新Ruby和相关gem,以获取最新的安全修复...

    Red Hat Enterprise Linux 环境passenger多ruby版本共存部署

    在Red Hat Enterprise Linux环境下,Passenger(又称为Phusion Passenger)是一种流行的Web服务器和应用程序服务器模块,主要用于托管Ruby on Rails应用。它简化了部署过程,提供了高性能和稳定性。本篇文章将探讨...

    libyaml-0.1.7-5.el8.x86_64.rpm

    官方离线安装包,亲测可用

    libyaml-devel-0.1.4-11.el7_0.x86_64.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    libyaml-0.1.7-5.el8.aarch64.rpm

    官方离线安装包,亲测可用

    centos离线搭建git服务器(附教程,源码包)

    1. **安装依赖**:在安装Git和Gogs之前,确保系统已安装必要的依赖,如`curl`, `gcc`, `make`, `zlib-devel`, `openssl-devel`, `libyaml-devel`, `libffi-devel`, `python-devel` 和 `perl-CPAN`。如果这些库没有...

    perl6-libyaml:libyaml说唱团体,在里昂很受欢迎

    YAML ::解析器:: LiBYAML 使用包装器并构造一个perl6数组/哈希/以其他方式表示YAML。 使用它的好处(或坏,我不在乎)。 use YAML::Parser::LibYAML; my $yaml = yaml-parse( ' path/to/yaml.yaml ' ); $yaml . ...

    Linux volatility 扫描工具的使用

    这款工具在Linux环境中广泛使用,因为它能够帮助安全专家和系统管理员在不重启系统的情况下,从活动或挂起的内存中提取信息。在本篇文章中,我们将深入探讨Volatility的工作原理、安装过程、基本用法以及一些关键...

    libyaml-0.1.4-11.el7_0.i686.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    libyaml-devel-0.1.7-5.el8.i686.rpm

    官方离线安装包,亲测可用

Global site tag (gtag.js) - Google Analytics