Knowledge

ZYpp

Source 📝

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

Index

Zypper

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

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