====== Information ====== * Miscellaneous commands, paths, info, and syntax for Linux * Most of this was previously under the "Notable Folders and Commands" section at the bottom of distro notes ====== Extract ISO ====== * ''D'' is the destination you want the extracted files to go * ''x'' is the ISO you want to extract files from * No space after the ''-o'' flag is intentional * This is primarily useful for copying Windows ISO images to a FAT32 flash drive for UEFI (see [[linux:notes:woeusb|WoeUSB]] for Legacy/CSM) 7z x -o'D' -y x 7z x -o'/run/media/espionage724/LTSC 2019' -y '/home/espionage724/Downloads/en_windows_10_enterprise_ltsc_2019_x64_dvd_be3c8ffb.iso' && sync && sync ====== Shortcuts ====== /usr/share/applications ~/.local/share/applications ====== Icons ====== /usr/share/icons/hicolor ~/.local/share/icons/hicolor ====== Get Release/OS Info ====== cat '/etc/os-release' cat '/etc/os-release' | grep 'PRETTY_NAME' ====== Fedora ====== ===== Anaconda Module Blacklists ===== **** sudo -e '/etc/modprobe.d/anaconda-blacklist.conf' ===== DNF ===== ==== List ==== === Repos === sudo dnf repolist gio open '/etc/yum.repos.d' === Installed Packages === sudo dnf list --installed sudo dnf list --installed | grep x === Package Files === sudo dnf repoquery -l x sudo dnf repoquery -l x | grep 'bin' === History === sudo dnf history list sudo dnf history undo x ==== updates-testing Repos ==== sudo dnf config-manager 'setopt' 'updates-testing'.'enabled'='1' sudo dnf config-manager 'setopt' 'rpmfusion-'*'-updates-testing'.'enabled'='1' ==== Add Repo ==== sudo dnf config-manager addrepo --from-repofile='x' sudo dnf config-manager addrepo --from-repofile='https://dl.winehq.org/wine-builds/fedora/40/winehq.repo' ==== Tor Socks ==== * https://discussion.fedoraproject.org/t/openh264-update-issue/117380/12 * :?: Looks useful for using ''dnf'' on restrictive networks sudo dnf install tor sudo systemctl enable tor.service --now sudo torsocks dnf upgrade --refresh ==== Autoremove Fix ==== * Removes the initially-installed kernel in order to fix ''dnf autoremove'' if it's broken sudo dnf list --installed 'kernel'* sudo dnf remove *5.3.7* && sync ===== SELinux Re-label ===== **** sudo touch '/.autorelabel' ====== openSUSE ====== ===== Zypper ===== ==== Find Orphans ==== **** zypper packages --orphaned ==== Remove Package and Deps ==== **** sudo zypper remove --clean-deps 'x' ==== Show Installed Patterns ==== **** sudo zypper patterns --installed-only ==== Folder ==== **** ls '/etc/zypp/repos.d' ==== List ==== **** zypper repos --priority ====== PipeWire ====== ===== Set Default Rate ===== mkdir -p ~/'.config/pipewire/pipewire.conf.d' && nano ~/'.config/pipewire/pipewire.conf.d/99-custom.conf' context.properties = { default.clock.rate = 192000 default.clock.allowed-rates = [ 44100 48000 88200 96000 192000 ] } ===== User Config ===== * Copy main config to user folder mkdir -p ~/'.config/pipewire/pipewire.conf.d' && cp '/usr/share/pipewire/pipewire.conf' ~/'.config/pipewire/pipewire.conf.d/99-custom.conf' nano ~/'.config/pipewire/pipewire.conf.d/99-custom.conf' ===== Read Main Config ===== * [[https://github.com/PipeWire/pipewire/blob/master/src/daemon/pipewire.conf.in|pipewire.conf.in]] gio open '/usr/share/pipewire/pipewire.conf' nano '/usr/share/pipewire/pipewire.conf' ===== WirePlumber Settings Reset ===== sudo rm -Rf ~gdm/'.local/state/wireplumber' ~/'.local/state/wireplumber' rm -Rf ~/'.local/state/wireplumber' ====== GPG Keys ====== ===== Check Keys ===== **** rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' ===== Remove Keys ===== **** sudo rpm -e x ====== Re-generate Thumbnails ====== **** rm -Rf ~/'.cache/thumbnails' ====== List GNOME gsettings ====== * Change ''x'' to schema or omit it to show all settings gsettings list-recursively 'x' ====== GNOME App Grid Reset ====== **** gsettings reset 'org.gnome.shell' 'app-picker-layout' ====== GNOME Software Maintenance ====== **** pkcon -c '1' refresh && pkcon update ====== fstrim ====== **** sudo fstrim --verbose --all ====== tracker3 Reset ====== **** tracker3 reset --filesystem --rss ====== GNOME Monitors Reset ====== **** rm -f ~/'.config/monitors.xml' ~/'.config/monitors.xml~' ====== PulseAudio Reset ====== **** rm -f ~/'.config/pulse/'* ====== Xorg Debug ====== journalctl -e _COMM='gdm-x-session' gio open ~/'.local/share/xorg/Xorg.0.log' mousepad '/var/log/Xorg.0.log' gio open ~/'.local/share/xorg/' ====== Verify DRI3 ====== **** LIBGL_DEBUG='verbose' glxinfo | grep 'libgl' ====== Wine Hard-Kill ====== **** killall -9 'wine' 'wineserver' 'wineboot.exe' 'winedevice.exe' 'winemenubuilder' ====== GpuTest ====== * https://www.geeks3d.com/gputest/ ===== Execute ===== ==== HDTV ==== * 1280x720 wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720' cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1280' /height='720' /fullscreen /benchmark /benchmark_duration_ms='15000' === NVIDIA Optimus === **** wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && __NV_PRIME_RENDER_OFFLOAD='1' __GLX_VENDOR_LIBRARY_NAME='nvidia' ./GpuTest /test='fur' /width='1280' /height='720' ==== FHD ==== * 1920x1080 wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080' cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='1920' /height='1080' /fullscreen /benchmark /benchmark_duration_ms='15000' ==== UHDTV1 ==== * 3840x2160 wget -O '/tmp/GpuTest_Linux_x64.zip' 'http://www.ozone3d.net/gputest/dl/GpuTest_Linux_x64_0.7.0.zip' && unzip '/tmp/GpuTest_Linux_x64.zip' -d '/tmp' && cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160' cd '/tmp/GpuTest_Linux_x64_'* && ./GpuTest /test='fur' /width='3840' /height='2160' /fullscreen /benchmark /benchmark_duration_ms='15000' ==== Cleanup ==== **** rm -Rf '/tmp/GpuTest_Linux_'* && cd ~ && sync ====== Show Sensors ====== sudo dnf install 'lm_sensors' -y sudo sensors-detect --auto && sudo watch -n0.5 sensors ====== Show CPU Frequency ====== grep 'MHz' '/proc/cpuinfo' watch --interval '0.5' grep \'cpu MHz\' '/proc/cpuinfo' ====== OpenSSL Supported Ciphers ====== **** openssl ciphers -v | awk '{print $2}' | sort | uniq ====== Partition Information ====== * Both commands present the same information df -hT df --human-readable --print-type ====== Encryption Information ====== **** sudo cryptsetup -v status '/dev/dm-0' ====== RAID ====== ===== Controller Details ===== * This can be used to get the OpROM version for Intel RST sudo mdadm --detail-platform ===== Create Software RAID ===== ==== Fedora Anaconda ==== * :!: https://bugzilla.redhat.com/show_bug.cgi?id=1897350 * Compared to old notes, the RAID device needs to be under ''/dev/md/'' instead of just ''/dev/'' to appear on Anaconda * 2024/01: On the computer this was tested on ((Dell Latitude 5591)), it doesn't support CSM/Legacy/BIOS boot and this takes over the entire block devices, requiring the ''/boot'' partition and boot partition flag to be on a SD Card ((only tested with Legacy External Boot; UEFI untested but theoretically also requires ''/boot'' on a SD Card since BIOS/firmware can't directly-read software RAID)) sudo mdadm --create '/dev/md/raid0' --name='RAID' --level='0' --raid-devices='2' '/dev/nvme0n1' '/dev/sda' --verbose ==== Old ==== * :?: Came from old notes; this used to work for an Acer Predator laptop that had 3 SSDs sudo mdadm --create '/dev/md0' --name='RAID' --level='0' --raid-devices='3' '/dev/sda' '/dev/sdb' '/dev/sdc' --verbose ====== Fix MacBook Battery CPU Throttling ====== * 2023/07/17: This solves a MacBook Pro Mid-2010 with Intel C2D from being stuck at 1.5GHz CPU due to a missing internal battery, by unlocking full-performance sudo dnf install 'msr-tools' sudo wrmsr --all '0x1A0' '0x4000850089' ===== Verify ===== * ''0x4000850089'' is the expected value sudo rdmsr --all '0x1A0' ====== VGA Switcheroo Power States ====== * https://nouveau.freedesktop.org/wiki/Optimus sudo cat '/sys/kernel/debug/vgaswitcheroo/switch' ====== ACPI Tables ====== **** sudo strings '/sys/firmware/acpi/tables/DSDT' | grep -i 'windows ' | sort ===== Old Method ===== * Provides more information as to what certain ''_OSI'' values do and how they compare * In ''dsdt.dsl'', look for ''_OSI'' values, along with ''Windows'' and ''Linux'' sudo dnf install 'acpica-tools' sudo cp --force '/sys/firmware/acpi/tables/DSDT' ~/'dsdt.dat' cd ~ && iasl -d ~/'dsdt.dat' gio open ~/'dsdt.dsl' sudo dnf remove 'acpica-tools' && sync ====== Display EDID Info ====== * https://unix.stackexchange.com/a/114398 sudo dnf install 'monitor-edid' monitor-edid ====== Custom Resolutions ====== ===== Generate Modeline ===== * Use ''--reduced'' only for LCD/Non-CRT displays, and only as-needed ((useful for reducing amount of bandwidth over cables, particularly in-case of unstable 4k@60Hz set-ups)) * Syntax is ''horizontal'' (width), ''vertical'' (height) and ''refresh rate'' cvt '3840' '2160' '60' cvt --reduced '3840' '2160' '60' --reduced ===== Temporarily Apply ===== * Changes are lost after reboot * Values after ''--newmode'' are from the above generate command, and is everything after ''Modeline'' xrandr --newmode "3840x2160R" 533.00 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync xrandr --addmode 'HDMI-A-0' '3840x2160R' xrandr --output 'HDMI-A-0' --mode '3840x2160R' ===== Verify ===== **** xrandr --verbose | grep *current ===== Permanently Apply ===== * ''Identifier'' is the name of the port on the GPU the display is connected to * ''Modeline'' is from the above generate command, including the text ''Modeline'' * ''PreferredMode'' is the custom resolution name generated Section "Monitor" Identifier "HDMI-A-0" Modeline x Option "PreferredMode" "3840x2160R" EndSection ====== HT/SMT Information ====== **** grep -e "processor" -e "core id" -e "^$" /proc/cpuinfo ====== Compiling ====== ===== Linkers ===== * https://github.com/rui314/mold sudo dnf install 'binutils-gold' sudo dnf install 'mold' sudo update-alternatives --config 'ld' ls -la '/etc/alternatives/ld' ===== Check Linker ===== * ''x'' is path to an executable readelf --string-dump='.comment' x [ 5d] mold 2.34.1 (compatible with GNU ld) [ 5c] clang version 19.1.0 (Fedora 19.1.0-1.fc41) ===== Optimal GCC compiler flags ===== **** gcc -v -E -x c -march=native -mtune=native - < /dev/null 2>&1 | grep cc1 | perl -pe 's/ -mno-\S+//g; s/^.* - //g;' ====== Privacy ====== ===== Clear Terminal History ===== * TODO: ''-w'' and ''-a'' differences history -cw history -ca ===== Create 7z Password Archive ===== * Change ''7ZIPNAME'' in ''7ZIPNAME.7z'' to the desired archive name * Change ''PASS'' in ''-pPASS'' to the desired password * Change ''x'' to the file or folder to add to the archive 7za a '7ZIPNAME.7z' -p'PASS' 'x' 7za a 'x.7z' -p'x' 'x' ===== oathtool ===== * ''x'' is a secret without ''&digits=6'' sudo apt install 'oathtool' sudo dnf install 'oathtool' oathtool --totp -b 'x' ===== Remove EXIF data ===== sudo apt install 'libimage-exiftool-perl' sudo dnf install 'perl-Image-ExifTool' exiftool -all= *.* -overwrite_original