Answers:
පළමුව ඔබ එකතු කළ යතුරේ යතුරු හැඳුනුම්පත සොයාගත යුතුය. විධානය අනුව මෙය කරන්න:
sudo apt-key list
එය ඔබ සතුව ඇති සියලුම යතුරු ලැයිස්තුගත කරනු ඇත, සෑම ප්රවේශයක්ම මේ ආකාරයෙන් පෙනේ:
pub 1024R/B455BEF0 2010-07-29
uid Launchpad clicompanion-nightlies
ඔබ, ඉවත් කරන්න විධානය භාවිතා කිරීමට ඇති ප්රධාන හදුනාගත්තා පසු sudo apt-key del <keyid>
එහිදී <keyid>
ඔබ ඔබේ කියරින්ග් එකට සිට ඉවත් කිරීමට අවශ්ය ප්රධාන සැබෑ keyid ප්රතිස්ථාපනය වේ.
$ sudo apt-key del B455BEF0
$ apt-key list | grep clicompan
$
pub rsa4096 2012-05-11 [SC] 8439 .... uid ....
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY
, ඊළඟට මා කුමක් කළ යුතුද?
16.10 හි ඔබ ලැයිස්තු විධානය භාවිතා කරන විට කෙටි යතුරු හැඳුනුම්පත තවදුරටත් නොපෙන්වයි, නමුත් එය ඇත්ත වශයෙන්ම දිගු හෙක්ස් හි අවසාන අක්ෂර 8 වේ.
උදාහරණයක් ලෙස පහත යතුර සඳහා යතුරු හැඳුනුම්පත
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
යතුරු හැඳුනුම්පත EFE21092 වේ
sudo apt-key del "8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092"
අතර, මුළු ඇඟිලි සලකුණම භාවිතා කිරීම වඩා ආරක්ෂිත යැයි මම සිතමි, යතුරු පුවරුවේ අනුපිටපත් තිබිය හැකිය (අවම වශයෙන් ඔබ ඊමේල් සඳහා පීජීපී භාවිතා කරන විට, මම කියවන්නේ ඔබ ඔබේ ඇඟිලි සලකුණු බෙදා ගත යුත්තේ යතුරු පුවරුව පමණක් නොව).
දේවල් පහසු කිරීම සඳහා මම කෙටි පිටපතක් සාදන ලද අතර හැඳුනුම්පත වෙනුවට නූලක් භාවිතා කළෙමි.
යතුර ඔබ දන්නා අද්විතීය නූලක් තිබේ නම් ඔබට මගේ ස්ක්රිප්ට් භාවිතා කළ හැකිය.
උදා: වෙබ්මින් සඳහා මගේ නඩුවේ
pub 1024D/11F63C51 2002-02-28
uid Jamie Cameron <jcameron@webmin.com>
sub 1024g/1B24BE83 2002-02-28
මට විශ්වාසයි මගේ පරිගණකයේ ඇති වෙබ්මින් යතුර පමණක් මෙම යතුර jcameron
ඉවත් කිරීමට මෙම ස්ක්රිප්ට් භාවිතා කරනවාට වඩා.
මම එය ඉතිරි කළා ~/removeAptKey
එය ක්රියාත්මක කරන්න
sudo ./removeAptKey jcameron
පිටවීම වැනි දෙයක් විය යුතුය
KEYID: 11F63C51
OK
මෙන්න මගේ පිටපත:
#!/bin/bash
function printKeys(){
echo "Installed keys are"
echo ""
sudo apt-key list
}
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
if [[ $# -eq 0 ]]
then
echo "No key name provided"
exit 1
fi
UNIQUE=$1
sudo apt-key list | grep "${UNIQUE}" -B 1 > result.temp
LENGTH=$(cat result.temp | wc -l)
if [[ ${LENGTH} -gt 2 ]]
then
echo "Attention you found more than 1 key. Use a more specific string."
printKeys
exit 2
fi
if [[ ${LENGTH} != 2 ]]
then
echo "Key not found. Doing nothing."
printKeys
exit 3
fi
KEYID=$(cat result.temp | grep 'pub' | cut -d " " -f 4 | cut -d "/" -f 2)
echo "KEYID: "$KEYID
apt-key del ${KEYID}
rm result.temp
පළමුව මම මගේ යතුරේ බ්ලොක් එකේ ඉහළ පේළි දෙක ලබා ගනිමි:
sudo apt-key list
: සුපුරුදු පරිදි apt යතුරු ලැයිස්තුගත කරයිgrep '${UNIQUE}' -B 1
: පෙර අද්විතීය යතුරු දාමය jcameron
සහ පේළිය අඩංගු රේඛාව පමණක් ගන්න-B 1
> result.temp
: එය ගොනුවක සුරකින්න (පසුව ඉවත් කරනු ලැබේ)මෙය හරියටම පේළි 2 ක් ලබා දෙන්නේ නම් (-> හරියටම යතුර 1 ක් ඇත) මම ඉදිරියට යමි:
grep 'pub'
: දැන් pup
යතුරු හැඳුනුම්පත සමඟ පේළිය පමණක් ගන්නcut -d " " -f 4
: එම පේළියේ 4 වන වචනය ගන්න (පළමුවැන්න pub
අවකාශයට පැමිණීමට වඩා, අපි `` පසු ඇති නූලට වඩා)cut -d "/" -f 2
: පසුව කොටස පමණක් ගන්න /
අවසානයේ මෙම යතුර මකා දමා පිරිසිදු කිරීම
apt-key del ${KEYID}
(මගේ නඩුවේ 11F63C51
)rm result.temp
: මෙම ගොනුව තවදුරටත් අවශ්ය නොවේ#
වගන්තිය වැරදිකරු නම් එය එසේ විය හැකිද?
$#
නම් නැත. එය ලබා දී ඇති පරාමිතීන් ප්රමාණය නැවත ලබා දෙයි.
මම දන්නවා මම පරක්කු විය හැකි නමුත් මෙය සාක්ෂාත් කර ගැනීම සඳහා මෙම එක්-පේළියේ විධානය බෙදා ගැනීමට අවශ්ය විය.
සටහන : මෙය ක්රියාත්මක වන්නේ ප්රතිදානය අද්විතීය යතුරක් නම් පමණි.
උබුන්ටු අනුවාද 16.04 දක්වා (යාවත්කාලීන කරන ලද 2018-12-22):
apt-key del $(apt-key list | awk 'NR=='$(apt-key list | grep --line-number --regexp "FOOBAR" | cut --fields 1 --delimiter ":")'{print;exit}' | awk '{print $2}' | cut --fields 2 --delimiter "/")
කොහෙද FOOBAR
UID නම.
16.10 සිට උබුන්ටු අනුවාද:
apt-key del $(apt-key list | awk 'NR=='`expr $(apt-key list | grep --line-number --regexp "FOOBAR" | cut --fields 1 --delimiter ":") - 1`'{print;exit}')
කොහෙද FOOBAR
UID නම.
16.04
ඔබ ලබා දුන් විධානය ක්රියාත්මක කිරීමට උත්සාහ කළ විට මට දෝෂයක් ඇතිවිය . awk: line 1: syntax error at or near {
නමුත් කෝණ වරහන් ගැලපේ, එබැවින් මෙය ක්රියාත්මක නොවන්නේ මන්දැයි මට විශ්වාස නැත
apt-key list
ආකෘතිය වෙනස් වී ඇති බවත් පෙනේ . දැන් එය නැවත ක්රියාත්මක වන බව පෙනේ. (සංස්කරණය කරන්න: මෙය සුපිරි පරිශීලකයෙකු ලෙස ධාවනය කිරීමට මතක තබා ගන්න)
Software & Updates-->Authentication
මට පෙනී ගියේ දැනට උබුන්ටු 18.04 GUI ලෙස හඳුන්වන අතර එය ක්රියා කරන බවක් නොපෙනේ (එයට විශ්වාසදායක මෘදුකාංග යතුරක් ඉවත් කළ නොහැක). ඒ වෙනුවට, පහත දක්වා ඇති cli cmds භාවිතා කිරීමට සිදු විය.