මෙම විධානයට ස්ථාපනය කළ හැකි පැකේජවල අන්තර්ගතය පමණක් ලැයිස්තු ගත කළ හැකිය,
dpkg -L PACKAGENAME
නමුත් ස්ථාපනය නොකළ පැකේජයක අන්තර්ගතය ලැයිස්තුගත කරන්නේ කෙසේද, පැකේජය පෙරදසුන් කිරීමට / පරීක්ෂා කිරීමට?
මෙම විධානයට ස්ථාපනය කළ හැකි පැකේජවල අන්තර්ගතය පමණක් ලැයිස්තු ගත කළ හැකිය,
dpkg -L PACKAGENAME
නමුත් ස්ථාපනය නොකළ පැකේජයක අන්තර්ගතය ලැයිස්තුගත කරන්නේ කෙසේද, පැකේජය පෙරදසුන් කිරීමට / පරීක්ෂා කිරීමට?
Answers:
dpkg -c
(හෝ --contents
) .deb පැකේජ ගොනුවක අන්තර්ගතය ලැයිස්තුගත කරයි (එය ඉදිරිපස අන්තයකි dpkg-deb
.)
dpkg -c package_file.deb
පැකේජ ලිපිගොනු වලට වඩා පැකේජ නාම සමඟ කෙලින්ම වැඩ කිරීමට, ඔබට භාවිතා කළ හැකිය apt-file
. (ඔබට apt-file
පළමුව පැකේජය ස්ථාපනය කිරීමට අවශ්ය විය හැකිය .)
sudo apt-file update
apt-file list package_name
පළමු විවරණයේ සඳහන් කර ඇති පරිදි, ඔබ දැනටමත් වින්යාස කර ඇති Apt ගබඩාවල ඇති පැකේජ සඳහා apt-file ලැයිස්තුගත කරයි. කිසියම් විශේෂිත පැකේජයක් ස්ථාපනය කර තිබේද නැද්ද යන්න අදාළ නොවේ.
sudo apt-file update
), සහ දැනටමත් වින්යාස කර ඇති Apt ගබඩාවල ඇති පැකේජ සඳහා අන්තර්ගතයන් පමණක් ලැයිස්තුගත කරයි.
dpkg -c
හොඳයි!
.deb
ඔබ වෙනම බාගත කළ ගොනුවක් වෙනුවට වින්යාස කරන ලද ගබඩාවකින් බවයි. මුල් ප්රශ්නය අපැහැදිලි ය.
--contents
ඒ වෙනුවට භාවිතා කරන්න -L
:
dpkg --contents PACKAGENAME
මේ ආකාරයට භාවිතා කරන විට, dpkg
ඉදිරිපස කෙළවරක් ලෙස ක්රියා කරයි dpkg-deb
, එබැවින් man dpkg-deb
සියලු විකල්ප බැලීමට භාවිතා කරන්න.
පැකේජයේ අන්තර්ගතය බැලීමට ඔබට සංරක්ෂිත බ්රව්සරයක් භාවිතා කළ හැකිය.
dpkg --contents google-chrome-stable_current_amd64.deb
තවද එය ස්ථාපනය කරන සියලුම ලිපිගොනු ලැයිස්තුගත කර ඇත (බොහෝ දුරට /opt/google/chrome
), මම මේ ටයිප් කරන විට ඒ කිසිවක් දැනට මගේ පද්ධතියේ ස්ථාපනය කර නොමැත. (එය වැදගත් නම් මම
dpkg --contents
අස්ථාපනය කළ පැකේජය දෙස බැලීමට ඔබට ඉඩ සලසයි. .Deb තවමත් ඔබේ පද්ධතියේ නොමැති නම්, කරන්න
apt-get --download-only install pkgname
පැකේජය බාගත කර /var/cache/apt/archives
ස්ථාපනය කර නැත.
හොඳම ක්රමය වනුයේ පැකේජ ගබඩාව කෙලින්ම ගවේෂණය කිරීමයි:
http://packages.debian.org/[distro name]/all/[package name]/filelist
උදාහරණයක්:
http://packages.debian.org/wheezy/all/transmission-common/filelist
lynx -dump -nolist http://packages.debian.org/wheezy/all/transmission-common/filelist | grep ^/
(ඔබ lynx
ස්ථාපනය කර ඇත්නම්) භාවිතා කළ හැකිය .
මම @ බැල්ඩොස්ගේ http අදහස ගෙන එය උබුන්ටු සහ ඩෙබියන් සඳහා සාමාන්යකරණය කර, ටිකක් එකතු කර sed
එය එක් ලයිනර් බැෂ් ශ්රිතයකට ඔතා:
function deb_list () { curl -s $(lsb_release -si | sed -e 's Ubuntu https://packages.ubuntu.com ' -e 's Debian https://packages.debian.org ')/$(lsb_release -sc)/all/$1/filelist | sed -n -e '/<pre>/,/<\/pre>/p' | sed -e 's/<[^>]\+>//g' -e '/^$/d'; }
භාවිතය:
$ deb_list curl
/usr/bin/curl
/usr/share/doc/curl/changelog.Debian.gz
/usr/share/doc/curl/copyright
/usr/share/doc/curl/NEWS.Debian.gz
/usr/share/man/man1/curl.1.gz
බහුවිධ රේඛාවල එකම ශ්රිතය:
function deb_list () {
curl -s $(lsb_release -si \
| sed -e 's Ubuntu https://packages.ubuntu.com ' \
-e 's Debian https://packages.debian.org '
)/$(lsb_release -sc)/all/$1/filelist \
| sed -n -e '/<pre>/,/<\/pre>/p' \
| sed -e 's/<[^>]\+>//g' -e '/^$/d';
}
පැහැදිලි කළේ:
https://packages.ubuntu.com
හෝhttps://packages.debian.org
https://packages.ubuntu.com/trusty/all/curl/filelist
<pre>
සහ </pre>
ටැග්); දෙවන තීරු ඕනෑම html ටැග් ඉවත් කරයි; තෙවනුව හිස් රේඛා ඉවත් කරයි.සටහන: එය PPAs සොයන්නේ නැත, විකල්ප යෝග්ය ප්රභව ගබඩාවන් වන අතර ඔබ ධාවනය කරන ඩෙබියන් / උබුන්ටු මුදා හැරීම සඳහා ඇති නිල පැකේජ පමණක් විමසයි.
2017 ජනවාරි මාසයේදී මෙම ගැටලුව තවමත් විසඳා ගත හැකි සියලු පුද්ගලයින් සඳහා, කිසිවක් බාගත නොකර ඩේබියන් 8.5 හි මෑත කාලීන apt සහ dpkg සංස්කරණ සමඟ සිසිල් දේවල් ලබා ගත හැකිය.
බාගත කිරීමකින් තොරව ඩෙබ් ගොනුවේ අන්තර්ගතය ලැයිස්තුගත කරන්න:
පළමුව ඩෙබ් ගොනුවේ සම්පූර්ණ url එක සොයා ගන්න:
root@debian:apt-get --print-uris download yade
'http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb' yade_2016.06a-7_amd64.deb 1621148 SHA256:26c0d84484a92ae9c2828edaa63243eb764378d79191149970926aa3ec40cdd4
PS: --print-uris ස්විචය ඩෙබ් පැකේජයේ url මුද්රණය කරන නමුත් ඩෙබ් බාගත නොකෙරේ.
පසුව ඩෙබ් පැකේජයේ අන්තර්ගතය බාගත නොකර ප්රදර්ශනය කරන්න:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb -c /dev/stdin
drwxr-xr-x root/root 0 2016-12-10 22:18 ./
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/
drwxr-xr-x root/root 0 2016-12-10 22:18 ./usr/bin/
-rwxr-xr-x root/root 13184 2016-12-10 22:18 ./usr/bin/yade
.........................more files listed bellow ......................
PS: එකම ප්රති result ල ලබා ගත හැකිය
root@debian:dpkg -c <(curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb")
බාගත කිරීමකින් තොරව ඉහත ඩෙබ් පැකේජයෙන් ගොනුවක් උපුටා ගන්න.
උදාහරණයක් ලෙස මෙම පැකේජය ස්ථාපනය නොකර ඩෙබ් පැකේජය බාගත නොකර පැකේජ යේඩ්ගේ මෑන් පිටුව කියවීමට අපට අවශ්යය.
උපදෙස් ලෙස deb පැකේජ තුළ මිනිසා පිටුවේ ගොනු dpkg -c
කියන්නේ./usr/share/man/man1/yade.1.gz
පියාසර කරන මිනිසාගේ පිටුව කියවීමට:
root@debian:curl -sL -o- "http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb" |dpkg-deb --fsys-tarfile /dev/stdin |tar -xO ./usr/share/man/man1/yade.1.gz |man /dev/stdin
man යෙදුම නිවැරදිව man යෙදුම භාවිතයෙන් දර්ශනය වේ.
PS: ඉහත පයිප්ප ar විධානය සමඟ ක්රියා නොකරයි.
root@debian:apt --version --> apt 1.4~beta2 (amd64)
root@debian:dpkg --version --> Debian 'dpkg' package management program version 1.18.18 (amd64).
root@debian:man --version --> man 2.7.6.1
root@debian:tar --version --> tar (GNU tar) 1.29
පළමුව එය ස්ථාපනය කිරීමට හෝ .deb
ගොනුවෙන් ලැයිස්තුව උපුටා ගැනීමට පෙර එය කළ නොහැකි බව පෙනේ .
පහත විධානය උත්සාහ කරන්න:
dpkg --contents <(curl -s $(apt-get install --yes --no-download --reinstall --print-uris language-pack-en | tail -n1 | grep -o "http[^']\+"))
language-pack-en
ඔබගේ පැකේජයේ නම සමඟ වෙනස් කරන්න.
එය මූලික වශයෙන් .deb
උපුටා ගත් ගොනුව කියවා එය මත curl
ධාවනය dpkg --contents FILE
කරයි.
පැකේජ ගොනුව බාගත නොකර ඔබට අන්තර්ගතය පරීක්ෂා කළ හැකිය.
එබැවින් ඔබ .deb
ගොනුවේ URL දන්නේ නම් , පහත දැක්වෙන shell විධානය මඟින් සියලුම පැකේජ ගොනු ලැයිස්තුගත කරනු ඇත:
dpkg -c <(curl -sL "http://httpredir.debian.org/debian/pool/main/a/avis/avis_1.2.2-4_all.deb")
Curl params: -s
- නිහ silent, -L
- ගෙන ගිය සබැඳි අනුගමනය කරන්න.
ඔබ URL නොදන්නේ නම්, ලබා ගන්න:, apt --print-uris
උදා
apt --print-uris install avis | grep avis