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

html网站开发如何进行搜索引擎营销

html网站开发,如何进行搜索引擎营销,wordpress旅游博客,网站建设 响应式 北京在AppArmor零知识学习六、源码构建(3)中,详细介绍了libapparmor的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进…

在AppArmor零知识学习六、源码构建(3)中,详细介绍了libapparmor的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进行修改。

必须说明以下两点:

(1)Binary Utilities的构建必须在前述步骤(配置环境变量和libapparmor构建)的基础上才能进行。关于这两个步骤,请参阅:AppArmor零知识学习四、源码构建(1)和AppArmor零知识学习五、源码构建(2);

(2)前文libapparmor非默认目录构建和安装中的步骤是为了制作包时使用,由于其没有将目标文件放到/usr/local下,因此实际上并没有起作用。真正起作用的是之前按照默认参数构建的libapparmor相关组件。

接下来,开始Binary Utilities自定义安装目录的构建和安装。

(1)进入binutils目录

通过cd命令进入apparmor源码根目录下的binutils目录。实际命令及结果如下: 

penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor$ cd binutils/
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/binutils$ pwd
/home/penghao/AppArmor/apparmor_2/apparmor/binutilspenghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/binutils$ ls
aa-enabled    aa_enabled.c    aa-exec    aa_exec.c    aa-features-abi    aa_features_abi.c    aa-status    aa_status.c    cJSON.c  cJSON.o   po
aa-enabled.1  aa-enabled.pod  aa-exec.1  aa-exec.pod  aa-features-abi.1  aa-features-abi.pod  aa-status.8  aa-status.pod  cJSON.h  Makefile

(2)编译

运行make命令进行编译,实际命令及结果如下:

$ make
cc -L../libraries/libapparmor//src/.libs -g -O2 -pipe    -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -DPACKAGE=\"aa-binutils\" -DLOCALEDIR=\"/usr/share/locale\" -I../libraries/libapparmor//include -o aa-enabled aa_enabled.c  -Wl,-Bstatic -lapparmor  -Wl,-Bdynamic -lpthread 
cc -L../libraries/libapparmor//src/.libs -g -O2 -pipe    -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -DPACKAGE=\"aa-binutils\" -DLOCALEDIR=\"/usr/share/locale\" -I../libraries/libapparmor//include -o aa-exec aa_exec.c  -Wl,-Bstatic -lapparmor  -Wl,-Bdynamic -lpthread
cc -L../libraries/libapparmor//src/.libs -g -O2 -pipe    -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -DPACKAGE=\"aa-binutils\" -DLOCALEDIR=\"/usr/share/locale\" -I../libraries/libapparmor//include -o aa-features-abi aa_features_abi.c  -Wl,-Bstatic -lapparmor  -Wl,-Bdynamic -lpthread
cc -g -O2 -pipe    -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -DPACKAGE=\"aa-binutils\" -DLOCALEDIR=\"/usr/share/locale\" -I../libraries/libapparmor//include -c -o cJSON.o cJSON.c
cc -L../libraries/libapparmor//src/.libs -g -O2 -pipe    -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -DPACKAGE=\"aa-binutils\" -DLOCALEDIR=\"/usr/share/locale\" -I../libraries/libapparmor//include -o aa-status aa_status.c  -Wl,-Bstatic -lapparmor  -Wl,-Bdynamic -lpthread cJSON.o
/usr/bin/pod2man aa-enabled.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=1 > aa-enabled.1
/usr/bin/pod2man aa-exec.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=1 > aa-exec.1
/usr/bin/pod2man aa-features-abi.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=1 > aa-features-abi.1
/usr/bin/pod2man aa-status.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-status.8
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
msgfmt -c -o af.mo af.po
af.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o de.mo de.po
msgfmt -c -o en_GB.mo en_GB.po
msgfmt -c -o es.mo es.po
es.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o fa.mo fa.po
fa.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o fi.mo fi.po
fi.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o id.mo id.po
msgfmt -c -o pt.mo pt.po
msgfmt -c -o ro.mo ro.po
ro.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o ru.mo ru.po
msgfmt -c -o sv.mo sv.po
sv.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o sw.mo sw.po
sw.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o tr.mo tr.po
tr.po:7: 警告:头部缺少文件头“Language”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”

(3)检查

运行make check命令进行检查。实际命令及结果如下:

$ make check
LANG=C podchecker -warning -warning *.pod
aa-enabled.pod pod syntax OK.
aa-exec.pod pod syntax OK.
aa-features-abi.pod pod syntax OK.
aa-status.pod pod syntax OK.
no tests atm

(4)安装

运行make install命令进行安装,实际命令及结果如下(注意DESTDIR=的参数):

$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
make[1]: 对“all”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
make -C po install NAME=aa-binutils DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
mkdir -p /home/penghao/AppArmor/apparmor_2/output2//usr/share/locale
for lang in  af  de  en_GB  es  fa  fi  id  pt  ro  ru  sv  sw  tr ; do \mkdir -p /home/penghao/AppArmor/apparmor_2/output2//usr/share/locale/${lang}/LC_MESSAGES ; \install -m 644 ${lang}.mo /home/penghao/AppArmor/apparmor_2/output2//usr/share/locale/${lang}/LC_MESSAGES/aa-binutils.mo ; \
done
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
make install_manpages DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils”
install -d /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man1 ; install -m 644 aa-enabled.1 aa-exec.1 aa-features-abi.1 /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man1;   install -d /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man8 ; install -m 644 aa-status.8 /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man8; 
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils”
ln -sf aa-status.8 /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man8/apparmor_status.8
install -m 755 -d /home/penghao/AppArmor/apparmor_2/output2/usr/bin
install -m 755 aa-enabled aa-exec aa-features-abi /home/penghao/AppArmor/apparmor_2/output2/usr/bin
install -m 755 -d /home/penghao/AppArmor/apparmor_2/output2/usr/sbin
ln -sf aa-status /home/penghao/AppArmor/apparmor_2/output2/usr/sbin/apparmor_status
install -m 755 aa-status /home/penghao/AppArmor/apparmor_2/output2/usr/sbin

(5)查看生成内容

查看一下通过make DESTDIR=/home/penghao/AppArmor/apparmor_2/output2配置后实际的生成文件及路径:

usr
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/binutils$ ls ../../output2/usr/
bin  sbin  share
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/binutils$ tree ../../output2/
../../output2/
└── usr├── bin│   ├── aa-enabled│   ├── aa-exec│   └── aa-features-abi├── sbin│   ├── aa-status│   └── apparmor_status -> aa-status└── share├── locale│   ├── af│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── de│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── en_GB│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── es│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── fa│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── fi│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── id│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── pt│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── ro│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── ru│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── sv│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── sw│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   └── tr│       └── LC_MESSAGES│           └── aa-binutils.mo└── man├── man1│   ├── aa-enabled.1│   ├── aa-exec.1│   └── aa-features-abi.1└── man8├── aa-status.8└── apparmor_status.8 -> aa-status.834 directories, 23 files

这里将生成目标放到了output2文件夹下,是为了看清楚Binary Utilities都生成了哪些内容。最终还是要安装到之前的output目录下。

更换DESTDIR=参数后再次进行安装,实际命令及结果如下:

$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
make[1]: 对“all”无需做任何事。make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
make -C po install NAME=aa-binutils DESTDIR=/home/penghao/AppArmor/apparmor_2/output
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
mkdir -p /home/penghao/AppArmor/apparmor_2/output//usr/share/locale
for lang in  af  de  en_GB  es  fa  fi  id  pt  ro  ru  sv  sw  tr ; do \mkdir -p /home/penghao/AppArmor/apparmor_2/output//usr/share/locale/${lang}/LC_MESSAGES ; \install -m 644 ${lang}.mo /home/penghao/AppArmor/apparmor_2/output//usr/share/locale/${lang}/LC_MESSAGES/aa-binutils.mo ; \
done
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils/po”
make install_manpages DESTDIR=/home/penghao/AppArmor/apparmor_2/output
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils”
install -d /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man1 ; install -m 644 aa-enabled.1 aa-exec.1 aa-features-abi.1 /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man1;   install -d /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man8 ; install -m 644 aa-status.8 /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man8; 
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/binutils”
ln -sf aa-status.8 /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man8/apparmor_status.8
install -m 755 -d /home/penghao/AppArmor/apparmor_2/output/usr/bin
install -m 755 aa-enabled aa-exec aa-features-abi /home/penghao/AppArmor/apparmor_2/output/usr/bin
install -m 755 -d /home/penghao/AppArmor/apparmor_2/output/usr/sbin
ln -sf aa-status /home/penghao/AppArmor/apparmor_2/output/usr/sbin/apparmor_status
install -m 755 aa-status /home/penghao/AppArmor/apparmor_2/output/usr/sbin

对比一下output在安装Binary Utilities前后的变化:

安装前

$ tree ../../output
../../output
└── usr└── local├── include│   ├── aalogparse│   │   └── aalogparse.h│   └── sys│       ├── apparmor.h│       └── apparmor_private.h├── lib│   ├── libapparmor.a│   ├── libapparmor.la│   ├── libapparmor.so -> libapparmor.so.1.12.2│   ├── libapparmor.so.1 -> libapparmor.so.1.12.2│   ├── libapparmor.so.1.12.2│   ├── perl5│   │   └── 5.36│   │       ├── core_perl│   │       │   └── perllocal.pod│   │       └── vendor_perl│   │           ├── auto│   │           │   └── LibAppArmor│   │           │       └── LibAppArmor.so│   │           └── LibAppArmor.pm│   ├── pkgconfig│   │   └── libapparmor.pc│   └── python3.10│       └── site-packages│           ├── LibAppArmor│           │   ├── __init__.py│           │   ├── _LibAppArmor.cpython-310-x86_64-linux-gnu.so│           │   ├── LibAppArmor.py│           │   └── __pycache__│           │       ├── __init__.cpython-310.pyc│           │       └── LibAppArmor.cpython-310.pyc│           └── LibAppArmor-3.1.0-py3.10.egg-info│               ├── dependency_links.txt│               ├── PKG-INFO│               ├── SOURCES.txt│               └── top_level.txt└── share└── man├── man2│   ├── aa_change_hat.2│   ├── aa_change_profile.2│   ├── aa_find_mountpoint.2│   ├── aa_getcon.2│   ├── aa_query_label.2│   └── aa_stack_profile.2└── man3├── aa_features.3├── aa_kernel_interface.3├── aa_policy_cache.3└── aa_splitcon.322 directories, 31 files

安装后

$ tree ../../output
../../output
└── usr├── bin│   ├── aa-enabled│   ├── aa-exec│   └── aa-features-abi├── local│   ├── include│   │   ├── aalogparse│   │   │   └── aalogparse.h│   │   └── sys│   │       ├── apparmor.h│   │       └── apparmor_private.h│   ├── lib│   │   ├── libapparmor.a│   │   ├── libapparmor.la│   │   ├── libapparmor.so -> libapparmor.so.1.12.2│   │   ├── libapparmor.so.1 -> libapparmor.so.1.12.2│   │   ├── libapparmor.so.1.12.2│   │   ├── perl5│   │   │   └── 5.36│   │   │       ├── core_perl│   │   │       │   └── perllocal.pod│   │   │       └── vendor_perl│   │   │           ├── auto│   │   │           │   └── LibAppArmor│   │   │           │       └── LibAppArmor.so│   │   │           └── LibAppArmor.pm│   │   ├── pkgconfig│   │   │   └── libapparmor.pc│   │   └── python3.10│   │       └── site-packages│   │           ├── LibAppArmor│   │           │   ├── __init__.py│   │           │   ├── _LibAppArmor.cpython-310-x86_64-linux-gnu.so│   │           │   ├── LibAppArmor.py│   │           │   └── __pycache__│   │           │       ├── __init__.cpython-310.pyc│   │           │       └── LibAppArmor.cpython-310.pyc│   │           └── LibAppArmor-3.1.0-py3.10.egg-info│   │               ├── dependency_links.txt│   │               ├── PKG-INFO│   │               ├── SOURCES.txt│   │               └── top_level.txt│   └── share│       └── man│           ├── man2│           │   ├── aa_change_hat.2│           │   ├── aa_change_profile.2│           │   ├── aa_find_mountpoint.2│           │   ├── aa_getcon.2│           │   ├── aa_query_label.2│           │   └── aa_stack_profile.2│           └── man3│               ├── aa_features.3│               ├── aa_kernel_interface.3│               ├── aa_policy_cache.3│               └── aa_splitcon.3├── sbin│   ├── aa-status│   └── apparmor_status -> aa-status└── share├── locale│   ├── af│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── de│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── en_GB│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── es│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── fa│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── fi│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── id│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── pt│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── ro│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── ru│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── sv│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   ├── sw│   │   └── LC_MESSAGES│   │       └── aa-binutils.mo│   └── tr│       └── LC_MESSAGES│           └── aa-binutils.mo└── man├── man1│   ├── aa-enabled.1│   ├── aa-exec.1│   └── aa-features-abi.1└── man8├── aa-status.8└── apparmor_status.8 -> aa-status.855 directories, 54 files

http://www.hkea.cn/news/949693/

相关文章:

  • 嘉兴做网站的哪家好龙岗网站制作
  • 论坛做网站好吗百度官方网页
  • 微信开发者工具获取系统日期seo优化一般包括
  • 怎么用文本做网站百度排行榜风云榜
  • 未来网站开发需求多搜索网站有哪几个
  • 网站建设 成都郑州高端网站制作
  • 快站怎么做淘客网站深圳关键词
  • 做网站时如何去掉网站横条小红书软文案例
  • 图虫南宁百度快速排名优化
  • 上城网站建设app推广文案
  • 网站建设特点宁波seo搜索引擎优化公司
  • 地产商网站建设网球新闻最新消息
  • 做爰全过程网站免费的视频谷歌seo搜索引擎
  • 怎么架设网站seo推广培训
  • 自己网站做问卷调查网页设计学生作业模板
  • 清远企业网站排名深圳网站建设系统
  • 互助平台网站建设费用卡点视频免费制作软件
  • 上海做b2b国际网站公司排名优化公司电话
  • 裙晖wordpress重庆seo整站优化
  • 乌克兰网站后缀谷歌浏览器下载电脑版
  • 建设部网站撤销注册资质的都是公职人员吗正规网络公司关键词排名优化
  • 杂志网站建设推广方案铜川网络推广
  • 网站建设后怎么搜索引擎优化解释
  • 网站建设维护 天博网络成都营销型网站制作
  • 秦皇岛北京网站建设百度广告投放电话
  • 团购做的比较好的网站营销推广ppt
  • 网站怎么做网站地图重庆网站制作公司哪家好
  • wordpress改地址后打不开seo品牌优化整站优化
  • 网页设计师证书含金量高吗百度网络优化
  • 咸阳网站开发长沙seo优化公司