Knowledge (XXG)

ZYpp

Source 📝

359:
this first version of ZYpp's solver worked satisfactorily, on the company enterprise products with the coupled ZMD daemon, it led to an openSUSE 10.1 release which came out in May 2006 with a system package not working as expected. In December 2006, the openSUSE 10.2 release corrected some defects of the prior release, using the revisited ZYpp v2. ZMD was subsequently removed from the 10.3 release and reserved for only the company Enterprise products. While ZYpp v3 provided openSUSE with a relatively good package manager, equivalent to other existing package managers, it suffered from some flaws in its implementation which greatly limited its speed performance.
1242: 427: 155: 147: 132: 123: 78: 72: 342:, in a best of breed approach, as the two solutions so far were used at Novell. Looking at the extant open source tools and their maturity available back in 2005, none fulfilled the requirements, and were able to work smoothly with the extant Linux management infrastructure software developed by Ximian and SUSE, so it was decided to get the best ideas from extant pieces and to work on a new implementation. Libzypp, the resulting library, was planned to be the software management engine of the 27: 1523: 1266: 1278: 1254: 1228: 1382: 358:
The Libzypp's solver was a port from the Red Carpet solver, which was written to update packages in installed systems. Using it for the full installing process brought it to its limits, and adding extensions such as support for weak dependencies and patches made it fragile and unpredictable. Although
409:
is a well-researched problem with many exemplar solvers available. It is very fast, as package solving complexity is very low compared to other areas where SAT solvers are used. Also, it does not need complex algorithms and can provide understandable suggestions by calculating proof of why a problem
397:
approach to store and retrieve package and dependency information. A new solv format was created, which stores a repository as a string dictionary, a relation dictionary and then all package dependencies. Reading and merging multiple solv repositories takes only
414:
After several months of work, the benchmark results of this fourth ZYpp version integrated with the SAT solver are more than encouraging, moving YaST and Zypper ahead of other RPM-based package managers in speed and size.
292:
since version 10.2 beta1. In openSUSE 11.1, Zypper reached version 1.0. On June 2, 2009, Ark Linux announced that it has completed its review of dependency solvers and has chosen ZYpp and its tools to replace the aging
888: 386:(APT) sometimes show unacceptable deficiencies. It was decided to integrate SAT algorithms into the ZYpp stack; the solver algorithms used were based on the popular minisat solver. 1550: 750: 881: 1258: 1565: 874: 1545: 1560: 822: 464: 1246: 432: 1270: 1323: 367:
An area where libzypp needed improvement was the speed of the dependency solver. libsolv is being written and released under the
1489: 721: 406: 284:
to install, remove, update and query software packages of local or remote (networked) media. Its graphical equivalent is the
251: 856: 255: 112: 1282: 63: 644: 1056: 263: 193: 1102: 1510: 1129: 800: 389:
The SAT solver implementation as it appears in openSUSE 11.0 is based on two major, but independent, blocks:
1413: 383: 1439: 930: 658: 277: 1418: 1061: 339: 247: 1423: 1316: 131: 122: 1555: 955: 938: 924: 368: 176: 154: 146: 77: 71: 26: 1361: 1150: 1032: 144:
ZYpp: C++, Extensible Markup Language, C, CMake, Ruby, Python, Perl, shell script, Tcl, Lua 
539: 1495: 1476: 1351: 744: 375: 1277: 1454: 1403: 1366: 861: 297:, as the first distribution to do so. Zypper is also part of the mobile Linux distributions 188: 164: 476: 1526: 1309: 1071: 898: 729: 498: 394: 347: 281: 231: 181: 765: 1211: 1183: 994: 970: 914: 572: 570: 568: 566: 564: 562: 560: 534: 532: 530: 528: 526: 524: 522: 520: 518: 516: 402: 1539: 1087: 1371: 1232: 866: 699: 616: 1167: 1145: 1107: 302: 1500: 1356: 1346: 1178: 1097: 578:"GitHub - openSUSE/zypper: World's most powerful command line package manager" 422: 379: 343: 327: 239: 1444: 1206: 1173: 1117: 259: 1408: 1112: 1051: 1041: 987: 919: 849: 823:"Sneak Peeks at openSUSE 11.0: Package Management, with Duncan Mac-Vicar" 630: 440: 289: 243: 204: 1482: 1449: 1092: 1046: 976: 964: 944: 698:
Tucker, Chris; Shuffelton, David; Jhala, Ranjit; Lerner, Sorin (2007),
294: 678: 117: 1505: 1332: 1123: 1066: 683: 663: 602: 577: 331: 323: 126: 374:
Projects like Optimal Package Install/Uninstall Manager (OPIUM) and
266:
v2 or later. ZYpp is implemented mostly in the programming language
267: 1381: 1227: 1188: 982: 306: 298: 169: 1022: 1016: 906: 445: 335: 285: 235: 1305: 1292:
indicates a discontinued or inactive package management system.
870: 152:
Zypper: C++, CMake, shell script, C, Perl, Augeas, Python 
766:"On SAT Technologies for dependency management and beyond" 540:"The zypp Open Source Project on Open Hub: Languages Page" 1301: 250:. Unlike some more basic package managers, it provides a 722:"Report on formal management of software dependencies" 786: 707:
29th International Conference on Software Engineering
378:
were trying to fix dependency solving issues with a
1469: 1432: 1396: 1389: 1339: 1199: 1159: 1138: 1080: 1031: 1008: 954: 905: 199: 187: 175: 163: 138: 111: 62: 40: 32: 700:"OPIUM: OPtimal Package Install/Uninstall Manager" 334:decided to merge both package management systems, 228:"Zen / YaST Packages Patches Patterns Products" 857:Sneak peeks at openSUSE new package management 720:EDOS Project Workpackage 2 Team (March 2006), 1317: 882: 8: 288:package manager module. It has been used in 19: 749:: CS1 maint: numeric names: authors list ( 234:engine that powers Linux applications like 1393: 1380: 1324: 1310: 1302: 1253: 889: 875: 867: 346:and the Linux Management component of the 322:Following its consecutive acquisitions of 153: 145: 130: 121: 76: 70: 25: 18: 1551:Linux package management-related software 659:"Michael Schroeder, History of satsolver" 645:"Another look at Linux packaging systems" 254:to compute package dependencies. It is a 1247:Free and open-source software portal 764:Le Berre, Daniel; Parrain, Anne (2008), 405:for computing package dependencies. The 726:EDOS Project Deliverable Work Package 2 457: 742: 35:command showing information of libzypp 7: 433:Free and open-source software portal 262:and licensed under the terms of the 801:"yum and ZYpp speed / memory usage" 238:, Zypper and the implementation of 118:https://github.com/openSUSE/libzypp 127:https://github.com/openSUSE/zypper 14: 1455:NetWare Lite and Personal NetWare 1522: 1521: 1276: 1265: 1264: 1252: 1240: 1226: 425: 16:Linux package management library 1566:Free software programmed in C++ 1546:Free package management systems 728:, Deliverable 2, archived from 1561:Software using the GPL license 407:Boolean satisfiability problem 1: 256:free and open-source software 382:. Traditional solvers like 1582: 899:package management systems 631:"Libzypp project homepage" 603:"Acronyms - openSUSE Wiki" 264:GNU General Public License 194:GNU General Public License 1519: 1378: 1220: 775:, Limerick, Mancoosi.org. 107: 58: 24: 1511:Unix System Laboratories 465:Earliest known changelog 617:"Libzypp documentation" 384:Advanced Packaging Tool 1440:Open Enterprise Server 931:Ubuntu Software Center 363:SAT solver integration 278:command-line interface 94:; 2 months ago 46:; 18 years ago 258:project sponsored by 252:satisfiability solver 248:SUSE Linux Enterprise 83:; 38 days ago 44:January 14, 2006 338:package manager and 687:. 26 November 2021. 679:"libsolv on github" 667:. 26 November 2021. 369:revised BSD license 21: 1397:Systems management 1362:Robert Frankenberg 350:Management suite. 344:SUSE distributions 1533: 1532: 1496:Star Trek project 1465: 1464: 1352:Dennis Fairclough 1299: 1298: 499:"Release 1.14.76" 477:"Release 17.35.9" 217: 216: 1573: 1525: 1524: 1414:Identity Manager 1394: 1384: 1367:Ronald Hovsepian 1326: 1319: 1312: 1303: 1280: 1268: 1267: 1256: 1255: 1245: 1244: 1243: 1233:Linux portal 1231: 1230: 1009:Embedded systems 891: 884: 877: 868: 853: 852: 850:Official website 835: 834: 832: 830: 819: 813: 812: 810: 808: 797: 791: 790: 783: 777: 776: 770: 761: 755: 754: 748: 740: 738: 737: 717: 711: 710: 704: 695: 689: 688: 675: 669: 668: 655: 649: 648: 641: 635: 634: 627: 621: 620: 613: 607: 606: 599: 593: 592: 590: 588: 574: 555: 554: 552: 550: 536: 511: 510: 508: 506: 495: 489: 488: 486: 484: 473: 467: 462: 435: 430: 429: 428: 213: 210: 208: 206: 165:Operating system 157: 149: 134: 125: 102: 100: 95: 91: 89: 84: 80: 74: 54: 52: 47: 34: 29: 22: 1581: 1580: 1576: 1575: 1574: 1572: 1571: 1570: 1536: 1535: 1534: 1529: 1515: 1461: 1428: 1385: 1376: 1335: 1330: 1300: 1295: 1286: 1241: 1239: 1225: 1216: 1195: 1155: 1139:Others (source) 1134: 1081:Others (binary) 1076: 1027: 1004: 950: 901: 895: 862:DistroWatch.com 848: 847: 844: 839: 838: 828: 826: 821: 820: 816: 806: 804: 799: 798: 794: 785: 784: 780: 768: 763: 762: 758: 741: 735: 733: 719: 718: 714: 702: 697: 696: 692: 677: 676: 672: 657: 656: 652: 643: 642: 638: 629: 628: 624: 615: 614: 610: 601: 600: 596: 586: 584: 576: 575: 558: 548: 546: 538: 537: 514: 504: 502: 497: 496: 492: 482: 480: 479:. 5 August 2024 475: 474: 470: 463: 459: 454: 431: 426: 424: 421: 395:data dictionary 365: 356: 348:Novell ZENworks 320: 315: 282:package manager 232:package manager 211:/Portal:Libzypp 203: 182:Package manager 103: 98: 96: 93: 87: 85: 82: 81:/ 5 August 2024 50: 48: 45: 41:Initial release 36: 17: 12: 11: 5: 1579: 1577: 1569: 1568: 1563: 1558: 1553: 1548: 1538: 1537: 1531: 1530: 1520: 1517: 1516: 1514: 1513: 1508: 1503: 1498: 1493: 1486: 1479: 1473: 1471: 1467: 1466: 1463: 1462: 1460: 1459: 1458: 1457: 1447: 1442: 1436: 1434: 1430: 1429: 1427: 1426: 1421: 1419:Access Manager 1416: 1411: 1406: 1400: 1398: 1391: 1387: 1386: 1379: 1377: 1375: 1374: 1369: 1364: 1359: 1357:Raymond Noorda 1354: 1349: 1343: 1341: 1337: 1336: 1331: 1329: 1328: 1321: 1314: 1306: 1297: 1296: 1294: 1293: 1287: 1274: 1262: 1250: 1236: 1221: 1218: 1217: 1215: 1214: 1212:Package format 1209: 1203: 1201: 1200:Related topics 1197: 1196: 1194: 1193: 1192: 1191: 1186: 1184:GNOME Software 1176: 1171: 1163: 1161: 1157: 1156: 1154: 1153: 1148: 1142: 1140: 1136: 1135: 1133: 1132: 1127: 1120: 1115: 1110: 1105: 1100: 1095: 1090: 1084: 1082: 1078: 1077: 1075: 1074: 1069: 1064: 1059: 1054: 1049: 1044: 1038: 1036: 1029: 1028: 1026: 1025: 1020: 1012: 1010: 1006: 1005: 1003: 1002: 997: 992: 991: 990: 980: 973: 968: 960: 958: 952: 951: 949: 948: 941: 936: 935: 934: 927: 922: 911: 909: 903: 902: 896: 894: 893: 886: 879: 871: 865: 864: 859: 854: 843: 842:External links 840: 837: 836: 814: 792: 778: 756: 712: 690: 670: 650: 636: 622: 608: 594: 556: 512: 490: 468: 456: 455: 453: 450: 449: 448: 443: 437: 436: 420: 417: 412: 411: 410:is unsolvable. 403:satisfiability 399: 364: 361: 355: 352: 319: 316: 314: 311: 276:is the native 215: 214: 201: 197: 196: 191: 185: 184: 179: 173: 172: 167: 161: 160: 159: 158: 150: 140: 136: 135: 115: 109: 108: 105: 104: 68: 66: 64:Stable release 60: 59: 56: 55: 42: 38: 37: 30: 15: 13: 10: 9: 6: 4: 3: 2: 1578: 1567: 1564: 1562: 1559: 1557: 1554: 1552: 1549: 1547: 1544: 1543: 1541: 1528: 1518: 1512: 1509: 1507: 1504: 1502: 1499: 1497: 1494: 1492: 1491: 1490:SCO v. Novell 1487: 1485: 1484: 1480: 1478: 1475: 1474: 1472: 1468: 1456: 1453: 1452: 1451: 1448: 1446: 1443: 1441: 1438: 1437: 1435: 1433:Collaboration 1431: 1425: 1424:BorderManager 1422: 1420: 1417: 1415: 1412: 1410: 1407: 1405: 1402: 1401: 1399: 1395: 1392: 1388: 1383: 1373: 1370: 1368: 1365: 1363: 1360: 1358: 1355: 1353: 1350: 1348: 1345: 1344: 1342: 1338: 1334: 1327: 1322: 1320: 1315: 1313: 1308: 1307: 1304: 1291: 1288: 1285: 1284: 1279: 1275: 1273: 1272: 1263: 1261: 1260: 1251: 1249: 1248: 1237: 1235: 1234: 1229: 1223: 1222: 1219: 1213: 1210: 1208: 1205: 1204: 1202: 1198: 1190: 1187: 1185: 1182: 1181: 1180: 1177: 1175: 1172: 1170: 1169: 1165: 1164: 1162: 1158: 1152: 1149: 1147: 1144: 1143: 1141: 1137: 1131: 1128: 1126: 1125: 1121: 1119: 1116: 1114: 1111: 1109: 1106: 1104: 1101: 1099: 1096: 1094: 1091: 1089: 1086: 1085: 1083: 1079: 1073: 1070: 1068: 1065: 1063: 1060: 1058: 1055: 1053: 1050: 1048: 1045: 1043: 1040: 1039: 1037: 1034: 1030: 1024: 1021: 1019: 1018: 1014: 1013: 1011: 1007: 1001: 998: 996: 993: 989: 986: 985: 984: 981: 979: 978: 974: 972: 969: 967: 966: 962: 961: 959: 957: 953: 947: 946: 942: 940: 937: 933: 932: 928: 926: 923: 921: 918: 917: 916: 913: 912: 910: 908: 904: 900: 892: 887: 885: 880: 878: 873: 872: 869: 863: 860: 858: 855: 851: 846: 845: 841: 825:. 6 June 2008 824: 818: 815: 803:. 16 May 2008 802: 796: 793: 788: 782: 779: 774: 767: 760: 757: 752: 746: 732:on 2006-06-19 731: 727: 723: 716: 713: 708: 701: 694: 691: 686: 685: 680: 674: 671: 666: 665: 660: 654: 651: 646: 640: 637: 632: 626: 623: 618: 612: 609: 604: 598: 595: 583: 579: 573: 571: 569: 567: 565: 563: 561: 557: 545: 541: 535: 533: 531: 529: 527: 525: 523: 521: 519: 517: 513: 501:. 2 July 2024 500: 494: 491: 478: 472: 469: 466: 461: 458: 451: 447: 444: 442: 439: 438: 434: 423: 418: 416: 408: 404: 400: 398:milliseconds. 396: 392: 391: 390: 387: 385: 381: 377: 372: 370: 362: 360: 353: 351: 349: 345: 341: 337: 333: 329: 325: 317: 312: 310: 308: 304: 300: 296: 291: 287: 283: 279: 275: 271: 269: 265: 261: 257: 253: 249: 245: 241: 237: 233: 229: 225: 221: 212: 202: 198: 195: 192: 190: 186: 183: 180: 178: 174: 171: 168: 166: 162: 156: 151: 148: 143: 142: 141: 137: 133: 128: 124: 119: 116: 114: 110: 106: 88:5 August 2024 79: 75:1.14.76  73: 69:17.35.9  67: 65: 61: 57: 43: 39: 28: 23: 1488: 1481: 1372:Eric Schmidt 1289: 1281: 1269: 1257: 1238: 1224: 1166: 1122: 1033:Distribution 1015: 999: 975: 963: 943: 929: 827:. Retrieved 817: 805:. Retrieved 795: 787:"Minisat.se" 781: 772: 759: 734:, retrieved 730:the original 725: 715: 706: 693: 682: 673: 662: 653: 647:. June 2009. 639: 625: 611: 597: 585:. Retrieved 581: 547:. Retrieved 543: 503:. Retrieved 493: 481:. Retrieved 471: 460: 413: 388: 373: 366: 357: 321: 280:of the ZYpp 273: 272: 227: 223: 219: 218: 1168:Autopackage 303:Sailfish OS 99:2 July 2024 92:2 July 2024 33:zypper info 1556:SUSE Linux 1540:Categories 1501:SUSE Linux 1477:BrainShare 1404:eDirectory 1347:Drew Major 1179:PackageKit 1160:Front-ends 829:15 October 807:23 October 736:2009-06-06 709:, ICSE'07. 452:References 380:SAT solver 354:Early days 340:Red Carpet 240:PackageKit 139:Written in 113:Repository 51:2006-01-14 1445:GroupWise 1207:AppStream 1174:Listaller 1118:slapt-get 1035:-agnostic 773:ASPL 2008 483:27 August 330:in 2003, 328:SuSE GmbH 207:.opensuse 1527:Category 1409:ZENworks 1390:Products 1271:Category 1113:slackpkg 1057:Homebrew 1052:GNU Guix 1042:AppImage 988:Rpmdrake 939:aptitude 925:Synaptic 920:KPackage 745:citation 544:Open Hub 441:openSUSE 419:See also 393:Using a 376:MANCOOSI 290:openSUSE 244:openSUSE 1483:NetWars 1470:Related 1450:NetWare 1290:Italics 1283:Commons 1151:Portage 1146:Sorcery 1088:Entropy 1047:Flatpak 977:up2date 965:APT-RPM 945:dselect 505:28 July 318:Purpose 313:History 295:APT-RPM 230:) is a 224:libzypp 200:Website 189:License 97: ( 86: ( 49: ( 1506:Univel 1340:People 1333:Novell 1124:swaret 1098:pacman 1093:netpkg 1067:pkgsrc 897:Linux 684:GitHub 664:GitHub 582:GitHub 401:Using 332:Novell 324:Ximian 305:, and 274:Zypper 129:  120:  1189:Apper 983:urpmi 769:(PDF) 703:(PDF) 587:2 May 549:2 May 307:Tizen 299:MeeGo 170:Linux 1259:List 1130:upkg 1103:PiSi 1072:Snap 1023:opkg 1017:ipkg 1000:ZYpp 907:dpkg 831:2017 809:2008 751:link 589:2024 551:2024 507:2024 485:2024 446:YaST 336:YaST 326:and 286:YaST 260:SUSE 246:and 242:for 236:YaST 222:(or 220:ZYpp 209:.org 177:Type 20:ZYpp 1108:PPM 1062:Nix 995:YUM 971:DNF 956:RPM 915:APT 268:C++ 1542:: 771:, 747:}} 743:{{ 724:, 705:, 681:. 661:. 580:. 559:^ 542:. 515:^ 371:. 309:. 301:, 270:. 226:; 205:en 31:A 1325:e 1318:t 1311:v 890:e 883:t 876:v 833:. 811:. 789:. 753:) 739:. 633:. 619:. 605:. 591:. 553:. 509:. 487:. 101:) 90:) 53:)

Index


Stable release
Edit this on Wikidata
Edit this on Wikidata
Repository
https://github.com/openSUSE/libzypp
Edit this on Wikidata
https://github.com/openSUSE/zypper
Edit this on Wikidata
Edit this on Wikidata
Edit this on Wikidata
Operating system
Linux
Type
Package manager
License
GNU General Public License
en.opensuse.org/Portal:Libzypp
package manager
YaST
PackageKit
openSUSE
SUSE Linux Enterprise
satisfiability solver
free and open-source software
SUSE
GNU General Public License
C++
command-line interface
package manager

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.