meta data for this page
Különbségek
A kiválasztott változat és az aktuális verzió közötti különbségek a következők.
| Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
| linux [2020/09/30 15:06] – [~/.vimrc] admin | linux [2024/03/12 16:57] (aktuális) – admin | ||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| ===== Linux okosságok ===== | ===== Linux okosságok ===== | ||
| + | |||
| + | ==== Dátum figyelés ==== | ||
| + | |||
| + | function date_diff() | ||
| + | { | ||
| + | date=' | ||
| + | epoch=$(date -d " | ||
| + | if [ " | ||
| + | #[[ " | ||
| + | echo At least 3 days ago | ||
| + | else | ||
| + | echo Too recent | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | |||
| + | ==== Reboot, ha nem megy a szabályos reboot ==== | ||
| + | |||
| + | # echo s > / | ||
| + | # echo u > / | ||
| + | # echo s > / | ||
| + | # echo b > / | ||
| + | |||
| + | This requests the kernel to do: | ||
| + | |||
| + | emergency sync of the block devices; | ||
| + | mount readonly of all filesystems; | ||
| + | again a sync; | ||
| + | force an immediate boot; (you can also use o for poweroff) | ||
| + | |||
| + | ==== dm-* device-ok felderítése ==== | ||
| + | |||
| + | find /dev/ -name " | ||
| + | ==== SCSI (re)scan ==== | ||
| + | |||
| + | #!/bin/sh | ||
| + | for I in `ls -d / | ||
| + | echo ${I} | ||
| + | echo " | ||
| + | done | ||
| + | |||
| + | #!/bin/sh | ||
| + | for I in `ls -d / | ||
| + | echo ${I} | ||
| + | echo "- - -" > ${I}/scan | ||
| + | done | ||
| + | |||
| ==== Yum-mal telepített csomagok listázása log fájlból ==== | ==== Yum-mal telepített csomagok listázása log fájlból ==== | ||
| Sor 152: | Sor 199: | ||
| done | done | ||
| echo Lefutott | mail -s " | echo Lefutott | mail -s " | ||
| + | </ | ||
| + | |||
| + | ==== processz elrejtése a PS kimenetből ==== | ||
| + | |||
| + | |||
| + | < | ||
| + | /* https:// | ||
| + | * capture calls to a routine and replace with your code | ||
| + | * gcc -Wall -O2 -fpic -shared -ldl -o shim_main.so shim_main.c | ||
| + | * LD_PRELOAD=/ | ||
| + | */ | ||
| + | #define _GNU_SOURCE /* needed to get RTLD_NEXT defined in dlfcn.h */ | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | #include < | ||
| + | |||
| + | typedef int (*pfi)(int, char **, char **); | ||
| + | static pfi real_main; | ||
| + | |||
| + | /* copy argv to new location */ | ||
| + | char **copyargs(int argc, char** argv){ | ||
| + | char **newargv = malloc((argc+1)*sizeof(*argv)); | ||
| + | char *from,*to; | ||
| + | int i,len; | ||
| + | |||
| + | for(i = 0; i<argc; i++){ | ||
| + | from = argv[i]; | ||
| + | len = strlen(from)+1; | ||
| + | to = malloc(len); | ||
| + | memcpy(to, | ||
| + | memset(from,' | ||
| + | newargv[i] = to; | ||
| + | argv[i] = 0; | ||
| + | } | ||
| + | newargv[argc] = 0; | ||
| + | return newargv; | ||
| + | } | ||
| + | |||
| + | static int mymain(int argc, char** argv, char** env) { | ||
| + | fprintf(stderr, | ||
| + | return real_main(argc, | ||
| + | } | ||
| + | |||
| + | int __libc_start_main(pfi main, int argc, | ||
| + | char **ubp_av, void (*init) (void), | ||
| + | void (*fini)(void), | ||
| + | void (*rtld_fini)(void), | ||
| + | static int (*real___libc_start_main)() = NULL; | ||
| + | |||
| + | if (!real___libc_start_main) { | ||
| + | char *error; | ||
| + | real___libc_start_main = dlsym(RTLD_NEXT, | ||
| + | if ((error = dlerror()) != NULL) { | ||
| + | fprintf(stderr, | ||
| + | exit(1); | ||
| + | } | ||
| + | } | ||
| + | real_main = main; | ||
| + | return real___libc_start_main(mymain, | ||
| + | rtld_fini, stack_end); | ||
| + | } | ||
| </ | </ | ||
| Sor 167: | Sor 278: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||