User Tools

Site Tools


linux:notes:misc

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 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

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

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

Execute

HDTV

  • 1280×720
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

  • 1920×1080
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

  • 3840×2160
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

  • 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 1), 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 2)
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

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

sudo dnf install 'monitor-edid'
monitor-edid

Custom Resolutions

Generate Modeline

  • Use --reduced only for LCD/Non-CRT displays, and only as-needed 3)
  • 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

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
1)
Dell Latitude 5591
2)
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
3)
useful for reducing amount of bandwidth over cables, particularly in-case of unstable 4k@60Hz set-ups
/usr/local/www/wiki/data/pages/linux/notes/misc.txt · Last modified: by Sean Rhone