在AppArmor零知识学习八、源码构建(5)中,详细介绍了Utilities的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进行修改。
必须说明以下两点:
(1)Utilities的构建必须在前述步骤(配置环境变量和libapparmor构建)的基础上才能进行。关于这两个步骤,请参阅:AppArmor零知识学习四、源码构建(1)和AppArmor零知识学习五、源码构建(2);
(2)前文libapparmor非默认目录构建和安装中的步骤是为了制作包时使用,由于其没有将目标文件放到/usr/local下,因此实际上并没有起作用。真正起作用的是之前按照默认参数构建的libapparmor相关组件。
接下来,开始Utilities自定义安装目录的构建和安装。
(1)进入utils目录
通过cd命令进入apparmor源码根目录下的utils目录。实际命令及结果如下所示:
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor$ cd utils/
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/utils$ pwd
/home/penghao/AppArmor/apparmor_2/apparmor/utils
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/utils$ ls
aa-audit aa-autodep.pod aa-complain.8.html aa-disable.8 aa-enforce aa-genprof.pod aa-mergeprof.8.html aa-remove-unknown aa-unconfined.8 easyprof po
aa-audit.8 aa-cleanprof aa-complain.pod aa-disable.8.html aa-enforce.8 aa-logprof aa-mergeprof.pod aa-remove-unknown.8 aa-unconfined.8.html logprof.conf pod2htmd.tmp
aa-audit.8.html aa-cleanprof.8 aa-decode aa-disable.pod aa-enforce.8.html aa-logprof.8 aa-notify aa-remove-unknown.8.html aa-unconfined.pod logprof.conf.5 python-tools-setup.py
aa-audit.pod aa-cleanprof.8.html aa-decode.8 aa-easyprof aa-enforce.pod aa-logprof.8.html aa-notify.8 aa-remove-unknown.pod apparmor logprof.conf.5.html README.md
aa-autodep aa-cleanprof.pod aa-decode.8.html aa-easyprof.8 aa-genprof aa-logprof.pod aa-notify.8.html aa-sandbox apparmor.egg-info logprof.conf.pod severity.db
aa-autodep.8 aa-complain aa-decode.pod aa-easyprof.8.html aa-genprof.8 aa-mergeprof aa-notify.desktop aa-sandbox.pod build Makefile test
aa-autodep.8.html aa-complain.8 aa-disable aa-easyprof.pod aa-genprof.8.html aa-mergeprof.8 aa-notify.pod aa-unconfined check_po.pl notify.conf vim
(2)编译
运行make命令进行编译。实际命令及结果如下:
$ make
/usr/bin/pod2man aa-easyprof.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-easyprof.8
/usr/bin/pod2man aa-genprof.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-genprof.8
/usr/bin/pod2man aa-logprof.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-logprof.8
/usr/bin/pod2man aa-cleanprof.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-cleanprof.8
/usr/bin/pod2man aa-mergeprof.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-mergeprof.8
/usr/bin/pod2man aa-autodep.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-autodep.8
/usr/bin/pod2man aa-audit.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-audit.8
/usr/bin/pod2man aa-complain.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-complain.8
/usr/bin/pod2man aa-enforce.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-enforce.8
/usr/bin/pod2man aa-disable.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-disable.8
/usr/bin/pod2man aa-notify.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-notify.8
/usr/bin/pod2man aa-unconfined.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-unconfined.8
/usr/bin/pod2man aa-decode.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-decode.8
/usr/bin/pod2man aa-remove-unknown.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=8 > aa-remove-unknown.8
/usr/bin/pod2man logprof.conf.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=5 > logprof.conf.5
/usr/bin/pod2html --header --css apparmor.css --infile=aa-easyprof.pod --outfile=aa-easyprof.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-genprof.pod --outfile=aa-genprof.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-logprof.pod --outfile=aa-logprof.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-cleanprof.pod --outfile=aa-cleanprof.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-mergeprof.pod --outfile=aa-mergeprof.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-autodep.pod --outfile=aa-autodep.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-audit.pod --outfile=aa-audit.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-complain.pod --outfile=aa-complain.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-enforce.pod --outfile=aa-enforce.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-disable.pod --outfile=aa-disable.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-notify.pod --outfile=aa-notify.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-unconfined.pod --outfile=aa-unconfined.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-decode.pod --outfile=aa-decode.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=aa-remove-unknown.pod --outfile=aa-remove-unknown.8.html
/usr/bin/pod2html --header --css apparmor.css --infile=logprof.conf.pod --outfile=logprof.conf.5.html
make -C po all
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/po”
msgfmt -c -o af.mo af.po
af.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o be.mo be.po
be.po:7: 警告:文件头“Last-Translator”仍然是默认值未改变be.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o bo.mo bo.po
bo.po:7: 警告:文件头“Last-Translator”仍然是默认值未改变bo.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o bs.mo bs.po
msgfmt -c -o cs.mo cs.po
cs.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 fr.mo fr.po
msgfmt -c -o gl.mo gl.po
gl.po:7: 警告:文件头“Last-Translator”仍然是默认值未改变gl.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o hi.mo hi.po
msgfmt -c -o id.mo id.po
msgfmt -c -o it.mo it.po
msgfmt -c -o ko.mo ko.po
msgfmt -c -o oc.mo oc.po
oc.po:7: 警告:文件头“Last-Translator”仍然是默认值未改变oc.po:7: 警告:头部缺少文件头“Language”
msgfmt -c -o pl.mo pl.po
msgfmt -c -o pt_BR.mo pt_BR.po
pt_BR.po:7: 警告:头部缺少文件头“Language”
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
msgfmt -c -o tr.mo tr.po
msgfmt -c -o ug.mo ug.po
msgfmt -c -o uk.mo uk.po
msgfmt -c -o zh_CN.mo zh_CN.po
zh_CN.po:7: 警告:头部缺少文件头“Language”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/po”
make -C vim all
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
/usr/bin/python3 create-apparmor.vim.py > apparmor.vim || { rm -f apparmor.vim ; exit 1; }
/usr/bin/pod2man apparmor.vim.pod --release="AppArmor 3.1.0" --center=AppArmor --stderr --section=5 > apparmor.vim.5
/usr/bin/pod2html --header --css apparmor.css --infile=apparmor.vim.pod --outfile=apparmor.vim.5.html
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
(3)检查
运行make check命令进行检查。实际命令及结果如下:
$ make check PYFLAKES=/usr/bin/pyflakes3
LANG=C podchecker -warning -warning *.pod
aa-audit.pod pod syntax OK.
aa-autodep.pod pod syntax OK.
aa-cleanprof.pod pod syntax OK.
aa-complain.pod pod syntax OK.
aa-decode.pod pod syntax OK.
aa-disable.pod pod syntax OK.
aa-easyprof.pod pod syntax OK.
aa-enforce.pod pod syntax OK.
aa-genprof.pod pod syntax OK.
aa-logprof.pod pod syntax OK.
aa-mergeprof.pod pod syntax OK.
aa-notify.pod pod syntax OK.
aa-remove-unknown.pod pod syntax OK.
aa-sandbox.pod pod syntax OK.
aa-unconfined.pod pod syntax OK.
logprof.conf.pod pod syntax OK.
Checking aa-easyprof
Checking aa-genprof
Checking aa-logprof
Checking aa-cleanprof
Checking aa-mergeprof
Checking aa-autodep
Checking aa-audit
Checking aa-complain
Checking aa-enforce
Checking aa-disable
Checking aa-notify
Checking aa-unconfined
Checking apparmor
Checking test/common_test.py
Checking test/test-aa-cli-bootstrap.py
Checking test/test-aa-decode.py
Checking test/test-aa-easyprof.py
Checking test/test-aa-notify.py
Checking test/test-aa.py
Checking test/test-aare.py
Checking test/test-abi.py
Checking test/test-alias.py
Checking test/test-baserule.py
Checking test/test-boolean.py
Checking test/test-capability.py
Checking test/test-change_profile.py
Checking test/test-common.py
Checking test/test-config.py
Checking test/test-dbus.py
Checking test/test-example.py
Checking test/test-file.py
Checking test/test-include.py
Checking test/test-libapparmor-test_multi.py
Checking test/test-logparser.py
Checking test/test-minitools.py
Checking test/test-mount_parse.py
Checking test/test-mqueue.py
Checking test/test-network.py
Checking test/test-notify.py
Checking test/test-parser-simple-tests.py
Checking test/test-pivot_root_parse.py
Checking test/test-profile-list.py
Checking test/test-profiles.py
Checking test/test-profile-storage.py
Checking test/test-ptrace.py
Checking test/test-regex_matches.py
Checking test/test-rlimit.py
Checking test/test-severity.py
Checking test/test-signal.py
Checking test/test-translations.py
Checking test/test-unix_parse.py
Checking test/test-userns.py
Checking test/test-variable.py
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/test”
=== test-aa-cli-bootstrap.py ===
.....
----------------------------------------------------------------------
Ran 5 tests in 0.109s
OK
=== test-aa-decode.py ===
..........
----------------------------------------------------------------------
Ran 10 tests in 0.297s
OK
=== test-aa-easyprof.py ===
.........................................
# vim:syntax=apparmor
# test-template
# AppArmor policy for foo
# ###AUTHOR###
# ###COPYRIGHT###
# ###COMMENT###
#include <tunables/global>
# No template variables specified
"/opt/bin/foo" {
#include <abstractions/base>
# No abstractions specified
# No policy groups specified
# No read paths specified
# No write paths specified
bzzzt
..........................................................................................WARN: Manifest definition is potentially unsafe
found 'user-tmp' abstraction
..WARN: Manifest definition is potentially unsafe
profile_name 'bin/*'
..WARN: Manifest definition is potentially unsafe
@{VAR1}=f*o
WARN: Manifest definition is potentially unsafe
@{VAR2}=*foo
WARN: Manifest definition is potentially unsafe
@{VAR3}=fo*
WARN: Manifest definition is potentially unsafe
@{VAR4}=b{ar
WARN: Manifest definition is potentially unsafe
@{VAR5}=b{a,r}
WARN: Manifest definition is potentially unsafe
@{VAR6}=b}ar
WARN: Manifest definition is potentially unsafe
@{VAR7}=bar[0-9]
WARN: Manifest definition is potentially unsafe
@{VAR8}=b{ar
WARN: Manifest definition is potentially unsafe
@{VAR9}=foo/bar
..
----------------------------------------------------------------------
Ran 137 tests in 1.179s
OK
=== test-aa-notify.py ===
.....
----------------------------------------------------------------------
Ran 5 tests in 0.442s
OK
=== test-aa.py ===
..Traceback (most recent call last):
File "/home/penghao/AppArmor/apparmor_2/apparmor/utils/test/./fake_ldd", line 60, in <module>
raise Exception('unknown parameter in fake_ldd: ' + sys.argv[1])
Exception: unknown parameter in fake_ldd: invalid
..................................................................................
Execute target /tmp/aa-test-g1uyk9gs/file-not-found does not exist!
.
Execute target /dev/null is not a file!
...................................................................
----------------------------------------------------------------------
Ran 152 tests in 0.839s
OK
=== test-aare.py ===
............................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 220 tests in 0.009s
OK
=== test-abi.py ===
....................................................
----------------------------------------------------------------------
Ran 52 tests in 0.002s
OK
=== test-alias.py ===
..........................................
----------------------------------------------------------------------
Ran 42 tests in 0.001s
OK
=== test-baserule.py ===
............
----------------------------------------------------------------------
Ran 12 tests in 0.002s
OK
=== test-boolean.py ===
...............................................
----------------------------------------------------------------------
Ran 47 tests in 0.002s
OK
=== test-capability.py ===
.............................................................................WARN: unknown capability: foo
..............
----------------------------------------------------------------------
Ran 91 tests in 0.012s
OK
=== test-change_profile.py ===
...............................................................................................................................
----------------------------------------------------------------------
Ran 127 tests in 0.004s
OK
=== test-common.py ===
.........
----------------------------------------------------------------------
Ran 9 tests in 0.000s
OK
=== test-config.py ===
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
=== test-dbus.py ===
..............................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 334 tests in 0.015s
OK
=== test-example.py ===
.......
----------------------------------------------------------------------
Ran 7 tests in 0.000s
OK
=== test-file.py ===
..............................................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 350 tests in 0.040s
OK
=== test-include.py ===
.......................................................................................
----------------------------------------------------------------------
Ran 87 tests in 0.122s
OK
=== test-libapparmor-test_multi.py ===
Testing libapparmor test_multi tests...
......................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 310 tests in 0.036s
OK
=== test-logparser.py ===
.......
----------------------------------------------------------------------
Ran 7 tests in 0.000s
OK
=== test-minitools.py ===
.......
----------------------------------------------------------------------
Ran 7 tests in 2.373s
OK
=== test-mount_parse.py ===
..........
----------------------------------------------------------------------
Ran 10 tests in 0.000s
OK
=== test-mqueue.py ===
.............................................................................................
----------------------------------------------------------------------
Ran 93 tests in 0.003s
OK
=== test-network.py ===
.....................................................................................................
----------------------------------------------------------------------
Ran 101 tests in 0.017s
OK
=== test-notify.py ===
.............
----------------------------------------------------------------------
Ran 13 tests in 0.001s
OK
=== test-parser-simple-tests.py ===
Searching for parser simple_tests... (this will take a while)
Running 1570 parser simple_tests...
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
WARNING: endless loop detected: file /home/penghao/AppArmor/apparmor_2/apparmor/parser/tst/simple_tests/includes/recursive.include includes itself
WARNING: endless loop detected: file /home/penghao/AppArmor/apparmor_2/apparmor/parser/tst/simple_tests/includes/recursive.preamble includes itself
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Ignoring no longer supported change hat declaration "^hat xattrs=(myvalue=foo) { /foo r," found in file: /home/penghao/AppArmor/apparmor_2/apparmor/parser/tst/simple_tests/xattrs/hats_01.sd line: 7
..............................................................................................................................................................................
----------------------------------------------------------------------
Ran 1570 tests in 0.360s
OK
=== test-pivot_root_parse.py ===
....
----------------------------------------------------------------------
Ran 4 tests in 0.000s
OK
=== test-profile-list.py ===
............................................................
----------------------------------------------------------------------
Ran 60 tests in 1.207s
OK
=== test-profiles.py ===
..
----------------------------------------------------------------------
Ran 2 tests in 0.212s
OK
=== test-profile-storage.py ===
......................................................................................
----------------------------------------------------------------------
Ran 86 tests in 0.003s
OK
=== test-ptrace.py ===
..........................................................................................................................................................................................
----------------------------------------------------------------------
Ran 186 tests in 0.010s
OK
=== test-regex_matches.py ===
........................................................................................................................................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 344 tests in 0.007s
OK
=== test-rlimit.py ===
........................................................................................................................................
----------------------------------------------------------------------
Ran 136 tests in 0.004s
OK
=== test-severity.py ===
...................................WARN: unknown capability: UNKNOWN
WARN: unknown capability: UNKNOWN
.WARN: unknown capability: K*
WARN: unknown capability: K*
........
----------------------------------------------------------------------
Ran 44 tests in 0.041s
OK
=== test-signal.py ===
...................................................................................................................................................................................................................................
----------------------------------------------------------------------
Ran 227 tests in 0.012s
OK
=== test-translations.py ===
................
----------------------------------------------------------------------
Ran 16 tests in 2.166s
OK
=== test-unix_parse.py ===
............
----------------------------------------------------------------------
Ran 12 tests in 0.000s
OK
=== test-userns.py ===
.............................
----------------------------------------------------------------------
Ran 29 tests in 0.001s
OK
=== test-variable.py ===
.................................................................................................
----------------------------------------------------------------------
Ran 97 tests in 0.003s
OK
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/test”
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
LANG=C podchecker -warning -warning *.pod
apparmor.vim.pod pod syntax OK.
#Testing with all pythons
set -e; python3 create-apparmor.vim.py > /dev/null;
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
(4)安装
运行make install命令进行安装。实际命令及结果如下(注意DESTDIR=的参数):
$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
install -d /home/penghao/AppArmor/apparmor_2/output2/etc/apparmor
install -m 644 logprof.conf severity.db notify.conf /home/penghao/AppArmor/apparmor_2/output2/etc/apparmor
install -d /home/penghao/AppArmor/apparmor_2/output2/usr/sbin
# aa-easyprof is installed by python-tools-setup.py
install -m 755 aa-genprof aa-logprof aa-cleanprof aa-mergeprof aa-autodep aa-audit aa-complain aa-enforce aa-disable aa-notify aa-unconfined aa-decode aa-remove-unknown /home/penghao/AppArmor/apparmor_2/output2/usr/sbin
make -C po install DESTDIR=/home/penghao/AppArmor/apparmor_2/output2 NAME=apparmor-utils
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/po”
mkdir -p /home/penghao/AppArmor/apparmor_2/output2//usr/share/locale
for lang in af be bo bs cs de en_GB es fa fr gl hi id it ko oc pl pt_BR pt ro ru sv tr ug uk zh_CN ; 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/apparmor-utils.mo ; \
done
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/po”
make install_manpages DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils”
install -d /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man5 ; install -m 644 logprof.conf.5 /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man5; install -d /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man8 ; install -m 644 aa-easyprof.8 aa-genprof.8 aa-logprof.8 aa-cleanprof.8 aa-mergeprof.8 aa-autodep.8 aa-audit.8 aa-complain.8 aa-enforce.8 aa-disable.8 aa-notify.8 aa-unconfined.8 aa-decode.8 aa-remove-unknown.8 /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man8;
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils”
make -C vim install DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
install -d /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor
install -m 644 apparmor.vim /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor
make install_manpages DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
install -d /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man5 ; install -m 644 apparmor.vim.5 /home/penghao/AppArmor/apparmor_2/output2//usr/share/man/man5;
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
/usr/bin/python3 python-tools-setup.py install --prefix=/usr --root=/home/penghao/AppArmor/apparmor_2/output2 --version=3.1.0
running install
/usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib
creating build/lib/apparmor
copying staging/__init__.py -> build/lib/apparmor
copying staging/easyprof.py -> build/lib/apparmor
copying staging/aare.py -> build/lib/apparmor
copying staging/fail.py -> build/lib/apparmor
copying staging/profile_list.py -> build/lib/apparmor
copying staging/rules.py -> build/lib/apparmor
copying staging/regex.py -> build/lib/apparmor
copying staging/sandbox.py -> build/lib/apparmor
copying staging/logparser.py -> build/lib/apparmor
copying staging/ui.py -> build/lib/apparmor
copying staging/config.py -> build/lib/apparmor
copying staging/tools.py -> build/lib/apparmor
copying staging/severity.py -> build/lib/apparmor
copying staging/aa.py -> build/lib/apparmor
copying staging/profile_storage.py -> build/lib/apparmor
copying staging/common.py -> build/lib/apparmor
copying staging/notify.py -> build/lib/apparmor
copying staging/translations.py -> build/lib/apparmor
copying staging/cleanprofile.py -> build/lib/apparmor
creating build/lib/apparmor/rule
copying staging/rule/include.py -> build/lib/apparmor/rule
copying staging/rule/abi.py -> build/lib/apparmor/rule
copying staging/rule/change_profile.py -> build/lib/apparmor/rule
copying staging/rule/boolean.py -> build/lib/apparmor/rule
copying staging/rule/file.py -> build/lib/apparmor/rule
copying staging/rule/alias.py -> build/lib/apparmor/rule
copying staging/rule/userns.py -> build/lib/apparmor/rule
copying staging/rule/variable.py -> build/lib/apparmor/rule
copying staging/rule/mqueue.py -> build/lib/apparmor/rule
copying staging/rule/ptrace.py -> build/lib/apparmor/rule
copying staging/rule/rlimit.py -> build/lib/apparmor/rule
copying staging/rule/capability.py -> build/lib/apparmor/rule
copying staging/rule/__init__.py -> build/lib/apparmor/rule
copying staging/rule/signal.py -> build/lib/apparmor/rule
copying staging/rule/dbus.py -> build/lib/apparmor/rule
copying staging/rule/network.py -> build/lib/apparmor/rule
running install_lib
creating /home/penghao/AppArmor/apparmor_2/output2/usr/lib
creating /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10
creating /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages
creating /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/aare.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/fail.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/profile_list.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/rules.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/regex.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/sandbox.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/logparser.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/easyprof.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/ui.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/config.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/tools.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/severity.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/aa.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/profile_storage.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/common.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/__init__.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/notify.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
creating /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/include.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/abi.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/change_profile.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/boolean.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/file.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/alias.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/userns.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/variable.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/mqueue.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/ptrace.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/rlimit.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/capability.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/__init__.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/signal.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/dbus.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/network.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/translations.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/cleanprofile.py -> /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/aare.py to aare.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/fail.py to fail.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/profile_list.py to profile_list.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rules.py to rules.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/regex.py to regex.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/sandbox.py to sandbox.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/logparser.py to logparser.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/easyprof.py to easyprof.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/ui.py to ui.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/config.py to config.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/tools.py to tools.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/severity.py to severity.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/aa.py to aa.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/profile_storage.py to profile_storage.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/common.py to common.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/__init__.py to __init__.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/notify.py to notify.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/include.py to include.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/abi.py to abi.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/change_profile.py to change_profile.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/boolean.py to boolean.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/file.py to file.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/alias.py to alias.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/userns.py to userns.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/variable.py to variable.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/mqueue.py to mqueue.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/ptrace.py to ptrace.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/rlimit.py to rlimit.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/capability.py to capability.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/__init__.py to __init__.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/signal.py to signal.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/dbus.py to dbus.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/rule/network.py to network.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/translations.py to translations.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor/cleanprofile.py to cleanprofile.cpython-310.pyc
running install_egg_info
running egg_info
creating apparmor.egg-info
writing apparmor.egg-info/PKG-INFO
writing dependency_links to apparmor.egg-info/dependency_links.txt
writing top-level names to apparmor.egg-info/top_level.txt
writing manifest file 'apparmor.egg-info/SOURCES.txt'
reading manifest file 'apparmor.egg-info/SOURCES.txt'
writing manifest file 'apparmor.egg-info/SOURCES.txt'
Copying apparmor.egg-info to /home/penghao/AppArmor/apparmor_2/output2/usr/lib/python3.10/site-packages/apparmor-3.1.0-py3.10.egg-info
running install_scripts
creating /home/penghao/AppArmor/apparmor_2/output2/usr/bin
copying aa-easyprof -> /home/penghao/AppArmor/apparmor_2/output2/usr/bin
copying easyprof/easyprof.conf -> /home/penghao/AppArmor/apparmor_2/output2/etc/apparmor
creating /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof
creating /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/templates
copying easyprof/templates/user-application -> /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/templates
copying easyprof/templates/sandbox-x -> /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/templates
copying easyprof/templates/default -> /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/templates
copying easyprof/templates/sandbox -> /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/templates
creating /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/policygroups
copying easyprof/policygroups/user-application -> /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/policygroups
copying easyprof/policygroups/opt-application -> /home/penghao/AppArmor/apparmor_2/output2/usr/share/apparmor/easyprof/policygroups
(5)查看生成内容
查看一下通过make DESTDIR=/home/penghao/AppArmor/apparmor_2/output2配置后实际的生成文件及路径:
$ tree ../../output2
../../output2
├── etc
│ └── apparmor
│ ├── easyprof.conf
│ ├── logprof.conf
│ ├── notify.conf
│ └── severity.db
└── usr
├── bin
│ └── aa-easyprof
├── lib
│ └── python3.10
│ └── site-packages
│ ├── apparmor
│ │ ├── aa.py
│ │ ├── aare.py
│ │ ├── cleanprofile.py
│ │ ├── common.py
│ │ ├── config.py
│ │ ├── easyprof.py
│ │ ├── fail.py
│ │ ├── __init__.py
│ │ ├── logparser.py
│ │ ├── notify.py
│ │ ├── profile_list.py
│ │ ├── profile_storage.py
│ │ ├── __pycache__
│ │ │ ├── aa.cpython-310.pyc
│ │ │ ├── aare.cpython-310.pyc
│ │ │ ├── cleanprofile.cpython-310.pyc
│ │ │ ├── common.cpython-310.pyc
│ │ │ ├── config.cpython-310.pyc
│ │ │ ├── easyprof.cpython-310.pyc
│ │ │ ├── fail.cpython-310.pyc
│ │ │ ├── __init__.cpython-310.pyc
│ │ │ ├── logparser.cpython-310.pyc
│ │ │ ├── notify.cpython-310.pyc
│ │ │ ├── profile_list.cpython-310.pyc
│ │ │ ├── profile_storage.cpython-310.pyc
│ │ │ ├── regex.cpython-310.pyc
│ │ │ ├── rules.cpython-310.pyc
│ │ │ ├── sandbox.cpython-310.pyc
│ │ │ ├── severity.cpython-310.pyc
│ │ │ ├── tools.cpython-310.pyc
│ │ │ ├── translations.cpython-310.pyc
│ │ │ └── ui.cpython-310.pyc
│ │ ├── regex.py
│ │ ├── rule
│ │ │ ├── abi.py
│ │ │ ├── alias.py
│ │ │ ├── boolean.py
│ │ │ ├── capability.py
│ │ │ ├── change_profile.py
│ │ │ ├── dbus.py
│ │ │ ├── file.py
│ │ │ ├── include.py
│ │ │ ├── __init__.py
│ │ │ ├── mqueue.py
│ │ │ ├── network.py
│ │ │ ├── ptrace.py
│ │ │ ├── __pycache__
│ │ │ │ ├── abi.cpython-310.pyc
│ │ │ │ ├── alias.cpython-310.pyc
│ │ │ │ ├── boolean.cpython-310.pyc
│ │ │ │ ├── capability.cpython-310.pyc
│ │ │ │ ├── change_profile.cpython-310.pyc
│ │ │ │ ├── dbus.cpython-310.pyc
│ │ │ │ ├── file.cpython-310.pyc
│ │ │ │ ├── include.cpython-310.pyc
│ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ ├── mqueue.cpython-310.pyc
│ │ │ │ ├── network.cpython-310.pyc
│ │ │ │ ├── ptrace.cpython-310.pyc
│ │ │ │ ├── rlimit.cpython-310.pyc
│ │ │ │ ├── signal.cpython-310.pyc
│ │ │ │ ├── userns.cpython-310.pyc
│ │ │ │ └── variable.cpython-310.pyc
│ │ │ ├── rlimit.py
│ │ │ ├── signal.py
│ │ │ ├── userns.py
│ │ │ └── variable.py
│ │ ├── rules.py
│ │ ├── sandbox.py
│ │ ├── severity.py
│ │ ├── tools.py
│ │ ├── translations.py
│ │ └── ui.py
│ └── apparmor-3.1.0-py3.10.egg-info
│ ├── dependency_links.txt
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ └── top_level.txt
├── sbin
│ ├── aa-audit
│ ├── aa-autodep
│ ├── aa-cleanprof
│ ├── aa-complain
│ ├── aa-decode
│ ├── aa-disable
│ ├── aa-enforce
│ ├── aa-genprof
│ ├── aa-logprof
│ ├── aa-mergeprof
│ ├── aa-notify
│ ├── aa-remove-unknown
│ └── aa-unconfined
└── share
├── apparmor
│ ├── apparmor.vim
│ └── easyprof
│ ├── policygroups
│ │ ├── opt-application
│ │ └── user-application
│ └── templates
│ ├── default
│ ├── sandbox
│ ├── sandbox-x
│ └── user-application
├── locale
│ ├── af
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── be
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── bo
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── bs
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── cs
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── de
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── en_GB
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── es
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── fa
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── fr
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── gl
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── hi
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── id
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── it
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── ko
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── oc
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── pl
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── pt
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── pt_BR
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── ro
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── ru
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── sv
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── tr
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── ug
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ ├── uk
│ │ └── LC_MESSAGES
│ │ └── apparmor-utils.mo
│ └── zh_CN
│ └── LC_MESSAGES
│ └── apparmor-utils.mo
└── man
├── man5
│ ├── apparmor.vim.5
│ └── logprof.conf.5
└── man8
├── aa-audit.8
├── aa-autodep.8
├── aa-cleanprof.8
├── aa-complain.8
├── aa-decode.8
├── aa-disable.8
├── aa-easyprof.8
├── aa-enforce.8
├── aa-genprof.8
├── aa-logprof.8
├── aa-mergeprof.8
├── aa-notify.8
├── aa-remove-unknown.8
└── aa-unconfined.8
74 directories, 141 files
这里将生成目标放到了output2文件夹下,是为了看清楚Utilities都生成了哪些内容。最终还是要安装到之前的output目录下。
更换DESTDIR=参数后再次进行安装,实际命令及结果如下:
$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output
install -d /home/penghao/AppArmor/apparmor_2/output/etc/apparmor
install -m 644 logprof.conf severity.db notify.conf /home/penghao/AppArmor/apparmor_2/output/etc/apparmor
install -d /home/penghao/AppArmor/apparmor_2/output/usr/sbin
# aa-easyprof is installed by python-tools-setup.py
install -m 755 aa-genprof aa-logprof aa-cleanprof aa-mergeprof aa-autodep aa-audit aa-complain aa-enforce aa-disable aa-notify aa-unconfined aa-decode aa-remove-unknown /home/penghao/AppArmor/apparmor_2/output/usr/sbin
make -C po install DESTDIR=/home/penghao/AppArmor/apparmor_2/output NAME=apparmor-utils
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/po”
mkdir -p /home/penghao/AppArmor/apparmor_2/output//usr/share/locale
for lang in af be bo bs cs de en_GB es fa fr gl hi id it ko oc pl pt_BR pt ro ru sv tr ug uk zh_CN ; 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/apparmor-utils.mo ; \
done
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/po”
make install_manpages DESTDIR=/home/penghao/AppArmor/apparmor_2/output
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils”
install -d /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man5 ; install -m 644 logprof.conf.5 /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man5; install -d /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man8 ; install -m 644 aa-easyprof.8 aa-genprof.8 aa-logprof.8 aa-cleanprof.8 aa-mergeprof.8 aa-autodep.8 aa-audit.8 aa-complain.8 aa-enforce.8 aa-disable.8 aa-notify.8 aa-unconfined.8 aa-decode.8 aa-remove-unknown.8 /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man8;
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils”
make -C vim install DESTDIR=/home/penghao/AppArmor/apparmor_2/output
make[1]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
install -d /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor
install -m 644 apparmor.vim /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor
make install_manpages DESTDIR=/home/penghao/AppArmor/apparmor_2/output
make[2]: 进入目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
install -d /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man5 ; install -m 644 apparmor.vim.5 /home/penghao/AppArmor/apparmor_2/output//usr/share/man/man5;
make[2]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
make[1]: 离开目录“/home/penghao/AppArmor/apparmor_2/apparmor/utils/vim”
/usr/bin/python3 python-tools-setup.py install --prefix=/usr --root=/home/penghao/AppArmor/apparmor_2/output --version=3.1.0
running install
/usr/lib/python3.10/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
running install_lib
creating /home/penghao/AppArmor/apparmor_2/output/usr/lib
creating /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10
creating /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages
creating /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/aare.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/fail.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/profile_list.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/rules.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/regex.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/sandbox.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/logparser.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/easyprof.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/ui.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/config.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/tools.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/severity.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/aa.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/profile_storage.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/common.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/__init__.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/notify.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
creating /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/include.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/abi.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/change_profile.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/boolean.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/file.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/alias.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/userns.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/variable.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/mqueue.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/ptrace.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/rlimit.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/capability.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/__init__.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/signal.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/dbus.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/rule/network.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule
copying build/lib/apparmor/translations.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
copying build/lib/apparmor/cleanprofile.py -> /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/aare.py to aare.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/fail.py to fail.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/profile_list.py to profile_list.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rules.py to rules.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/regex.py to regex.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/sandbox.py to sandbox.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/logparser.py to logparser.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/easyprof.py to easyprof.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/ui.py to ui.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/config.py to config.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/tools.py to tools.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/severity.py to severity.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/aa.py to aa.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/profile_storage.py to profile_storage.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/common.py to common.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/__init__.py to __init__.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/notify.py to notify.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/include.py to include.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/abi.py to abi.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/change_profile.py to change_profile.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/boolean.py to boolean.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/file.py to file.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/alias.py to alias.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/userns.py to userns.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/variable.py to variable.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/mqueue.py to mqueue.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/ptrace.py to ptrace.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/rlimit.py to rlimit.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/capability.py to capability.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/__init__.py to __init__.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/signal.py to signal.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/dbus.py to dbus.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/rule/network.py to network.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/translations.py to translations.cpython-310.pyc
byte-compiling /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor/cleanprofile.py to cleanprofile.cpython-310.pyc
running install_egg_info
running egg_info
writing apparmor.egg-info/PKG-INFO
writing dependency_links to apparmor.egg-info/dependency_links.txt
writing top-level names to apparmor.egg-info/top_level.txt
reading manifest file 'apparmor.egg-info/SOURCES.txt'
writing manifest file 'apparmor.egg-info/SOURCES.txt'
Copying apparmor.egg-info to /home/penghao/AppArmor/apparmor_2/output/usr/lib/python3.10/site-packages/apparmor-3.1.0-py3.10.egg-info
running install_scripts
copying aa-easyprof -> /home/penghao/AppArmor/apparmor_2/output/usr/bin
copying easyprof/easyprof.conf -> /home/penghao/AppArmor/apparmor_2/output/etc/apparmor
creating /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof
creating /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/templates
copying easyprof/templates/user-application -> /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/templates
copying easyprof/templates/sandbox-x -> /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/templates
copying easyprof/templates/default -> /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/templates
copying easyprof/templates/sandbox -> /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/templates
creating /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/policygroups
copying easyprof/policygroups/user-application -> /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/policygroups
copying easyprof/policygroups/opt-application -> /home/penghao/AppArmor/apparmor_2/output/usr/share/apparmor/easyprof/policygroups
对比一下output在安装Utilities前后的变化:
安装前文章来源:https://www.toymoban.com/news/detail-420565.html
$ tree ../../output
../../output
├── etc
│ └── apparmor
│ └── parser.conf
├── lib
│ └── apparmor
│ ├── profile-load
│ └── rc.apparmor.functions
├── sbin
│ └── apparmor_parser
├── 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
│ │ │ └── apparmor-parser.mo
│ │ ├── ar
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── bg
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── bn
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── bo
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── bs
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ca
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ce
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── cs
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── cy
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── da
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── de
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── el
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── en_AU
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── en_CA
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── en_GB
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── es
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── et
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── fa
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── fi
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── fr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── gl
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── gu
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── he
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── hi
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── hr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── hu
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── id
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── it
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ja
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ka
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── km
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ko
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── lo
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── lt
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── mk
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── mr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ms
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── nb
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── nl
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── oc
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── pa
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── pl
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── pt
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── pt_BR
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ro
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── ru
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── si
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sk
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sl
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sq
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sv
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── sw
│ │ │ └── LC_MESSAGES
│ │ │ └── aa-binutils.mo
│ │ ├── ta
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── th
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── tr
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── ug
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── uk
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── vi
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── wa
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── xh
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── zh_CN
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── zh_TW
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ └── zu
│ │ └── LC_MESSAGES
│ │ └── apparmor-parser.mo
│ └── man
│ ├── man1
│ │ ├── aa-enabled.1
│ │ ├── aa-exec.1
│ │ └── aa-features-abi.1
│ ├── man5
│ │ └── apparmor.d.5
│ ├── man7
│ │ ├── apparmor.7
│ │ └── apparmor_xattrs.7
│ └── man8
│ ├── aa-status.8
│ ├── aa-teardown.8
│ ├── apparmor_parser.8
│ └── apparmor_status.8 -> aa-status.8
└── var
└── lib
└── apparmor
169 directories, 127 files
安装后文章来源地址https://www.toymoban.com/news/detail-420565.html
$ tree ../../output
../../output
├── etc
│ └── apparmor
│ ├── easyprof.conf
│ ├── logprof.conf
│ ├── notify.conf
│ ├── parser.conf
│ └── severity.db
├── lib
│ └── apparmor
│ ├── profile-load
│ └── rc.apparmor.functions
├── sbin
│ └── apparmor_parser
├── usr
│ ├── bin
│ │ ├── aa-easyprof
│ │ ├── aa-enabled
│ │ ├── aa-exec
│ │ └── aa-features-abi
│ ├── lib
│ │ └── python3.10
│ │ └── site-packages
│ │ ├── apparmor
│ │ │ ├── aa.py
│ │ │ ├── aare.py
│ │ │ ├── cleanprofile.py
│ │ │ ├── common.py
│ │ │ ├── config.py
│ │ │ ├── easyprof.py
│ │ │ ├── fail.py
│ │ │ ├── __init__.py
│ │ │ ├── logparser.py
│ │ │ ├── notify.py
│ │ │ ├── profile_list.py
│ │ │ ├── profile_storage.py
│ │ │ ├── __pycache__
│ │ │ │ ├── aa.cpython-310.pyc
│ │ │ │ ├── aare.cpython-310.pyc
│ │ │ │ ├── cleanprofile.cpython-310.pyc
│ │ │ │ ├── common.cpython-310.pyc
│ │ │ │ ├── config.cpython-310.pyc
│ │ │ │ ├── easyprof.cpython-310.pyc
│ │ │ │ ├── fail.cpython-310.pyc
│ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ ├── logparser.cpython-310.pyc
│ │ │ │ ├── notify.cpython-310.pyc
│ │ │ │ ├── profile_list.cpython-310.pyc
│ │ │ │ ├── profile_storage.cpython-310.pyc
│ │ │ │ ├── regex.cpython-310.pyc
│ │ │ │ ├── rules.cpython-310.pyc
│ │ │ │ ├── sandbox.cpython-310.pyc
│ │ │ │ ├── severity.cpython-310.pyc
│ │ │ │ ├── tools.cpython-310.pyc
│ │ │ │ ├── translations.cpython-310.pyc
│ │ │ │ └── ui.cpython-310.pyc
│ │ │ ├── regex.py
│ │ │ ├── rule
│ │ │ │ ├── abi.py
│ │ │ │ ├── alias.py
│ │ │ │ ├── boolean.py
│ │ │ │ ├── capability.py
│ │ │ │ ├── change_profile.py
│ │ │ │ ├── dbus.py
│ │ │ │ ├── file.py
│ │ │ │ ├── include.py
│ │ │ │ ├── __init__.py
│ │ │ │ ├── mqueue.py
│ │ │ │ ├── network.py
│ │ │ │ ├── ptrace.py
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── abi.cpython-310.pyc
│ │ │ │ │ ├── alias.cpython-310.pyc
│ │ │ │ │ ├── boolean.cpython-310.pyc
│ │ │ │ │ ├── capability.cpython-310.pyc
│ │ │ │ │ ├── change_profile.cpython-310.pyc
│ │ │ │ │ ├── dbus.cpython-310.pyc
│ │ │ │ │ ├── file.cpython-310.pyc
│ │ │ │ │ ├── include.cpython-310.pyc
│ │ │ │ │ ├── __init__.cpython-310.pyc
│ │ │ │ │ ├── mqueue.cpython-310.pyc
│ │ │ │ │ ├── network.cpython-310.pyc
│ │ │ │ │ ├── ptrace.cpython-310.pyc
│ │ │ │ │ ├── rlimit.cpython-310.pyc
│ │ │ │ │ ├── signal.cpython-310.pyc
│ │ │ │ │ ├── userns.cpython-310.pyc
│ │ │ │ │ └── variable.cpython-310.pyc
│ │ │ │ ├── rlimit.py
│ │ │ │ ├── signal.py
│ │ │ │ ├── userns.py
│ │ │ │ └── variable.py
│ │ │ ├── rules.py
│ │ │ ├── sandbox.py
│ │ │ ├── severity.py
│ │ │ ├── tools.py
│ │ │ ├── translations.py
│ │ │ └── ui.py
│ │ └── apparmor-3.1.0-py3.10.egg-info
│ │ ├── dependency_links.txt
│ │ ├── PKG-INFO
│ │ ├── SOURCES.txt
│ │ └── top_level.txt
│ ├── 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-audit
│ │ ├── aa-autodep
│ │ ├── aa-cleanprof
│ │ ├── aa-complain
│ │ ├── aa-decode
│ │ ├── aa-disable
│ │ ├── aa-enforce
│ │ ├── aa-genprof
│ │ ├── aa-logprof
│ │ ├── aa-mergeprof
│ │ ├── aa-notify
│ │ ├── aa-remove-unknown
│ │ ├── aa-status
│ │ ├── aa-unconfined
│ │ └── apparmor_status -> aa-status
│ └── share
│ ├── apparmor
│ │ ├── apparmor.vim
│ │ └── easyprof
│ │ ├── policygroups
│ │ │ ├── opt-application
│ │ │ └── user-application
│ │ └── templates
│ │ ├── default
│ │ ├── sandbox
│ │ ├── sandbox-x
│ │ └── user-application
│ ├── locale
│ │ ├── af
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── ar
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── be
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-utils.mo
│ │ ├── bg
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── bn
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── bo
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── bs
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── ca
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ce
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── cs
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── cy
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── da
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── de
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── el
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── en_AU
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── en_CA
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── en_GB
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── es
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── et
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── fa
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── fi
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ └── apparmor-parser.mo
│ │ ├── fr
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── gl
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── gu
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── he
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── hi
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── hr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── hu
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── id
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── it
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── ja
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ka
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── km
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ko
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── lo
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── lt
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── mk
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── mr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── ms
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── nb
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── nl
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── oc
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── pa
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── pl
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── pt
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── pt_BR
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── ro
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── ru
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── si
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sk
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sl
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sq
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sr
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── sv
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── sw
│ │ │ └── LC_MESSAGES
│ │ │ └── aa-binutils.mo
│ │ ├── ta
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── th
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── tr
│ │ │ └── LC_MESSAGES
│ │ │ ├── aa-binutils.mo
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── ug
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── uk
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── vi
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── wa
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── xh
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ ├── zh_CN
│ │ │ └── LC_MESSAGES
│ │ │ ├── apparmor-parser.mo
│ │ │ └── apparmor-utils.mo
│ │ ├── zh_TW
│ │ │ └── LC_MESSAGES
│ │ │ └── apparmor-parser.mo
│ │ └── zu
│ │ └── LC_MESSAGES
│ │ └── apparmor-parser.mo
│ └── man
│ ├── man1
│ │ ├── aa-enabled.1
│ │ ├── aa-exec.1
│ │ └── aa-features-abi.1
│ ├── man5
│ │ ├── apparmor.d.5
│ │ ├── apparmor.vim.5
│ │ └── logprof.conf.5
│ ├── man7
│ │ ├── apparmor.7
│ │ └── apparmor_xattrs.7
│ └── man8
│ ├── aa-audit.8
│ ├── aa-autodep.8
│ ├── aa-cleanprof.8
│ ├── aa-complain.8
│ ├── aa-decode.8
│ ├── aa-disable.8
│ ├── aa-easyprof.8
│ ├── aa-enforce.8
│ ├── aa-genprof.8
│ ├── aa-logprof.8
│ ├── aa-mergeprof.8
│ ├── aa-notify.8
│ ├── aa-remove-unknown.8
│ ├── aa-status.8
│ ├── aa-teardown.8
│ ├── aa-unconfined.8
│ ├── apparmor_parser.8
│ └── apparmor_status.8 -> aa-status.8
└── var
└── lib
└── apparmor
183 directories, 268 files
到了这里,关于Utilities非默认目录构建和安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!