නිශ්චිත අනුවාදයක් සහිත විශේෂිත උබුන්ටු පැකේජ ස්ථාපනය කරන්නේ කෙසේද?


241

නිශ්චිත පැකේජ (නම සහ අනුවාදය) සහිත නව අථත්‍ය යන්ත්‍රයක් සැකසීමට මට අවශ්‍යය.

උදාහරණයක් ලෙස 2.2.20-1ubuntu1සියලු පරායත්තතාවයන් සහිත අනුවාදයේ apache2 . සේවාදායකයේ මෙම පැකේජයේ නව සංස්කරණයක් තිබුණද මෙය ස්ථාපනය කළ යුතුය.

විසඳුමට බහුවිධ (n) “සැකසුම්” සමඟ වැඩ කිරීමට / පරිමාණය කිරීමට සිදුවේ. තවත් අථත්‍ය යන්ත්‍රයකට apache2 හි පැරණි අනුවාදයක් අවශ්‍ය විය හැකිය.

නිශ්චිත පැකේජ ස්ථාපනය කරන සමහර හැකියාවන් ගැන මම දැනට දනිමි, නමුත් එතරම් හොඳ පරිමාණයක් නොකරන්න:

  1. *.debසෑම අතථ්‍ය යන්ත්‍රයකටම අවශ්‍ය සියල්ල අතින් පිටපත් කර ඇතුල් කරන්න: dpkg -i... -> වැඩ කළ හැකි නමුත් එය ඉතා දෝෂ සහිතය. (අතින් පිටපත් ආදිය)
  2. එක් එක් සැකසුම සඳහා නව උබුන්ටු ගබඩාවක් සාදන්න සහ භාවිතා කරන්න. -> වැඩ කරන්නේ නැහැ මට නිධිය අවශ්‍ය නිසා.
  3. යන්ත්රය එක් වරක් සකසා VM පිටපත් කරන්න / සැණින් ඡායාරූපයක් සාදන්න. -> ක්‍රියා නොකරන්නේ මට වීඑම් යන්ත්‍ර ගබඩා කිරීමට අවශ්‍ය නිසා ය.

මගේ ගැටළුව පැච් කළමනාකරණය ලෙස ලේබල් කළ හැකි නමුත් මගේ පැකේජ වර්තමාන අනුවාදයට යාවත්කාලීන කිරීමට මට අවශ්‍ය නැත. මගේ ඉලක්කය පැරණි පැකේජ ස්ථාපනය කිරීමයි.

Answers:


247

apt-getපැකේජයේ නිශ්චිත අනුවාදයක් ස්ථාපනය කිරීමට ඔබට භාවිතා කළ හැකිය . සිට apt-getmanpage:

පැකේජයේ නිශ්චිත අනුවාදයක් ස්ථාපනය සඳහා තෝරා ගත හැක්කේ පැකේජයේ නම සමාන වන අතර පැකේජයේ අනුවාදය තෝරා ගැනීමෙනි. මෙය එම අනුවාදය ස්ථානගත කර ස්ථාපනය සඳහා තෝරා ගැනීමට හේතු වේ. විකල්පයක් ලෙස කප්පාදුවක් සහිත පැකේජයේ නම සහ බෙදාහැරීමේ අනුවාදය හෝ සංරක්ෂිත නාමය (ස්ථාවර, ශීත කළ, අස්ථායී) අනුගමනය කිරීමෙන් නිශ්චිත බෙදාහැරීමක් තෝරා ගත හැකිය.

උදාහරණයක් ලෙස, ඔබට කළ හැක්කේ:

sudo apt-get install apache2=2.2.20-1ubuntu1

මෙම අවස්ථාවේ දී ඔබට තනිවම යැපීමේ විසඳුමක් කිරීමට අවශ්‍ය විය හැකි බව සලකන්න, නමුත් කිසියම් ගැටළුවක් ඇත්නම් ඒවා ලබා ගැනීමට හේතුව කුමක්දැයි ඔබට කියා දෙනු ඇත. මගේ 11.10 පද්ධතියේ මෙය ක්‍රියාත්මක කිරීම සඳහා පහත සඳහන් දෑ කළ යුතුය:

sudo apt-get install apache2=2.2.20-1ubuntu1 \
                     apache2.2-common=2.2.20-1ubuntu1 \
                     apache2.2-bin=2.2.20-1ubuntu1 \
                     apache2-mpm-worker=2.2.20-1ubuntu1

ඔබට ලබා ගත හැකි පැකේජ අනුවාදයන් පහත පරිදි පෙන්විය හැකිය:

sudo apt list -a apache2

48
ලබා ගත හැකි අනුවාදයන් දැන ගන්නේ කෙසේද?
රොඩ්රිගෝ ගුර්ගල්

12
Od රොඩ්රිගෝ ගුර්ගල්, "අභිරුචි අනුවාදයන් apache2"
user169015

3
16 user169015 "අනුවාදය පවතී"! = "අනුවාදය උබුන්ටු සඳහා ඇසුරුම් කර ඇති අතර එය ලබා ගත හැකිය apt"
කයිල් ස්ට්‍රෑන්ඩ්

7
@ user169015 මම හිතන්නේ ඔබට කයිල්ගේ අදහස් දැක්වීමේ කාරණය මග හැරී ඇත. Psusi ගේ පිළිතුර පහතින් බලන්න. පෙනෙන විදිහට උබුන්ටු ඒපීටී ගබඩාවල පැරණි පැකේජ වල සත්කාරකත්වය දිගටම නොපවතී! එබැවින් ධාවන කාල පැකේජ කළමණාකරුවන් (පයිප්, මැණික්, මේවන්, ආදිය) මෙන් නොව, ඔබට පැරණි, දන්නා-හොඳ වින්‍යාසයක් ප්‍රතිනිර්මාණය කිරීමට අවශ්‍ය නම් උබුන්ටු ඒපීටී ගබඩාව මත විශ්වාසය තැබිය නොහැක. මෙය මා විසින්ම වටහා ගැනීම ගැන මා පුදුමයටත් කලකිරීමටත් පත් විය. සමහර විට ආරුක්කු මෙය වඩා හොඳින් හසුරුවයිද? ( askubuntu.com/questions/728439/… )
ඇල්ගල්

1
එය ඇල්ගල් අර්ථවත් කරයි ... ඉතා පැරණි අනුවාදයන් උචිත ගබඩාවලින් ලබා ගැනීම දුෂ්කර නමුත් තවමත් මෑත කාලීන ස්ථාවර අනුවාදයන් තිබේ. ධාවන කාල පැකේජ කළමනාකරුවන් එවැනි අවස්ථාවන්හිදී වඩා හොඳ තේරීමක් වනු ඇත. එහෙත් තවමත් අවදානමට ලක්විය හැකි ලෙස සලකුණු කර ඇති පැච් අවශ්‍ය පැරණි පැකේජ සොයන පුද්ගලයින්ගේ කිසිදු තේරුමක් නොමැත .. ඔවුන් ස්ථාවර නිකුතුවලින් පසු යා යුතුය. එය හේතු විය හැකි පරණ නිකුතුවලින් පිටතට පැමිණියේය.
user169015

66

කුමන අනුවාද තිබේදැයි පරීක්ෂා කිරීමට, ඔබට මෙය හරහා පරීක්ෂා කළ හැකිය:

sudo apt-cache madison ^apache2

ක්‍රියා නොකරන්නේ නම් sudo apt-get update, පැකේජ ලැයිස්තුව යාවත්කාලීන කිරීමට පෙර ධාවනය කිරීම සලකා බලන්න .

ඉන්පසු අනුවාදය පිටපත් කරන්න හෝ පහත සඳහන් වාක්‍ය ඛණ්ඩය භාවිතා කරන්න:

sudo apt-get install apache2=2.2\*

ඔබ ස්ථාපනය කර ඇති අනුවාදය පරීක්ෂා කිරීමට, ධාවනය කරන්න:

dpkg -l 'apache2*' | grep ^i

6
=2.2\*පවතින ඕනෑම උපක්‍රමයක් තෝරා ගැනීම සඳහා ආදේශක කාඩ්පතක් භාවිතා කිරීමේ ක්‍රමයක් ලෙස විකල්පය පෙන්වා දීම ගැන ඔබට බොහෝම ස්තූතියි . ඒක තමයි මට දැනගන්න ඕන නමුත් අහන්න දන්නේ නැහැ :)
aexl

3
භාවිතයෙන් අනුවාද ලැයිස්තුගත කිරීමේදී dpkg -l <packageName>, අනුවාද අංකය සමහර විට කපා දමනු ලැබේ. මෙය වළක්වා ගැනීම සඳහා භාවිතා කරන්නCOLUMNS=100 dpkg -l <packageName>
CJBS

යක්කිට, පළමු විධානය මට ලබා දෙන්නේ:N: Unable to locate package ^apache2
ජෙසී ග්ලික්

Es ජෙසිග්ලික් sudo apt-get updateමුලින්ම ධාවනය කරන්න . ඔබ නිවැරදි Apt ප්‍රභවයන් වින්‍යාස කර ඇති බවට වග බලා ගන්න.
kenorb

1
N: යාවත්කාලීනයෙන් පසුව ap apache2 පැකේජය සොයාගත නොහැකි නමුත් sudo apt-get install apache2 = 2.2 * මා වෙනුවෙන් වැඩ කරයි
Braian Mellor

18

මම aptපවුලේ අනෙකුත් අනුවාද විධාන සමඟ පෙර පිළිතුරු පුළුල් කරමි . කුමන අනුවාද තිබේදැයි බැලීමට, ධාවනය කරන්න apt-cache policy:

# apt-cache policy apache2
apache2:
  Installed: (none)
  Candidate: 2.4.7-1ubuntu4.5
  Version table:
     2.4.10-1ubuntu1.1~ubuntu14.04.1 0
        100 http://us.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages
     2.4.7-1ubuntu4.5 0
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
     2.4.7-1ubuntu4 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

ඉන්පසු, වෙනත් තැනක සඳහන් කළ පරිදි, විශේෂිත අනුවාදයක් ස්ථාපනය කරන්න apt-get:

# apt-get install apache2=2.4.7-1ubuntu4.5
...

apt-cache policyනැවත ධාවනය කිරීමෙන් ඔබ ස්ථාපනය කර ඇති අනුවාදය දැන් ඔබට දැක ගත හැකිය :

# apt-cache policy apache2
apache2:
  Installed: 2.4.7-1ubuntu4.5
  Candidate: 2.4.7-1ubuntu4.5
  Version table:
     2.4.10-1ubuntu1.1~ubuntu14.04.1 0
        100 http://us.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages
 *** 2.4.7-1ubuntu4.5 0
        500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.7-1ubuntu4 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

යාවත්කාලීනයන්හි නව අනුවාදයන් ස්ථාපනය කිරීමට ඔබට අවශ්‍ය නැතිනම්, ඇසුරුම මෙතැනින් සම්බන්ධ කරන්න apt-mark:

# apt-mark hold apache2
apache2 set on hold.

Apache2 හි නව සංස්කරණයක් පැකේජ දර්ශකයට එකතු කර ඔබගේ යන්ත්‍රය සමමුහුර්ත කර ඇති බව කියමු apt-get update. ඔබ ඊළඟට ධාවනය වන විට මෙය දකිනු ඇත apt-get upgrade:

# apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  apache2
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

7

ප්‍රායෝගිකව කිවහොත්, මෙය කළ නොහැක්කේ පැරණි අනුවාදයන් ලේඛනාගාරයේ තබා නොමැති නිසා පැරණි අනුවාදයේ පිටපතක් කොහේ හෝ තැනක තබා නොමැති නම් ඔබට එය ස්ථාපනය කළ නොහැක. ඔබට පැරණි අනුවාදයක් ස්ථාපනය කිරීමට අවශ්‍ය වන්නේ මන්දැයි ඔබ ඔබගෙන්ම විමසා බැලිය යුතුය. ස්ථාවර නිකුතුවකදී, නව අනුවාදයක් නිකුත් කිරීමට ප්‍රධාන හේතුව වන්නේ ආරක්ෂක අවදානම නිවැරදි කිරීම සහ අවදානමට ලක්විය හැකි සේවාදායකයක් ක්‍රියාත්මක කිරීමට ඔබට අවශ්‍ය නැද්ද?


26
සංවර්ධන අරමුණු සඳහා පැරණි පරිසරවල නිශ්චිත පිටපත් ප්‍රතිනිෂ්පාදනය කිරීමට මට මෙය අවශ්‍ය වේ. අවශ්‍ය පැකේජ වෙත ප්‍රවේශ වීම සඳහා පැරණි පැකේජ අනුවාදයන් මකා නොදමන කැඩපතක් සැකසීමට හැකිද? නැතහොත් වෙනස් වන පමණක් පවතින බහු ගබඩාවන් සැකසීමට මට අවශ්‍යද?
ayckoster

20
uspsusi: හරියටම සාධාරණ ප්‍රතිචාරයක් නොවේ, හේතු බොහෝමයක් තිබිය හැකිය. මගේ නඩුවේදී නවතම අනුවාදයේ ඇත්ත වශයෙන්ම දෝෂයක් තිබිය හැකි අතර පැරණි අනුවාදය අවශ්‍ය වන්නේ එය දෙවරක් පරීක්ෂා කර බැලීමට ය. උදාහරණයක් පමණි.
කුකී

2
@nomen, නැහැ, එය බව තනි ආකාරය දැකගත වේ නොහැකි ෙනොෙවනස්ව නිදහස් ආකෘතියක් භාවිතා කරයි. ස්ථායී නිකුතුවේදී විවේචනාත්මක දෝෂ සහ ආරක්ෂක දුර්වලතා සවි කර ඇති විට, ඒවා ප්‍රතිගාමී වීමට හේතු නොවන බවට වග බලා ගැනීම සඳහා විශාල සැලකිල්ලක් දක්වනු ලැබේ, නමුත් එය සිදු වුවහොත්, ප්‍රතිගාමී-මුදා හැරීම සමඟ ටැග් කර ඇති දෝෂ වාර්තාවක් ගොනු කරන්න. ආපසු.
psusi

5
නාමය, ඔබට වචන සඳහා ඔබේම අර්ථයන් සැකසීමට අවශ්‍ය නම් අන් අය සමඟ සන්නිවේදනය කිරීමට ඔබට අපහසු වනු ඇත. ලෝකයේ අනෙක් සියල්ලන්ටම, එය පෙරළීමේ නිකුතුවක් නොවන අතර, රෝලිං නිකුතුව යනු හරියටම ප්‍රතිවිරුද්ධ දෙයයි. දැන් මම ඒ ගැන සිතන විට, නිකුතුව සමඟ නැව්ගත කරන ලද මුල් අනුවාදය ඇත්ත වශයෙන්ම-නිදහස් කිරීමේ සාක්කුවේ තබා ඇති අතර යාවත්කාලීනයන් යාවත්කාලීන කිරීම් හෝ ආරක්‍ෂිත සාක්කුවට යයි, එබැවින් ඔබට පෙර යාවත්කාලීනයකට ආපසු යා නොහැකි අතර, ඔබ මුලින් නිකුත් කළ අනුවාදය වෙත ආපසු යා හැකිය.
psusi

5
uspsusi: මෙන්න ඔබ වෙනුවෙන් තවත් එකක්. සියලුම යන්ත්‍රවල සෑම විටම එකම අනුවාදයක් වීමට යුනිසන් අවශ්‍ය වේ. 13.10 දී එය LTS 12.04 ට වඩා වෙනස් අනුවාදයකි. ඉතින් දැන් මොකක්ද? මේ වගේ ප්‍රශ්නයකට පැමිණෙන විට, ඔබට මෙය කිරීමට අවශ්‍ය ඇයි වැනි පිළිතුරක් ලැබීම සැබවින්ම ඇදහිය නොහැකි තරම් උදව්වක් නොවන අතර සෑම කෙනෙකුටම කාලය නාස්ති කිරීමකි.
කුකී

2

Psusi පැහැදිලි කරන පරිදි, පැරණි අනුවාදයන් උබුන්ටු ගබඩාවේ තබා නැත, නමුත් පෙනෙන ආකාරයට ඔබට ඒවා තවමත් දියත් කිරීමේ පෑඩයේ සොයාගත හැකිය. ඉතින්, ඔබ යන්න (විශ්වාසදායක සහ amd64 ඔබේ උබුන්ටු අනුවාදය සහ ගෘහ නිර්මාණ ශිල්පය සමඟ ආදේශ කරන්න):

https://launchpad.net/ubuntu/trusty/amd64/apache2

ඔබ කැමති අනුවාදය තෝරන්න. ඉන්පසු ඔබ ඩෙබ් ගොනුවක් ලෙස බාගත කර ස්ථාපනය කරන්නේ:

dpkg -i apache2_2.4.7-1ubuntu4.20_amd64.deb

නැවතත්, ගොනු නාමය ඔබේ ගොනුවට ආදේශ කරන්න. ඔබට පැකේජ විශාල ප්‍රමාණයක් පහත හෙලීමට සිදුවුවහොත් මෙය වෙහෙසකර වන නමුත් ඔබ මංමුලා සහගත නම් එය වඩා හොඳය.

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.