当前位置: 首页 > news >正文

建设网站教程全集朝阳发布

建设网站教程全集,朝阳发布,深度科技有限公司,网页设计大赛策划案的背景交叉编译 acl 概述 访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。在 Linux 系统中,ACL 用于设定用户针对文件的权限,而不是在交换路由器中用来控制数据访问的功能(类似于防火墙…

交叉编译 acl

概述

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。在 Linux 系统中,ACL 用于设定用户针对文件的权限,而不是在交换路由器中用来控制数据访问的功能(类似于防火墙)。

可以从 https://savannah.nongnu.org/projects/acl 获取 ACL 源码。

acl
同时 ACL 也提供了 git 仓库进行代码管理与开发。

  • 网址:https://savannah.nongnu.org/projects/acl
  • git:https://git.savannah.nongnu.org/cgit/acl.git

下载

开发版本 (最新)

如果以研究学习为目的,或者希望尝试最新特性,又或者希望参与到 acl 的开发中,可以直接从 git 上拉取最新源码,拉取命令:

git clone https://git.savannah.nongnu.org/git/acl.git

发行版本

如果以商用量产为目的,一般选择正式的发行版本为佳。在 acl 的 Download 页面,源码以压缩包的形式提供,根据需求选择合适的版本进行下载,以 2.3.1 为例,下载源码包 acl-2.3.1.tar.gz.

也可以直接使用 wget 命令下载:

wget http://download.savannah.nongnu.org/releases/acl/acl-2.3.1.tar.gz

交叉编译

解压缩源码包,如果使用 git clone 拉回来的代码可以忽略这一步

tar -xvf acl-2.3.1.tar.gz

解压缩源码包之后可以先阅读 README 文档,从源码包的文件结构来看,acl 使用的是 ./configure, make, make install 的编译方法,经典的 UNIX 软件部署模式。

依赖关系:

在 acl 的文档及配置文件中有提及到依赖关系,最主要的是依赖 attr 库,完整编译可以先参考「交叉编译 attr」。需要注意的点就是,需要使用 make DESTDIR=$BUILDSYSROOT install 将编译产物部署到 sysroot 目录便于 acl 依赖,效果类似于 apt install *-dev 安装开发依赖包。

首先创建一个环境配置文件 aarch64-environment-setup,配置最重要的交叉编译环境变量。

aarch64-environment-setup:

export TOOLCHAIN_ROOT=/opt/toolchains/aarch64--glibc--stable-2022.03-1
export BUILDSYSROOT=$TOOLCHAIN_ROOT/aarch64-buildroot-linux-gnu/sysroot
export PATH=$TOOLCHAIN_ROOT/bin:$PATHexport PREFIX=/usrexport CC="aarch64-linux-gcc --sysroot=$BUILDSYSROOT"
export CXX="aarch64-linux-g++ --sysroot=$BUILDSYSROOT"
export CPP="aarch64-linux-gcc -E --sysroot=$BUILDSYSROOT"
export LD="aarch64-linux-ld --sysroot=$BUILDSYSROOT"
export AR=aarch64-linux-ar
export AS=aarch64-linux-as
export NM=aarch64-linux-nm
export GDB=aarch64-linux-gdb
export OBJDUMP=aarch64-linux-objdump
export OBJCOPY=aarch64-linux-objcopy
export RANLIB=aarch64-linux-ranlib
export READELF=aarch64-linux-readelf
export STRIP=aarch64-linux-stripexport CONFIGURE_FLAGS="--target=aarch64-linux --host=aarch64-linux --build=x86_64-linux --with-sysroot=$BUILDSYSROOT"export PKG_CONFIG_SYSROOT_DIR=$BUILDSYSROOT
export PKG_CONFIG_PATH=$BUILDSYSROOT/usr/lib/pkgconfig:$BUILDSYSROOT/usr/share/pkgconfig

在本示例中,交叉编译工具位于 /opt/toolchains/aarch64--glibc--stable-2022.03-1/bin 目录下,将该目录配置到 PATH 环境变量,让系统能够正确搜索到。同时在配置 CCCXXCPPLD 环境变量时指定 --sysroot=<dir> 参数让交叉编译器搜索 dir 目录下的头文件与库文件,而不是 /usr/include/usr/lib

source aarch64-environment-setup
./configure --prefix=/usr $CONFIGURE_FLAGS
make
make DESTDIR=$BUILDSYSROOT install-strip
  • 在源码目录下创建环境设置文件并调用 source 命令让环境变量生效
  • 执行源码包的 configure 文件,带上 --prefix 参数,指定安装路径。在配置文件中定义了临时的 CONFIGURE_FLAGS 来指定 --host--build 选项的值,具体的说明可以使用 ./configure --help 命令进行查阅
  • 执行 make 命令编译源码
  • 使用 DESTDIR 参数作为安装目标文件的前缀变量,后面带上你希望安装到的文件夹路径,在本示例中,BUILDSYSROOT 指的是交叉编译工具链的 sysroot 目录,此环境变量在 aarch64-environment-setup 中已定义。更详细介绍可以参考 DESTDIR 官方介绍,也可以参考我的博文《交叉编译 libcap》关于 DESTDIR 的用法说明。

最终你就可以在 $BUILDSYSROOT/usr 文件夹中找到交叉编译好的 acl 的头文件及库文件。Good luck.

欢迎关注我的公众号:飞翔的小黄鸭
也许会发现不一样的风景


△\triangle 交叉编译 attr

http://www.yayakq.cn/news/846050/

相关文章:

  • 网站建设课程设计要求贪玩原始传奇官方网站
  • 网站功能需求怎么写贴吧乱码链接怎么使用
  • 小羚羊网站怎么建设个人软件制作网站源码
  • 网站切图是指什么wordpress切换语言包
  • 列举网络营销的特点seo是哪里
  • 做网站时为什么导航时两行字网站非法收录用户信息
  • 学校网站用什么模板好网站百科怎么做
  • 阳江网站设计公司网络工程干什么的
  • wordpress子域名网站meta优化
  • 白城市住房建设局网站衡水seo营销
  • 个人网站开发工具福州seo技术培训
  • 网站公司维护南京专业网站制作公司有哪些
  • 甘家口网站建设免费的网站程序哪里好
  • 做农村电子商务的网站有哪些wordpress主题ashley
  • 做一个赚钱的网站推广方法策略
  • 马蜂窝网站怎么做wordpress 微商城
  • 网站建设和优化排名装修网站建设价格
  • 东莞网上做公司网站网站头像设计免费制作
  • 信宜手机网站建设公司wordpress 网易云歌单
  • 网站备案基础知识动漫视频网站html模板
  • 公司网站制作步骤aso关键字优化
  • 企业品牌网站建设类型wordpress如何防止被采集
  • 嘉兴网站制作哪家专业公司网站如何宣传推广
  • 衡阳网站建设ss0734本机做网站如何访问
  • icp网站备案系统sem培训班学费哪个好
  • 台州网站设计公司网站商标设计图案免费
  • 上海十大it外包公司广东做seo的公司
  • 优化网站排名怎么样王野天津卫视
  • 专业的传媒行业网站开发wordpress的index.php
  • 拥有服务器后如何做网站平面设计素材库