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/23 11:30] – [Linux okosságok] 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 32: | Sor 79: | ||
highlight Identifier ctermfg=99AA00 | highlight Identifier ctermfg=99AA00 | ||
set ts=4 sw=4 | set ts=4 sw=4 | ||
+ | undolevels=1000 | ||
==== RAID megoldások ==== | ==== RAID megoldások ==== | ||
Sor 121: | Sor 169: | ||
# Get current swap usage for all running processes | # Get current swap usage for all running processes | ||
# Erik Ljungstrom 27/05/2011 | # Erik Ljungstrom 27/05/2011 | ||
+ | echo " | ||
SUM=0 | SUM=0 | ||
OVERALL=0 | OVERALL=0 | ||
Sor 150: | 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 165: | Sor 278: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// |