User:Zucca/tricks
This article contains some of the tricks I use have found interesting or useful. Most of them are command line tricks.
Portage/Emerge
List packages that are installed from a certain overlay.
List installed packages and add the overlay after the atom (from the topic above).
user $
find /var/db/pkg -name repository | awk '{"cat " $0 | getline rep; close("cat " $0); sub("/var/db/pkg/",""); sub(/\/repository$/,""); print "=" $0 "::" rep}'
[1] Another method that is about as twice as fast in processing the data:
user $
find /var/db/pkg -name repository -printf '%h::' -exec cat {} \; | sed 's|/var/db/pkg/||'
Or by simply using equery (which is interestingly slower, by a fraction, than previous method):
user $
equery l -F '$cpv:$slot:$repo' "*"
How to re-emerge all of a package's dependencies? - forum topic. Many interesting answers there.
Read config variable description.
user $
find -O2 /usr/src/linux/ -type f -name 'Kconfig' -print0 | xargs -0 sed -n '/^config KVARIABLE/,/^config/p' | head -n -1
[2]... and replace KVARIABLE with the one you're looking for. Just do not include the CONFIG_ at the beginning.
I bet there's much room for improvement --Zucca (talk) 18:24, 16 April 2017 (UTC)
Remove old kernels from /boot that aren't installed anymore:
root #
find /boot -type f \( -name 'vmlinuz-*' -or -name 'System.map-*' -or -name 'initc-*' \) $(qlist -vI gentoo-kernel | xargs qatom --nocolor --format '-not -name *%{PV}*')
... Most users need to ajust this.
Uptime
The percentage CPU has been idling since last boot.
Perl version
user $
procup="$(cat /proc/uptime)"; perl -e "printf '%.3f',${procup##* }/$(nproc --all)/${procup%% *}*100"
bc version
user $
procup="$(cat /proc/uptime)"; echo -e "scale=3\n${procup##* }/$(nproc --all)/${procup%% *}*100" | bc
When computer is sleeping it isn't idling.
systemd tricks
How many times the computer has been put to sleep since last boot.
root #
journalctl --boot=0 | grep -c 'Reached target Sleep.$'
This command does not require root permissions if the user running the command has permission to read all journal logs.
wiki tricks
Convert clipboard content to "wiki formatted". Basically escapes = and |.
user $
xclip -o -selection clipboard | sed -e 's/|/{{!}}/g' -e 's/=/{{=}}/g' -e 's/{{{{=}}}}/=/g' | xclip -i -selection clipboard
awk tricks
Very hacky shebang for awk scripts:
#!/usr/bin/awk {for (i in ARGV) {if (i < 2) continue; A = A " '" ARGV[i] "'"} exit system("awk -f " FILENAME " -- " A)}
This shebang allows awk script to use switches that would normally be grabbed by the awk interpreter, like --help for example. It maybe debatable if this is really needed.
misc tricks
root #
beep -f 659 -l 460 -n -f 784 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 880 -l 230 -n -f 659 -l 230 -n -f 587 -l 230 -n -f 659 -l 460 -n -f 988 -l 340 -n -f 659 -l 230 -n -f 659 -l 110 -n -f 1047-l 230 -n -f 988 -l 230 -n -f 784 -l 230 -n -f 659 -l 230 -n -f 988 -l 230 -n -f 1318 -l 230 -n -f 659 -l 110 -n -f 587 -l 230 -n -f 587 -l 110 -n -f 494 -l 230 -n -f 740 -l 230 -n -f 659 -l 460
[3]... To find out what does this do, you need a PC-speaker support of some kind.
Another one, but compressed:
root #
beep $(gunzip -ck <(base64 -d <<< "H4sIAAAAAAACA+1StXEAMAxcxQtYJ7bVZ5Y0gf27
MMsQ5lb4VI+LGJZ6WCS41INCiKWellfU+aZOBPS0
c9lQd/i4Uw2XaK03kNe3MjZnBvYX8vSAiI+m2rrm
F2OVX3OmSUD00SWPDurDjsVQrLGMho939KkkZCCX
DU5+mYL4ELaxANtQ4RDofaY9jT1WzJjvFzLmK3/H
oHepkJe4liFn//ckG6b4/+yQ/YcseJuwPS7B22OA
eNWyzb1ztZaqH2AGAAA=
"))
References
- ↑ Gentoo forums - post: 8056088, list installed packages with overlay they are installed from.
- ↑ Gentoo forums - post: 7976738, how to extract and display kernel config variable description. Taken and modified slightly.
- ↑ Linux Beep Music #2
- ↑ Reddit - r/linux - Does anyone have or know a source for beep scripts?