I hereby claim:
- I am antevens on github.
- I am antonia (https://keybase.io/antonia) on keybase.
- I have a public key whose fingerprint is 63E1 CDD0 8FA8 15A9 7C9C 3BA3 4B73 F0AF 07D2 7861
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| Create a script, this can easily be ported/re-written, I used /usr/local/bin/get_real_filename | |
| #!/bin/bash | |
| while read line ; do | |
| abs_path="$(readlink "${line}")" | |
| echo "processing ${line}" >> /tmp/log | |
| if [ -n "${abs_path}" ] ; then | |
| stdbuf --output=0 echo "$(basename "${abs_path}")" | |
| else | |
| stdbuf --output=0 echo 'NULL' |
| astevens@anthill:/var/snap/microk8s$ sudo snap refresh microk8s --channel=1.16/edge | |
| microk8s (1.16/edge) v1.16.0-alpha.3 from Canonical✓ refreshed | |
| astevens@anthill:/var/snap/microk8s$ microk8s.ctr --debug image pull --user user:pass docker.example.com/default_organization-example-docker:latest | |
| DEBU[0000] fetching image="docker.example.com/default_organization-example-docker:latest" | |
| DEBU[0000] resolving | |
| DEBU[0000] do request request.headers=map[Accept:[application/vnd.docker.distribution.manifest.v2+json, application/vnd.docker.distribution.manifest.list.v2+json, application/vnd.oci.image.manifest.v1+json, application/vnd.oci.image.index.v1+json, *]] request.method=HEAD url="https://docker.example.com/v2/default_organization-example-docker/manifests/latest" | |
| DEBU[0000] fetch response received response.headers=map[Content-Type:[text/html; charset=iso-8859-1] Date:[Tue, 27 Aug 2019 1 |
| * Note that this layout is quite similar to Colekmak in many ways, once optimisations were done I fould that like with * Colemak moving the Z/X/C/V did not have a noticable impact but caused issues with shortcuts. | |
| * The biggest difference is making sure vovels are easily used with accents/diacritics | |
| * Keymap: Layer 0 with Gelatin keyboard layout | |
| * Note that this layout requires a custom OS keyboard map to work correctly. | |
| * Tertiary symbols are accessed using LAlt | |
| * Deadkey functionality is used to combine accents/diacritics and alphabetic letters | |
| * ,--------------------------------------------------. ,--------------------------------------------------. | |
| * | +L1 | 1 !¡ | 2 @ | 3 # | 4 $ §| 5 % ˝|˘ ̑ ˚ | |˘ ̑ · | 6 ^ ̏| 7 & | 8 * | 9 + | 0 = | L0 | | |
| * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| |
| #include <Python.h> | |
| #include <string.h> | |
| /* | |
| This program imports a Python module and checks for any instances of a | |
| the predefined python class or instances of child classes. | |
| Each instance is considered to represent a subcommand which will be made | |
| available as a subcommand under this program. | |
| Note that under no circumstances should the subcommands be spawned using | |
| any shell or should shells be invoked due to security concerns. |
| def set_uid_gid(set_rguid_to_eguid=False, set_eguid_to_rguid=False, restore_ids=True): | |
| """ | |
| A decorator to set/swap real/effective UID/GID for the duration of an operation | |
| EUID: Effective user ID, this is what is used to check permissions | |
| RUID: Real user ID, this is used to determine who the original user is | |
| when escalating priv. to determine the original user | |
| SUID: Saved user ID, this is used to store original user ID when a process | |
| needs to temporarily deescalate it's priv but is used to re-escalate. | |
| """ |
| def run_as_root(func): | |
| """ | |
| A decorator to run a code block as the root user, assumes that user has | |
| permissons to switch to root (see euid, ruid, suid) | |
| """ | |
| def inner(*args, **kwargs): | |
| current_proc = multiprocessing.current_process() | |
| logger.debug("Changing permissions for process: {0} with PID: {1}".format(current_proc.name, str(current_proc.pid))) | |
| if sys.version > "2.7": | |
| ruid, euid, suid = os.getresuid() |
| echo "satsrtrss" && bash |
| # Figure out OS | |
| osfamily='Unknown' | |
| apt-get help > /dev/null 2>&1 && osfamily='Debian' | |
| yum help help > /dev/null 2>&1 && osfamily='RedHat' | |
| if [ "${OS}" == 'SunOS' ]; then osfamily='Solaris'; fi | |
| if [ `echo "${OSTYPE}" | grep 'darwin'` ]; then osfamily='Darwin'; fi | |
| if [ "${OSTYPE}" == 'cygwin' ]; then osfamily='Cygwin'; fi | |
| echo "Detected OS based on: ${osfamily}" | |
| case ${osfamily} in | |
| "RedHat") |
| # Exit on failure function | |
| function exit_on_fail { | |
| echo "Last command did not execute successfully but is required to proceed!" >&2 | |
| echo "Exiting and rolling back all changes!" >&2 | |
| exit 1 | |
| } | |
| #USAGE EXAMPLE | |
| sudo yum install puppet || exit_on_fail |