#!/usr/bin/env sh
dnf repolist
The aforementioned outputs the undermentioned:
repo id repo name
code Visual Studio Code
fedora Fedora 41 - x86_64
fedora-cisco-openh264 Fedora 41 openh264 (From Cisco) - x86_64
google-chrome-canary google-chrome-canary
protonvpn-fedora-unstable ProtonVPN Fedora Beta repository
rpmfusion-free RPM Fusion for Fedora 41 - Free
rpmfusion-free-tainted RPM Fusion for Fedora 41 - Free tainted
rpmfusion-free-updates RPM Fusion for Fedora 41 - Free - Updates
rpmfusion-nonfree RPM Fusion for Fedora 41 - Nonfree
rpmfusion-nonfree-tainted RPM Fusion for Fedora 41 - Nonfree tainted
rpmfusion-nonfree-updates RPM Fusion for Fedora 41 - Nonfree - Updates
updates Fedora 41 - x86_64 - Updates
How can I display the URIs too? I used to utilize the undermentioned:
However, -v
isn’t a valid flag in dnf5 .
I ask for bugs.kde.org/show_bug.cgi?id=496876#c3
.
alciregi
(Alessio)
December 10, 2024, 8:50pm
2
Something similar
dnf --dump-repo-config=* | awk '/===/,/metalink/ {print}' | egrep '^(===|metalink)'
but this is not limited to enabled ones.
dnf --dump-repo-config=* | awk '/===/,/metalink/ {print}' | egrep '^(===|metalink|enabled =)'
1 Like
@Alessio , thanks. Lots.
That was really interesting - I didn’t consider also getting valid INI data at the same time. I’ve used your basis to generate some code to do so, though:
#!/usr/bin/env bash
dnf --dump-repo-config=* | awk '
BEGIN { max_key_length = 0 }
/===/ {
match($0, /"([^"]+)"/, arr);
if (arr[1]) {
repo = arr[1];
max_key_length = (length("repo") > max_key_length) ? length("repo") : max_key_length;
}
next;
}
/^enabled =/ {
match($0, /(enabled = )(.*)/, arr);
if (arr[2]) {
enabled = arr[2];
max_key_length = (length("enabled") > max_key_length) ? length("enabled") : max_key_length;
}
next;
}
/^metalink/ {
match($0, /(metalink = )(.*)/, arr);
if (arr[2]) {
metalink = arr[2];
max_key_length = (length("metalink") > max_key_length) ? length("metalink") : max_key_length;
}
# Print all the aligned lines after capturing the current block
printf "%-*s = \"%s\"\n", max_key_length, "repo", repo;
printf "%-*s = %s\n", max_key_length, "enabled", enabled;
printf "%-*s = \"%s\"\n", max_key_length, "metalink", metalink;
}
'
repo = "updates-testing-debuginfo"
enabled = 0
metalink = "https://mirrors.fedoraproject.org/metalink?repo=updates-testing-debug-f41&arch=x86_64"