Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #debian -- list of all packages
- debian()
- {
- echo 'List of all packages' >&2
- curl -sL "https://packages.debian.org/${1:-stable}/allpackages?format=txt.gz"
- }
- #Distribution:
- # experimental
- # unstable
- # testing
- # stable
- # oldstable
- # any
- #Section:
- # main
- # contrib
- # non-free
- # any
- #debian -- list of all packages by repo (without version)
- debian2()
- {
- local v r
- echo 'List of all packages' >&2
- for v in bullseye buster stretch jessie
- do
- for r in main contrib non-free
- do
- printf '%s in %s\n' "$v" "$r" | tr a-z A-Z >&2
- curl -Ls "http://ftp.br.debian.org/debian/dists/${v}/${r}/source/Sources.xz" |
- unxz | grep Package:
- done
- done
- }
- ##other mirrors
- #ftp.us.debian.org/debian/
- #ftp.de.debian.org/debian/
- #ftp.uk.debian.org/debian/
- ##other dists/ entries
- #Debian8.11 #jessie
- #Debian9.12 #stretch
- #Debian10.3 #buster
- #Debian #next bullseye
- #stable
- #testing
- #unstable
- #experimental
- #sid
- #ubuntu -- list all pkg names (without version)
- ubuntu()
- {
- local v vv r
- echo 'List of all packages' >&2
- for v in groovy focal eoan bionic xenial trusty precise
- do
- case "$v" in
- devel ) vv=development;;
- precise) vv='12.04 LTS';;
- trusty ) vv='14.04 LTS';;
- xenial ) vv='16.04 LTS';;
- bionic ) vv='18.04 LTS';;
- cosmic ) vv='18.10';;
- disco ) vv='19.04';; #removed from repo
- eoan ) vv='19.10';;
- focal ) vv='20.04 LTS';;
- groovy ) vv='20.10';;
- #? ) vv='21.04';;
- esac
- for r in main multiverse restricted universe
- do
- echo "$v $vv in $r" | tr a-z A-Z >&2
- curl -Ls "http://archive.ubuntu.com/ubuntu/dists/${v}/${r}/source/Sources.gz" |
- gzip -dc | grep -F Package:
- done
- done
- }
- #ubuntu -- search a package in ubuntu repos
- ubuntu2()
- {
- curl -sL "http://packages.ubuntu.com/${1:?pkg name required}" | sed -e 's/<[^>]*>//g' -Ee 's/^(\s|\t)+//g' |
- sed -n '/You have searched for/,/This page is also/p' |
- sed -E ':a; N; $!ba; :b; s/([^\n])\n\n([^\n])/\1\n\2/g; tb' |
- sed -e ':a;N;s/\n\(.\)/ \1/;ta' |
- sed -e '/^\s*$/d' -e 's/^\s*//g' -e 's/^Package\s/\n&/g' | cat <(echo) - |
- tac -rs '^$'
- }
- #w3m "http://packages.ubuntu.com/$1" -dump | sed -n '/^Package/,$p' | tac
- #freebsd ports
- freebsd()
- {
- echo 'List of all ports' >&2
- curl -sL 'http://www.cz.freebsd.org/ports/master-index.html' |
- sed -n '/<p>/,$p' | sed -e 's/<[^>]*>//g' |
- grep -oe '^[[:alnum:]].*' -e 'Last modified.*'
- }
- ##mirrors
- #https://www.freebsd.org/doc/handbook/mirrors-ftp.html
- #main server: https://www.freebsd.org/ports/master-index.html
- #http://www1.fr.freebsd.org/ports/master-index.html
- #http://www.cz.freebsd.org/ports/master-index.html
- #also: ftp://ftp.freebsd.org/pub/FreeBSD/ports/
- #freebsd fresh ports (without version)
- freebsd2()
- {
- curl -sL "https://www.freshports.org/search.php?stype=name&method=match&query=${1:?port name required}&num=500&orderby=category&orderbyupdown=desc&search=Search&format=plaintext&branch=head"
- }
- #gentoo pkg list from mirror
- gentoo()
- {
- echo 'List of all packages' >&2
- echo 'Downloading..' >&2
- curl -Ls 'https://mirrors.evowise.com/gentoo/distfiles/' | sed 's/<[^>]*>//g'
- }
- #https://mirrors.lug.mtu.edu/gentoo/distfiles/
- #gentoo pkg list from search engine
- gentoo2()
- {
- curl -Ls --compressed "https://packages.gentoo.org/packages/search?q=${1:?pkg name required}" |
- sed -e 's/<[^>]*>//g' -e 's/^\s*//g' |
- sed -n '/^Results/,/^Next/p' | cat -s
- }
- #linux mint
- mint()
- {
- echo 'List of all packages' >&2
- curl --compressed -Lo - http://mirrors.evowise.com/linuxmint/packages/db/packages.db | #about 78MB
- tr -cd '\11\12\15\40-\176' #remove binary chars
- }
- #https://www.linuxmint.com/mirrors.php
- mint2()
- {
- w3m -dump "http://packages.linuxmint.com/search.php?release=any§ion=any&keyword=${1:?pkg name required}" |
- tac
- }
- #fedora
- fedora()
- {
- local ver index
- echo 'List of (almost) all packages' >&2
- for ver in 33
- do
- for index in {a..z} {0..9}
- do
- curl --compressed -sL "http://fedora.c3sl.ufpr.br/linux/releases/$ver/Everything/aarch64/os/Packages/$index" |
- sed -e 's/</\t&/g; s/<[^>]*>//g' -e 's/^[\s\t]*//; s/\t\+/\t/g; s/ //' | cat -s
- done
- echo "Packages above from Fedora $ver repos" >&2
- done
- }
- #https://admin.fedoraproject.org/mirrormanager/
- fedora2()
- {
- curl -Ls "https://apps.fedoraproject.org/packages/fcomm_connector/xapian/query/search_packages/%7B%22filters%22:%7B%22search%22:%22${1:?pkg name required}%22%7D,%22rows_per_page%22:100,%22start_row%22:0%7D" |
- jq -r '.rows[].name' | tac
- echo 'Top results'
- }
- #pkgs from all distros
- #use with grep
- alldist()
- {
- echo 'Loading..' >&2
- w3m -dump "https://pkgs.org/search/?q=${1:?pkg name required}"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement