Я должен был сделать это при записи решателя для головоломки перехода штепселя. Я сделал каждое перемещение Объектом команды, который содержал достаточно информации, что это могло быть или сделано или отменено. В моем случае это было столь же просто как хранение стартовой позиции и направления каждого перемещения. Я тогда хранил все эти объекты в стеке, таким образом, программа могла легко отменить столько перемещений, сколько ей было нужно при отслеживании в обратном порядке.
Я не знаю простой команды. Вы можете сделать что-то вроде этого:
dpkg-deb --fsys-tarfile foo.deb |tar -xvO ./usr/share/doc/foo/copyright
Это распечатает файл на стандартный вывод.
Edit Хм, звучит сложно. После быстрого просмотра кэша apt в моей системе Debian я обнаружил несколько фраз, которые могут быть полезны:
" / usr / share / common-licenses / *
"
Кажется, это самая близкая к стандартной лицензии, которую вы получите, но будьте осторожны, поскольку часто упаковка находится под общей лицензией, но содержимое пакета находится под отдельной лицензией.
^ Лицензия: MPL-1.1 | GPL-2 + | Apache-2.0
Однако