Kā atjaunināt vienu paketi? Cik man apt-get
saka, apt-get upgrade
kā parametru nepieņem pakotni/pakotņu sarakstu:
upgrade
upgrade tiek izmantots, lai instalētu visu paku jaunākās versijas. pašlaik sistēmā instalētās paketes no avotiem, kas uzskaitīti
/etc/apt/sources.list
. Pašlaik instalētās paketes ar jauno pieejamām versijām tiek iegūtas un atjauninātas; nekādā gadījumā netiek atjauninātas pašlaik instalētās paketes tiek dzēstas vai paketes, kas vēl nav > instalētas. nav instalētas un instalētas. Pašlaik instalēto jauno versiju paketes, kuras nevar atjaunināt, nemainot uzstādīšanas statusu. citas pakotnes, tiks saglabāta to pašreizējā versija. Atjauninājums jāveic vispirms, lai apt-get zinātu, ka jaunās versijas ir atjauninātas. paketes ir pieejamas.
Jums vienkārši jāveic apt-get install --only-upgrade <packagename>
. Tas atjauninās tikai šo vienu paketi un tikai tad, ja tā ir instalēta.
Ja vēlaties instalēt pakotni, ja tās nav, vai atjaunināt, ja tādas ir, varat izlaist --only-upgrade
.
Man prātā ir divi iespējamie veidi:
sudo apt-get install nameofpackage
Tas atjauninās paketi, pat ja tā jau ir instalēta:.
~$ sudo apt-get install emesene
Paku sarakstu lasīšana... Gatavs
Atkarību koka veidošana
Valsts informācijas lasīšana... Paveikts
Tiks atjauninātas šādas paketes:
emesene
1 atjaunināts, 0 no jauna instalēts, 0 jādzēš un 5 nav atjaunināti.
Nepieciešams iegūt 1 486 kB arhīvu.
Pēc šīs operācijas tiks atbrīvota 696 kB diska vietas.
Get:1 http://il.archive.ubuntu.com/ubuntu/ natty-updates/universe emesene all 2.11.4+dfsg-0ubuntu1 [1 486 kB]
Synaptic Package Manager
: Spiediet ar peles labo pogu→atzīmēt jaunināšanai:šeit ievadiet attēla aprakstu.
Piezīme: Dažreiz var tikt pieprasītas papildu paketes vai atkarības, tas ir normāli.
Komandrindas risinājumam, kas neinstalē paketi, ja tās vēl nav:
dpkg -s <package> 2>/dev/null | grep -q Status.*installed && sudo apt-get install <package>
To var viegli pārveidot par skriptu, piemēram:
upgrade-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