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:
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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.