डेबियन संकुल संस्करण सम्मेलन


35

मैं डेबियन / उबंटू का उपयोग कर रहा हूं, और पैकेज के संस्करणों के बारे में भ्रमित हूं। उपयोग करते समयdpkg -lकमांड , मुझे मिलता है:

ii  vim                                 2:7.3.429-2ubuntu2.1                Vi IMproved - enhanced vi editor
ii  vim-common                          2:7.3.429-2ubuntu2.1                Vi IMproved - Common files
ii  vim-runtime                         2:7.3.429-2ubuntu2.1                Vi IMproved - Runtime files
ii  vim-tiny                            2:7.3.429-2ubuntu2.1                Vi IMproved - enhanced vi editor - compact version
ii  virt-what                           1.11-1                              detect if we are running in a virtual machine
ii  w3m                                 0.5.3-5ubuntu1                      WWW browsable pager with excellent tables/frames support
ii  watershed                           6                                   reduce superfluous executions of idempotent command
ii  wget                                1.13.4-2ubuntu1                     retrieves files from the web
ii  whiptail                            0.52.11-2ubuntu10                   Displays user-friendly dialog boxes from shell scripts
ii  whoopsie                            0.1.33                              Ubuntu crash database submission daemon
ii  wimlib9                             1.5.0-1~webupd8~precise             Library to extract, create, modify, and mount WIM files
ii  wimtools                            1.5.0-1~webupd8~precise             Tools to extract, create, modify, and mount WIM files
ii  wireless-tools                      30~pre9-5ubuntu2                    Tools for manipulating Linux Wireless Extensions
ii  wpasupplicant                       0.7.3-6ubuntu2.1                    client support for WPA and WPA2 (IEEE 802.11i)
ii  x11-common                          1:7.6+12ubuntu2                     X Window System (X.Org) infrastructure
ii  x11-utils                           7.6+4ubuntu0.1                      X11 utilities
ii  xauth                               1:1.0.6-1                           X authentication utility
ii  xbitmaps                            1.1.1-1                             Base X bitmaps
ii  xclip                               0.12-1                              command line interface to X selections
ii  xfonts-encodings                    1:1.0.4-1ubuntu1                    Encodings for X.Org fonts
ii  xfonts-utils                        1:7.6+1                             X Window System font utility programs
ii  xkb-data                            2.5-1ubuntu1.3                      X Keyboard Extension (XKB) configuration data
ii  xml-core                            0.13                                XML infrastructure and XML catalog file support
rc  xpdf                                3.02-21build1                       Portable Document Format (PDF) reader
ii  xterm                               271-1ubuntu2.1                      X terminal emulator
ii  xz-lzma                             5.1.1alpha+20110809-3               XZ-format compression utilities - compatibility commands
ii  xz-utils                            5.1.1alpha+20110809-3               XZ-format compression utilities
ii  zabbix-agent                        1:1.8.11-1                          network monitoring solution - agent
ii  zlib1g                              1:1.2.3.4.dfsg-3ubuntu4             compression library - runtime
ii  zlib1g-dev                          1:1.2.3.4.dfsg-3ubuntu4             compression library - development
ii  zsh                                 4.3.17-1ubuntu1                     shell with lots of features

तीसरा स्तंभ है version, लेकिन यह सब "गड़बड़" है एक तरह से मैं समझ नहीं सकता। मेरा मतलब है, विभिन्न पैकेज पूरी तरह से अलग नामकरण विनिर्देशों का उपयोग करते हैं।

यहाँ प्रमुख प्रश्न हैं:

  1. कुछ वर्जन नंबर क्यों हैं ubuntu , और कुछ नहीं?
  2. सभी विशेष विराम चिह्न क्या है -~+ का क्या अर्थ है?
  3. क्या हैं alpha, buildऔर dfsg? क्या मैं उन्हें लापरवाही से इस्तेमाल कर सकता हूं?
  4. vim और अन्य पैकेज है 2: । इसका क्या मतलब है?
  5. "संस्करण तुलना" कैसे काम करती है, जब संस्करण प्रारूप इतने भिन्न हो सकते हैं?

क्या कोई मुझे यह समझा सकता है? या मुझे एक आधिकारिक दस्तावेज कहां मिल सकता है?

अग्रिम में धन्यवाद।


तुम पर क्या मतलब है: "क्यों वहाँ में ubuntu हैं, और वहाँ नहीं कर रहे हैं?"
सिरो सेंटिल्ली 新疆 改造 iro i 事件 '

1
@ CiroSantilli709 大 六四 事件 法轮功 do यानी कुछ संस्करण संख्याओं में प्रत्यय शब्द क्यों होता है ubuntuऔर कुछ नहीं।
रासलीला

जवाबों:


50

डेबियन नीति मैनुअल इस संस्करण क्षेत्र है, जो अपने प्रश्न के कुछ भागों का जवाब देता के बारे में क्या कहना है:

स्वरूप

प्रारूप है: [epoch:]upstream_version[-debian_revision]

यहाँ तीन घटक हैं:

युग

यह एकल (आमतौर पर छोटा) अहस्ताक्षरित पूर्णांक है। यह छोड़ा जा सकता है, जिस स्थिति में शून्य मान लिया गया है। यदि इसे छोड़ दिया जाता है तो upstream_version में कोई कॉलन नहीं हो सकता है। यह पैकेज के पुराने संस्करणों के संस्करण संख्याओं में गलतियों की अनुमति देने के लिए प्रदान किया जाता है, और पैकेज के पिछले संस्करण की नंबरिंग योजनाओं को भी पीछे छोड़ दिया जाता है।

upstream_version

यह संस्करण संख्या का मुख्य भाग है। यह आमतौर पर मूल ("अपस्ट्रीम") पैकेज का संस्करण संख्या है जिसमें से .deb फ़ाइल बनाई गई है, यदि यह लागू है। आमतौर पर यह उसी प्रारूप में होगा जैसा कि अपस्ट्रीम लेखक (एस) द्वारा निर्दिष्ट किया गया है; हालाँकि, पैकेज प्रबंधन प्रणाली के प्रारूप और तुलना योजना में फिट होने के लिए इसे सुधारने की आवश्यकता हो सकती है।

Upstream_version के संबंध में पैकेज प्रबंधन प्रणाली का तुलनात्मक व्यवहार नीचे वर्णित है। upstream_version संस्करण संख्या के भाग अनिवार्य है।

Upstream_version केवल अक्षर या अंक [36] और वर्ण हो सकते हैं "."(पूर्ण विराम), "+"(धन), "-"(हाइफन), ":"(कोलन), "~"(टिल्ड) और अंक के साथ शुरू करना चाहिए। यदि कोई डेबियन_विजन नहीं है, तो हाइफ़न की अनुमति नहीं है; अगर कोई युग नहीं है तो कॉलोनों की अनुमति नहीं है।

debian_revision

संस्करण संख्या का यह हिस्सा अपस्ट्रीम संस्करण के आधार पर डेबियन पैकेज के संस्करण को निर्दिष्ट करता है। इसमें केवल अल्फ़ान्यूमेरिक्स और वर्ण "."(पूर्ण विराम), "+"(प्लस), "~"(टिल्ड) शामिल हो सकते हैं और इसकी तुलना अपस्ट्रीम_वर्जन के समान ही की जाती है है।

यह वैकल्पिक है; यदि यह मौजूद नहीं है तो upstream_version में हाइफ़न नहीं हो सकता है। यह प्रारूप उस मामले का प्रतिनिधित्व करता है जहां सॉफ्टवेयर का एक टुकड़ा विशेष रूप से डेबियन पैकेज लिखा गया था, जहां डेबियन पैकेज स्रोत हमेशा प्राचीन स्रोत के समान होना चाहिए और इसलिए कोई संशोधन संकेत की आवश्यकता नहीं है।

प्रत्येक बार अपस्ट्रीम_वर्जन बढ़ जाने पर 1 बार में डेबियन_रीविजन को फिर से शुरू करना पारंपरिक है।

पैकेज प्रबंधन प्रणाली अपस्ट्रीम_ version और debian_revision को निर्धारित करने के लिए स्ट्रिंग में अंतिम हाइफ़न (यदि एक है) के अलावा संस्करण संख्या को तोड़ देगीDebian_revision की अनुपस्थिति 0 के debian_revision के बराबर है ।

तुलना

जब दो संस्करण संख्याओं की तुलना, पहले प्रत्येक के युग की तुलना की जाती है, तो upstream_version अगर युग बराबर है, और फिर है debian_revision अगर upstream_version भी बराबर है। युगांतर की तुलना संख्यात्मक रूप से की जाती है। Upstream_version और debian_revision भागों निम्नलिखित कलन विधि का उपयोग पैकेज प्रबंधन सिस्टम के द्वारा की तुलना में कर रहे हैं:

तार की तुलना बाएं से दाएं की जाती है।

प्रत्येक स्ट्रिंग के शुरुआती भाग में पूरी तरह से गैर-अंकीय वर्ण होते हैं। इन दो भागों (जिनमें से एक खाली हो सकता है) की तुलना शाब्दिक रूप से की जाती है। यदि कोई अंतर पाया जाता है तो उसे लौटा दिया जाता है। शाब्दिक तुलना ASCII मूल्यों की तुलना की जाती है, ताकि सभी अक्षर सभी गैर-अक्षरों की तुलना में पहले छाँटें और ताकि किसी भी चीज़ से पहले एक टिल्ड सॉर्ट हो जाए, यहां तक ​​कि एक भाग का अंत भी। उदाहरण के लिए, निम्नलिखित भागों जल्द से जल्द से नवीनतम करने के लिए क्रमबद्ध क्रम में हैं: ~~, ~~a, ~, खाली हिस्सा है,a

फिर प्रत्येक स्ट्रिंग के शेष भाग का प्रारंभिक भाग जिसमें पूरी तरह से अंक वर्ण होते हैं निर्धारित किया जाता है। इन दो भागों के संख्यात्मक मूल्यों की तुलना की जाती है, और पाया गया कोई भी अंतर तुलना के परिणाम के रूप में वापस आ जाता है। इन उद्देश्यों के लिए एक रिक्त स्ट्रिंग (जो केवल एक या दोनों संस्करण तार की तुलना में हो सकती है) शून्य के रूप में गिना जाता है।

जब तक कोई अंतर नहीं मिलता है या दोनों तार समाप्त नहीं हो जाते हैं तब तक ये दो चरण (प्रारंभिक गैर-अंक स्ट्रिंग्स और प्रारंभिक अंक स्ट्रिंग्स की तुलना करना) दोहराए जाते हैं।

ध्यान दें कि युगों का उद्देश्य हमें संस्करण क्रमांकन में गलतियों को पीछे छोड़ने की अनुमति देना है, और उन परिस्थितियों का सामना करना है जहां संस्करण संख्या योजना बदलती है। यह उन संस्करणों की संख्याओं का सामना करने का इरादा नहीं है जिनमें अक्षरों के तार होते हैं जिन्हें पैकेज प्रबंधन प्रणाली व्याख्या नहीं कर सकती है (जैसे कि ALPHAया तो pre-) या मौन आदेश के साथ।

ubuntuइंगित करेगा कि पैकेज विशेष रूप से उबंटू के लिए बनाया गया है। alphaऔर buildतार किसी विशेष अर्थ है लगता नहीं है, लेकिन dfsgएक पैकेज है कि कर दिया गया है को संदर्भित करता है संशोधित के अनुपालन के लिए डेबियन फ्री सॉफ्टवेयर दिशानिर्देश


1
धन्यवाद, यह बहुत मदद करता है। लेकिन संस्करण तुलना कैसे काम करती है? अंक, अक्षर, और ~ +, जो पहले आता है, और जो अंतिम है?
cizixs

मैंने तुलनात्मक व्यवहार का वर्णन करने वाले मैनुअल के खंड को शामिल करने के लिए अपने उत्तर में उद्धरण का विस्तार किया है।
फ्लॉप

2
क्या कहीं ऑनलाइन टूल है जहां मैं यह परीक्षण कर सकता हूं कि इन संस्करण तार को कैसे सुलझाया जाए?
निक

क्या आप कृपया समान उदाहरण चिपका सकते हैं? उदाहरण के लिए, ऊपर दिए गए कुछ संस्करणों को अलग-अलग हिस्सों में पार्स करना। यदि अपस्ट्रीम संस्करण और डेबियन संस्करण दोनों शामिल हो सकते हैं - और + हमें कैसे पता चलेगा कि अलगाव कहाँ है? साथ ही, पहली कड़ी टूटी हुई लगती है।
fersarr

@ स्थानांतरण मैं दूसरों के लिए उदाहरण छोड़ दूंगा लेकिन मैंने लिंक ठीक कर दिया है।
फ्लॉप

10

XubuntuY संस्करण का हिस्सा जैसे 1ubuntu1

  • Xडेबियन पैकेज संस्करण है। अधिकांश उबंटू पैकेज डेबियन पैकेज पर आधारित हैं, जो "अपस्ट्रीम" डिस्ट्रो है।

    यदि 0, इसका मतलब है कि कोई डेबियन पैकेज नहीं है: यह केवल उबंटू में मौजूद है।

    X जब वास्तविक अपस्ट्रीम संस्करण को अपडेट किया जाता है तो रीसेट करता है, जैसे कि Binutils 2.25 से Binutils 2.26।

    डेबियन संस्करण मौजूद हैं क्योंकि डेबियन पैकेज को पैच कर सकता है ताकि डेबियन सिस्टम में या सुरक्षा रिलीज के लिए बेहतर काम हो।

    डेबियन डेवलपर्स निश्चित रूप से फोर्जिंग से बचने के लिए पैच को विलय करने के लिए उत्सुक हैं।

    जब भी कोई नया सेट पैच बनाया जाता है, यह संख्या बढ़ जाती है।

  • ubuntuY वैकल्पिक है।

    यदि मौजूद नहीं है, तो इसका मतलब है कि डेबियन पैकेज का सीधा उपयोग किया गया था।

    अन्यथा, इसका मतलब है कि यह एक डेबियन पैच के शीर्ष पर लगाया गया यूथ उबंटू पैच है, बहुत कुछ जैसा कि डेबियन रियलस्ट्रीम के शीर्ष पर लागू होता है।

    YXबढ़ जाती है जब रीसेट करता है ।

यदि आपको पैकेज का स्रोत मिलता है:

apt-get source gdb

आप उबंटू और डेबियन द्वारा लागू किए गए पैच देखेंगे:

debian/patches/

और भी दिलचस्प है, आप उन bzrसभी उबंटू संस्करणों की सूची बना सकते हैं, जो उनके बीच बदल गए हैं:

bzr branch ubuntu:gdb
cd gdb
bzr log | less

इन्हें भी देखें: https://askubuntu.com/questions/620533/what-is-the-meaning-of-the-xubuntuy-string-in-ubuntu-package-names

युग वास्तव में क्या दर्शाता है

https://askubuntu.com/questions/441879/why-do-some-packages-have-extra-numbers-on-the-front-of-their-version-string

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.