libyaml源代码在linux下解压、安装及试用
简简单单说明下:由于这几天项目需要调查YAML格式,所以我找了很多相关的信息,在忙中匆忙写了这篇文章,不足之处愿与您一起来检讨(回钦波 QQ:444084929)
应用场合举例
由于libyaml包的权限是MIT权限,所以我们可以进行个人及商业使用。。。。
所以做为用户我们可以重新配置、自由修改源代码,加入新的功能
源代码包发布格式
libyaml 封包:
.tar.gz 和 .tar.bz2 格式居多
md5sum校验工具
计算MD5校验和,并与官方提供的值相比较,判断是否一致
源码编译安装的基本过程
解包 —— tar
解包、释放出源代码文件
配置 —— ./configure
针对当前系统、软件环境,配置好安装参数
编译 —— make
将源代码文件变为二进制的可执行程序
安装 —— make install
将编译好的程序文件复制到系统中
确认源代码编译环境
需安装支持 C/C++程序语言的 编译器
一步步安装介绍:
解压源代码包
tar –zxf 命令解压以.tar.gz结尾的源代码包
tar -jxf命令解压以.tar.bz2结尾的源代码包
参数-C 解压到指定目录
说明:我个人是在WONDOWS XP 下解压的,然后传到了Linux上
需将工作目录切换到软件源码所在目录
cd /home/hqb/yaml_0.1.4/yaml-0.1.4/
使用源码目录中的 configure 脚本
注:当时我运行./configure 时总报:
-bash: ./configure: No such file or directory
这个错误,后来才发现是我没有权限导致的,那我来给它设置一个高权限就OK了
chmode a+x configure
即可!!
执行“./configure --help” 可以查看帮助
典型的配置选项:
--prefix=软件安装目录 (若不指定任何配置选项,将采用默认值)编译
执行 make 命令安装
执行 make install 命令
可用命令make ;make install将2个命令一起执行,意思是先执行make,执行成功后再执行make install
一般编译安装需要执行3、4分钟,请耐心等待!
--------------------------------------------结束------------------------------------------------------------
离下班还有点时间,我再来说下权限的事情吧:
刚才上面提到过,当我执行./configure时总是报错误,后来查明是权限不够,那么除了我用a+x来设置权限还有没有其它方式呢?或者来说a代表什么意思呢 +又代表什么意思呢?x又代表什么呢?
让我们带着这样的疑问来看下面的解释。
这里涉及到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 (回钦波)
分享到:
相关推荐
【Redmine在Linux下的安装与常见问题】 Redmine是一款开源的项目管理软件,适用于团队协作和任务跟踪。本文将详细介绍如何在Linux环境下,特别是Redhat Linux 5.5上安装Redmine 2.0及其相关组件,以及解决可能出现...
用于解决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库的官方仓库位于GitHub(https://github.com/jbeder/yaml-cpp)。你可以通过访问这...
这表明我们可以在此找到该库的最新源代码、开发历史以及可能的贡献指南,对于开发者来说,这是一个深入了解和定制libyaml的起点。 **标签解析:** 1. **c** - 表示这个库是用C语言编写的,C语言是一种底层、高效的...
在安装完依赖后,还需要从Ruby官方网站下载Ruby 2.3.1的源代码,并使用configure、make、make install的方式来编译安装Ruby。 RubyGems是Ruby的包管理器,类似于Python的pip或者Node.js的npm。通过RubyGems,可以...
psych, ruby的libyaml包装器 Psych https://github.com/ruby/psych描述Psych 是一个YAML分析器和发射器。 Psych 利用 libyaml 它的YAML解析和发射功能。 除了包装libyaml之外,Psych
在Linux系统上安装Ruby on Rails和Lighttpd是一项常见的任务,尤其对于开发者来说,搭建这样的环境是构建Web应用的基础。Ruby on Rails是一个基于Ruby语言的开源Web开发框架,而Lighttpd则是一款轻量级的HTTP服务器...
7. **跨平台**:由于是用C编写,libYaml可以在多种操作系统和硬件平台上运行,如Windows、Linux、macOS以及各种嵌入式系统。 8. **社区支持**:libYaml有一个活跃的开发者社区,提供了丰富的文档、示例代码和持续的...
因此,在可能的情况下,优先考虑寻找适用于Ubuntu的.deb格式的软件包。 3. **安全性和信任**:在转换并安装.rpm文件之前,请确保该软件包来自可信的来源。由于转换过程中可能引入未知的风险,建议仅从官方或知名的...
6. **编译与安装**:进入解压后的源代码目录,配置并编译Erlang: ``` cd otp_src_20.1 ./configure make sudo make install ``` 7. **验证安装**:安装完成后,你可以通过运行`erl`命令来验证Erlang是否...
如果你从压缩包文件`ruby-2.1.5`中解压了源代码,你可以通过编译源代码的方式再次安装,但这通常不推荐,因为RVM已经为你提供了便捷的方法。 注意:在开发过程中,确保定期更新Ruby和相关gem,以获取最新的安全修复...
在Red Hat Enterprise Linux环境下,Passenger(又称为Phusion Passenger)是一种流行的Web服务器和应用程序服务器模块,主要用于托管Ruby on Rails应用。它简化了部署过程,提供了高性能和稳定性。本篇文章将探讨...
官方离线安装包,亲测可用
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用
1. **安装依赖**:在安装Git和Gogs之前,确保系统已安装必要的依赖,如`curl`, `gcc`, `make`, `zlib-devel`, `openssl-devel`, `libyaml-devel`, `libffi-devel`, `python-devel` 和 `perl-CPAN`。如果这些库没有...
YAML ::解析器:: LiBYAML 使用包装器并构造一个perl6数组/哈希/以其他方式表示YAML。 使用它的好处(或坏,我不在乎)。 use YAML::Parser::LibYAML; my $yaml = yaml-parse( ' path/to/yaml.yaml ' ); $yaml . ...
这款工具在Linux环境中广泛使用,因为它能够帮助安全专家和系统管理员在不重启系统的情况下,从活动或挂起的内存中提取信息。在本篇文章中,我们将深入探讨Volatility的工作原理、安装过程、基本用法以及一些关键...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,亲测可用