Apt-get භාවිතයෙන් තනි පැකේජයක් යාවත්කාලීන කරන්නේ කෙසේද?


874

තනි පැකේජයක් යාවත්කාලීන කරන්නේ කෙසේද? ඈත ලෙස man apt-getපවසයි apt-get upgradeපරාමිතිය ලෙස පැකේජ පැකේජය / ලැයිස්තුව ගත වන්නේ නැත:

උත්ශ්‍රේණි කිරීම

යාවත්කාලීන කිරීම පද්ධතියේ දැනට ස්ථාපනය කර ඇති සියලුම පැකේජවල නවතම අනුවාදයන් ගණනය කර ඇති ප්‍රභවයන්ගෙන් ස්ථාපනය කිරීමට භාවිතා කරයි /etc/apt/sources.list. දැනට පවතින නව සංස්කරණ සමඟ ස්ථාපනය කර ඇති පැකේජ ලබාගෙන වැඩි දියුණු කරනු ලැබේ; කිසිදු තත්වයක් යටතේ දැනට ස්ථාපනය කර ඇති පැකේජ ඉවත් කර නැත, හෝ දැනටමත් ස්ථාපනය කර නොමැති පැකේජ ලබාගෙන ස්ථාපනය කර නොමැත. වෙනත් පැකේජයක ස්ථාපන තත්ත්වය වෙනස් නොකර යාවත්කාලීන කළ නොහැකි දැනට ස්ථාපනය කර ඇති පැකේජවල නව අනුවාදයන් ඒවායේ වර්තමාන අනුවාදයේ ඉතිරි වේ. යාවත්කාලීනයක් පළමුව සිදු කළ යුතු අතර එමඟින් නව පැකේජ ඇති බව apt-get දැන ගනී.

Answers:


1087

ඔබ කළ යුත්තේ එයයි apt-get install --only-upgrade <packagename>. මෙය යාවත්කාලීන කරනු ලබන්නේ එම තනි පැකේජය පමණක් වන අතර එය ස්ථාපනය කර ඇත්නම් පමණි.

පැකේජය නොපවතින විට එය ස්ථාපනය කිරීමට හෝ එය එසේ නම් එය යාවත්කාලීන කිරීමට ඔබට අවශ්‍ය නම්, ඔබට ඉවත්ව යා හැකිය --only-upgrade.


91
apt-get install --only-upgrade <packagename>නව පැකේජ කිසිවක් ස්ථාපනය නොකරනු ඇත
taneli

9
කැමැත්ත installඅවශ්ය නම් මෙම විධානය තනි ඇසුරුම් පරායත්තයන් උත්ශ්රේණි?
පිනෝ

7
InPino එය එසේ කිරීම අර්ථවත් කරයි. ඔබ යාවත්කාලීන කරන අනුවාදය වෙනත් පැකේජයක නවතම අනුවාදය මත රඳා පවතී නම් කුමක් කළ යුතුද? ඔබ දෙකම යාවත්කාලීන නොකරන්නේ නම් ඔබ සො ose නළයි. installප්‍රති-බුද්ධිමත් බවක් පෙනුනත් මේ සඳහා නිවැරදි විධානය වන්නේ එබැවිනි .
මැට් ඩොජ්

6
මෙය "ස්වයංක්‍රීය" සලකුණ ඉවත් කරයිද? සමහර විට ඔබ පුස්තකාල ස්ථාපනය කරන විට විශේෂයෙන් පැකේජය අතින් ස්ථාපනය කර ඇති බවට සලකුණු කර ඇත. මෙම හේතුව නිසා පුස්තකාලවල 'ස්ථාපනය' කිරීමට මම කැමති නැත.
isaaclw

3
සියලු තොරතුරු අපැහැදිලි බැවින් මම පරීක්ෂා කළෙමි; උබුන්ටු 16.04 ( apt 1.0.1) හි, පැකේජයක් භාවිතයෙන් යාවත්කාලීන කිරීම සලකුණට apt installබලපාන්නේ නැත auto, --only-upgradeසපයනු ලැබුවත් නැතත්. --only-upgradeඅහම්බෙන් අළුත් දෙයක් ස්ථාපනය කිරීමට ඔබට අවශ්‍ය නැතිනම් ඇත්ත වශයෙන්ම භාවිතා කිරීම අර්ථවත් කරයි. අවශ්‍ය ඕනෑම පරායත්තතාවයන් ද එය යාවත්කාලීන කරනු ඇත .
ද්විත්ව

137

CLI භාවිතා කරමින් තනි පැකේජයක් යාවත්කාලීන කිරීම සඳහා:

sudo apt-get install --only-upgrade <packagename>

උදා: sudo apt-get install --only-upgrade ack

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Skipping **ack**, it is not installed and only upgrades are requested.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

11
මෙම විධානය සමඟ මට දෝෂයක් ඇතිවිය:E: Sense only is not understood, try true or false.
මයිකල්

1
පෙර විචාරකයාගේ දෝෂයට මුහුණ දුන් අය සඳහා මගේ පිළිතුර පහත බලන්න .
golem

3
පෙර පිළිතුරු වලින් නව තොරතුරු එකතු
නොකිරීම නිසා පහතට බැස ඇත

1
ඔබ උප කමාන්ඩ් වෙත --only-upgradeයොමු විය යුතුය install, කෙලින්ම නොවේ apt-get, එවිට ඔබට එකතු කිරීමට සිදු නොවේ true.
රුස්ලාන්

59

මට සිතිය හැකි ක්‍රම දෙකක් තිබේ:

  1. sudo apt-get install nameofpackage

    මෙය දැනටමත් ස්ථාපනය කර තිබුණද පැකේජය යාවත්කාලීන කරනු ඇත:

    ~$ sudo apt-get install emesene
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following packages will be upgraded:
      emesene
    1 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
    Need to get 1,486 kB of archives.
    After this operation, 696 kB disk space will be freed.
    Get:1 http://il.archive.ubuntu.com/ubuntu/ natty-updates/universe emesene all 2.11.4+dfsg-0ubuntu1 [1,486 kB]
    
  2. භාවිතා කිරීම Synaptic Package Manager: දකුණු ක්ලික් කරන්න upgra යාවත්කාලීන කිරීම සඳහා ලකුණු කරන්න :

    රූප විස්තරය මෙහි ඇතුළත් කරන්න

    සටහන : සමහර විට එය අතිරේක පැකේජ හෝ පරායත්තතා ඉල්ලා සිටිය හැකිය, එය සාමාන්‍ය දෙයකි.


1
ඔව්, එය කළ sudo apt-get install whateverයුතු අතර එය තනිවම යාවත්කාලීන කළ යුතුය.
ද්විමය ජීවිතය

4
upgradeපැකේජ තර්කයක් ගන්නේ නැත.
ℝaphink

26

උබුන්ටු 12.04 එල්ටීඑස් පිළිබඳ මගේ අත්දැකීම් අනුව, පහත දැක්වෙන විධානය භාවිතා කිරීමෙන් වෙනම පීපීඒ එකක් භාවිතා කරන්නේ නම් පැකේජය උත්ශ්‍රේණි නොකරනු ඇත -

sudo apt-get --only-upgrade install <packagename>

ඒ හා සමානව, මගේ සේවාදායකයේ ඇති සියලුම පැකේජ යාවත්කාලීන කරන උත්ශ්‍රේණිගත කිරීමේ විධානය ක්‍රියාත්මක කිරීමට මට අවශ්‍ය නොවීය -

sudo apt-get dist-upgrade

උදාහරණයක් ලෙස, මම PHP 5.3 ස්ථාපනය කර ඇති අතර මගේ apt.sources වෙත ondrej PPA එකතු කර ඇත -

sudo add-apt-repository ppa:ondrej/php5

මම දුවනවා නම්

sudo apt-get install php5

එය PHP 5.3 නැවත ස්ථාපනය කරනු ඇත.

මට පළමුව, භාවිතයට යාවත්කාලීන කිරීමට අනුවාද අංකය තීරණය කළ යුතුය

sudo apt-cache policy php5

මෙය ලබා ගත හැකි සියලුම අනුවාද අංක ලැයිස්තුගත කරයි. ඔබට උත්ශ්‍රේණි කිරීමට අවශ්‍ය අනුවාද අංකය සොයා ගත යුතු අතර, එය යොමු කරන සම්පූර්ණ නූලම පිටපත් කරන්න. උදාහරණයක් ලෙස, උබුන්ටු හි PHP 5.5 සඳහා වන නූල "5.5.16 + dfsg-1 + deb.sury.org ~ හරියටම + 2" වේ.

දැන්, ඔබට විශේෂිත අනුවාද අංකය සමඟ apt-get install විධානය ක්‍රියාත්මක කළ හැකිය, සහ voila!

sudo apt-get install php5=5.5.16+dfsg-1+deb.sury.org~precise+2

මා මෙය එකතු කළේ වෙනත් තැනක මෙම තොරතුරු සොයා ගැනීමට නොහැකි වූ නිසා පමණි!


17

උබුන්ටු 9.04 ජැන්ටී,

apt-get --only-upgrade install <package>

අස්වැන්න:

E: Sense only is not understood, try true or false.

විධානය

apt-get --only-upgrade true install <package>

මගේ නඩුවේ වැඩ කළා.


4
ඔබ උප කමාන්ඩ් වෙත --only-upgradeයොමු විය යුතුය install, කෙලින්ම නොවේ apt-get, එවිට ඔබට එකතු කිරීමට සිදු නොවේ true.
රුස්ලාන්

10

පැකේජය දැනටමත් නොපවතී නම් එය ස්ථාපනය නොකරන විධාන රේඛා විසඳුමක් සඳහා:

dpkg -s <package> 2>/dev/null | grep -q Status.*installed && sudo apt-get install <package>

මෙය පහසුවෙන් පිටපතක් බවට පත් කළ හැකිය, උදා:

update-package.sh:

#!/bin/bash

[[ -z $1 ]] && { echo "Usage: $(basename $0) package"; exit 1; }

if dpkg -s "$1" 2>/dev/null | grep -q Status.*installed; then
    echo "Attempting to upgrade $1"
    sudo apt-get install "$1"
else
    echo "Package $1 is not installed"
fi

2

පැරණි නමුත් හොඳ ප්‍රශ්නයක්, යාවත්කාලීන පිළිතුරක් එක් කිරීමේ නිදහස මම ලබා ගනිමි ... වඩාත් නවීන බෙදාහැරීම් සඳහා, සුදුසු එතීම ඇතුළත් කර ඇති, තරම් සරල:

sudo apt upgrade <package-name>

මෙය ක්‍රියා නොකරයි; එය තවමත් සියල්ල යාවත්කාලීන කිරීමට උත්සාහ කරයි.
colan

'සියල්ල' යන්නෙන් ඔබ අදහස් කරන්නේ කුමක්ද? මෙම ALAWAYS මඟින් පැකේජ පරායත්තතා වැඩි දියුණු කරනු ඇතැයි සිතන්න. ඔබට පැකේජයේ .deb බාගත කර 'dpkg -i <package> .deb' කරන්න උත්සාහ කළ හැකිය, නමුත් ඔබට 'apt install -f' ධාවනය කිරීමට සිදුවිය හැකිය
xCovelus

1
පරායත්තතා පමණක් නොවේ: එය යාවත්කාලීන කිරීම් ඇති අනෙකුත් සියලුම පැකේජ යාවත්කාලීන කරනු ඇත.
colan

0

උබුන්ටු 18.04 LTS හි තනි පැකේජයක් යාවත්කාලීන කිරීම සඳහා:

sudo apt update && sudo apt install --only-upgrade <packagename>

බහු පැකේජ යාවත්කාලීන කිරීමට:

sudo apt update && sudo apt install --only-upgrade <package1> <package2> <package3>
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.