Skip to content

Instantly share code, notes, and snippets.

@gorshkov-leonid
Last active August 19, 2025 11:09
Show Gist options
  • Save gorshkov-leonid/372887b41305a28a3d9dfd49f6004766 to your computer and use it in GitHub Desktop.
Save gorshkov-leonid/372887b41305a28a3d9dfd49f6004766 to your computer and use it in GitHub Desktop.
yum-get-deps-to-local-dir.md
yum install epel-release
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
yum install --downloadonly --downloaddir=ffmpeg ffmpeg
yum --disableplugin=fastestmirror -y -v localinstall ./ffmpeg/*.rpm

and

rpm  -i --prefix=/some/other/path/ packagename.rpm

and

rpm2cpio google-chrome-stable-110.0.5481.177-1.x86_64.rpm | cpio -idv
@gorshkov-leonid
Copy link
Author

gorshkov-leonid commented Feb 15, 2024

Find out quickly which package provides a certain library with YUM

echo "" >  libs.txt
while read "p"; do
   p="$(echo "$p"|tr -d '\n'|tr -d '\r')"
   # lib name
   export filename=$(yum provides "$p" | grep -oP '(?<=Filename).*' | sed 's/ *: //')
   # package name
   export packagename=$(yum provides "$p" | grep -oP '.*(?= : .*)' | grep -n '' | grep -oP '(?<=1:).*'  | sort --unique)
   echo "$packagename  $filename" >> libs.txt
done < logs1.txt

https://unix.stackexchange.com/questions/57124/remove-newline-from-unix-variable

cat ./logs1.txt | while read -r a; do a="$(echo "$a"|tr -d '\n'|tr -d '\r')"; echo "===$a==="; done

How to find the required dependency software on CentOS?

@gorshkov-leonid
Copy link
Author

rpm -q --whatprovides /usr/local/lib/libiconv.so.2

@gorshkov-leonid
Copy link
Author

gorshkov-leonid commented Mar 6, 2024

export rpms=$(ls | grep '.rpm')
echo "" >  logs.txt
while read "p"; do
   echo "====== $p ======"  >> logs.txt
   rpm -qp --scripts "$p" >> logs.txt
done <<< $rpms

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment