In AppArmor zero-knowledge learning eight, source code construction (5) , the construction steps of Utilities are introduced in detail, but the default parameters given by the official website are completely used. If you need to generate the target file to the specified directory instead of the default /usr, you need to make some modifications. This article will detail how to make the modifications.
The following two points must be stated:
(1) The construction of Utilities must be carried out on the basis of the previous steps (configuration of environment variables and libapparmor construction). For these two steps, please refer to: AppArmor zero-knowledge learning 4. Source code construction (1) and AppArmor zero-knowledge learning 5. Source code construction (2) ;
(2) The above steps in the construction and installation of libapparmor's non-default directory are for making packages. Since it does not put the target file under /usr/local, it does not actually work. What really works is the libapparmor related components that were previously built according to the default parameters.
Next, start building and installing the Utilities custom installation directory.
(1) Enter utils目录
Use the cd command to enter the utils directory under the root directory of the apparmor source code. The actual commands and results are as follows:
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) compile
Run the make command to compile. The actual commands and results are as follows:
$ 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) check
Run the make check command to check. The actual commands and results are as follows:
$ 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) Installation
Run the make install command to install. The actual commands and results are as follows (note the parameter of 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) View generated content
Check the actual generated file and path after configuring 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
The generation target is placed under the output2 folder here to see clearly what content is generated by Utilities. In the end, it still needs to be installed in the previous output directory.
Install again after changing the DESTDIR= parameter, the actual command and results are as follows:
$ 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
Compare the changes in output before and after installing Utilities:
before installation
$ 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
After installation
$ 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