Am 21.12.2017 um 14:19 schrieb Robert Dinse:
If I knew what file(s) to pull as opposed to what packages, then I could retrieve it from a backup.
dpkg -L packagename (without version number or .deb extension)
will tell you which files are in a package.
e.g. on Xenial (16.04, not 17.10):
dpkg -L x2goserver /. /usr /usr/sbin /usr/sbin/x2gocleansessions /usr/sbin/x2golistsessions_root /usr/sbin/x2godbadmin /usr/sbin/x2goshowblocks /usr/lib /usr/lib/x2go /usr/lib/x2go/x2gosyslog /usr/lib/x2go/x2goinsertsession /usr/lib/x2go/x2gogetagent /usr/lib/x2go/x2gormport /usr/lib/x2go/x2gochangestatus /usr/lib/x2go/x2gogetports /usr/lib/x2go/x2goutils.pm /usr/lib/x2go/x2gocreatesession /usr/lib/x2go/x2gogetagentstate /usr/lib/x2go/x2gogetdisplays /usr/lib/x2go/x2gosqlitewrapper.pl /usr/lib/x2go/x2gosuspend-agent /usr/lib/x2go/x2golistsessions_sql /usr/lib/x2go/x2gologlevel /usr/lib/x2go/x2godbwrapper.pm /usr/lib/x2go/x2goresume /usr/lib/x2go/x2goinsertport /usr/lib/x2go/x2gologlevel.pm /usr/lib/x2go/x2gosqlitewrapper /usr/lib/x2go/x2gogetstatus /usr/lib/x2go/x2gormforward /usr/share /usr/share/man /usr/share/man/man8 /usr/share/man/man8/x2golistsessions.8.gz /usr/share/man/man8/x2goterminate-session.8.gz /usr/share/man/man8/x2gosetkeyboard.8.gz /usr/share/man/man8/x2goruncommand.8.gz /usr/share/man/man8/x2goshowblocks.8.gz /usr/share/man/man8/x2golistsessions_root.8.gz /usr/share/man/man8/x2golistshadowsessions.8.gz /usr/share/man/man8/x2godbadmin.8.gz /usr/share/man/man8/x2goumount-session.8.gz /usr/share/man/man8/x2gosessionlimit.8.gz /usr/share/man/man8/x2gogetapps.8.gz /usr/share/man/man8/x2golistdesktops.8.gz /usr/share/man/man8/x2gostartagent.8.gz /usr/share/man/man8/x2gosuspend-session.8.gz /usr/share/man/man8/x2gomountdirs.8.gz /usr/share/man/man8/x2gocmdexitmessage.8.gz /usr/share/man/man8/x2gofeature.8.gz /usr/share/man/man8/x2goresume-session.8.gz /usr/share/man/man8/x2gofeaturelist.8.gz /usr/share/man/man8/x2golistmounts.8.gz /usr/share/man/man8/x2goversion.8.gz /usr/share/man/man8/x2gogetservers.8.gz /usr/share/man/man8/x2gobasepath.8.gz /usr/share/man/man8/x2gopath.8.gz /usr/share/man/man8/x2goumount_session.8.gz /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/x2goserver /usr/share/doc-base /usr/share/doc-base/x2goserver /usr/share/doc /usr/share/doc/x2goserver /usr/share/doc/x2goserver/README.upgrade-pgsql-database /usr/share/doc/x2goserver/README.i18n /usr/share/doc/x2goserver/README.sudoers /usr/share/doc/x2goserver/html /usr/share/doc/x2goserver/html/man5 /usr/share/doc/x2goserver/html/man5/x2goserver.conf.5.html /usr/share/doc/x2goserver/html/man8 /usr/share/doc/x2goserver/html/man8/x2gomountdirs.8.html /usr/share/doc/x2goserver/html/man8/x2gofeature.8.html /usr/share/doc/x2goserver/html/man8/x2golistsessions_root.8.html /usr/share/doc/x2goserver/html/man8/x2gogetservers.8.html /usr/share/doc/x2goserver/html/man8/x2gocmdexitmessage.8.html /usr/share/doc/x2goserver/html/man8/x2goruncommand.8.html /usr/share/doc/x2goserver/html/man8/x2goshowblocks.8.html /usr/share/doc/x2goserver/html/man8/x2gobasepath.8.html /usr/share/doc/x2goserver/html/man8/x2godbadmin.8.html /usr/share/doc/x2goserver/html/man8/x2goterminate-session.8.html /usr/share/doc/x2goserver/html/man8/x2gosuspend-session.8.html /usr/share/doc/x2goserver/html/man8/x2goresume-session.8.html /usr/share/doc/x2goserver/html/man8/x2gostartagent.8.html /usr/share/doc/x2goserver/html/man8/x2golistsessions.8.html /usr/share/doc/x2goserver/html/man8/x2golistshadowsessions.8.html /usr/share/doc/x2goserver/html/man8/x2gofeaturelist.8.html /usr/share/doc/x2goserver/html/man8/x2golistdesktops.8.html /usr/share/doc/x2goserver/html/man8/x2gosessionlimit.8.html /usr/share/doc/x2goserver/html/man8/x2gogetapps.8.html /usr/share/doc/x2goserver/html/man8/x2goumount-session.8.html /usr/share/doc/x2goserver/html/man8/x2goversion.8.html /usr/share/doc/x2goserver/html/man8/x2gopath.8.html /usr/share/doc/x2goserver/html/man8/x2gosetkeyboard.8.html /usr/share/doc/x2goserver/html/man8/x2golistmounts.8.html /usr/share/doc/x2goserver/copyright /usr/share/doc/x2goserver/changelog.Debian.gz /usr/share/x2go /usr/share/x2go/x2gofeature.d /usr/share/x2go/x2gofeature.d/x2goserver.features /usr/share/x2go/versions /usr/share/x2go/versions/VERSION.x2goserver /usr/bin /usr/bin/x2gogetapps /usr/bin/x2golistdesktops /usr/bin/x2gomountdirs /usr/bin/x2golistshadowsessions /usr/bin/x2goumount-session /usr/bin/x2gofeaturelist /usr/bin/x2gosessionlimit /usr/bin/x2gosuspend-session /usr/bin/x2goterminate-session /usr/bin/x2gocmdexitmessage /usr/bin/x2gobasepath /usr/bin/x2goresume-session /usr/bin/x2gosetkeyboard /usr/bin/x2gogetservers /usr/bin/x2goversion /usr/bin/x2golistsessions /usr/bin/x2gopath /usr/bin/x2gostartagent /usr/bin/x2gofeature /usr/bin/x2goruncommand /usr/bin/x2golistmounts /etc /etc/logcheck /etc/logcheck/ignore.d.server /etc/logcheck/ignore.d.server/x2goserver /etc/x2go /etc/x2go/x2go_logout /etc/x2go/x2gosql /etc/x2go/x2gosql/sql /etc/x2go/x2gosql/passwords /etc/x2go/x2goserver.conf /etc/x2go/x2go_logout.d /etc/x2go/x2go_logout.d/010_userscripts.sh /etc/sudoers.d /etc/sudoers.d/x2goserver /etc/init.d /etc/init.d/x2goserver /var /var/lib /var/lib/x2go /usr/bin/x2goumount_session
If you really need to restore individual files (see below for the preferred option), then I would look at the output of the dpkg -L command for each package you updated on that day.
If you are unsure which packages got upgraded on a given day, run less /var/log/apt/history.log to find out - or zless /var/log/apt/history.log.*.gz.
However, the better approach would be to grab the downloaded packages from your backup (assuming you didn't exclude /var/cache/apt/archives from your backup*), and doing a reinstall combined with a forced downgrade, using
dpkg -i --force-downgrade /path/to/all/debs/you/want/to/downgrade/*.deb
That way, your package management and your file system will agree what's on disk.
*All downloaded *.deb packages are kept in /var/cache/apt/archives/ until you run apt-get clean or similar.
We have been providing snapshotted repositories for X2Go for a while now, but I'm not sure if they offer packages for Ubuntu or if we're leaving Ubuntu packaging to Launchpad. Ionic should be able to tell us more about this, thus, CCing him. If you're lucky, you just need to switch repos from Launchpad to our own and use a timestamp before the version that's broken for you.
BAUR-ITCS UG (haftungsbeschränkt) Geschäftsführer: Stefan Baur Eichenäckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243