- <title>Debian APT upgrade without enough free space on the disk...</title>
- <link>http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Debian_APT_upgrade_without_enough_free_space_on_the_disk___.html</guid>
- <pubDate>Sun, 8 Jul 2018 12:10:00 +0200</pubDate>
- <description><p>Quite regularly, I let my Debian Sid/Unstable chroot stay untouch
-for a while, and when I need to update it there is not enough free
-space on the disk for apt to do a normal 'apt upgrade'. I normally
-would resolve the issue by doing 'apt install &lt;somepackages&gt;' to
-upgrade only some of the packages in one batch, until the amount of
-packages to download fall below the amount of free space available.
-Today, I had about 500 packages to upgrade, and after a while I got
-tired of trying to install chunks of packages manually. I concluded
-that I did not have the spare hours required to complete the task, and
-decided to see if I could automate it. I came up with this small
-script which I call 'apt-in-chunks':</p>
-
-<p><blockquote><pre>
-#!/bin/sh
-#
-# Upgrade packages when the disk is too full to upgrade every
-# upgradable package in one lump. Fetching packages to upgrade using
-# apt, and then installing using dpkg, to avoid changing the package
-# flag for manual/automatic.
-
-set -e
-
-ignore() {
- if [ "$1" ]; then
- grep -v "$1"
- else
- cat
- fi
-}
-
-for p in $(apt list --upgradable | ignore "$@" |cut -d/ -f1 | grep -v '^Listing...'); do
- echo "Upgrading $p"
- apt clean
- apt install --download-only -y $p
- for f in /var/cache/apt/archives/*.deb; do
- if [ -e "$f" ]; then
- dpkg -i /var/cache/apt/archives/*.deb
- break
- fi
- done
-done
-</pre></blockquote></p>
-
-<p>The script will extract the list of packages to upgrade, try to
-download the packages needed to upgrade one package, install the
-downloaded packages using dpkg. The idea is to upgrade packages
-without changing the APT mark for the package (ie the one recording of
-the package was manually requested or pulled in as a dependency). To
-use it, simply run it as root from the command line. If it fail, try
-'apt install -f' to clean up the mess and run the script again. This
-might happen if the new packages conflict with one of the old
-packages. dpkg is unable to remove, while apt can do this.</p>
-
-<p>It take one option, a package to ignore in the list of packages to
-upgrade. The option to ignore a package is there to be able to skip
-the packages that are simply too large to unpack. Today this was
-'ghc', but I have run into other large packages causing similar
-problems earlier (like TeX).</p>
-
-<p>Update 2018-07-08: Thanks to Paul Wise, I am aware of two
-alternative ways to handle this. The "unattended-upgrades
---minimal-upgrade-steps" option will try to calculate upgrade sets for
-each package to upgrade, and then upgrade them in order, smallest set
-first. It might be a better option than my above mentioned script.
-Also, "aptutude upgrade" can upgrade single packages, thus avoiding
-the need for using "dpkg -i" in the script above.</p>
+ <title>Nikita version 0.5 released - updated free software archive API server</title>
+ <link>http://people.skolelinux.org/pere/blog/Nikita_version_0_5_released___updated_free_software_archive_API_server.html</link>
+ <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/Nikita_version_0_5_released___updated_free_software_archive_API_server.html</guid>
+ <pubDate>Mon, 2 Mar 2020 19:00:00 +0100</pubDate>
+ <description><p>Today, after many months of development, a new release of
+<ahref="https://gitlab.com/OsloMet-ABI/nikita-noark5-core/">Nikita
+Noark 5 core project</a> was finally
+<ahref="https://lists.nuug.no/pipermail/nikita-noark/2020-March/000519.html">announced
+on the project mailing list</a>. The Nikita free software solution is
+an implementation of the Norwegian archive standard Noark 5 used by
+government offices in Norway. These were the changes in version 0.5
+since version 0.4, see the email link above for links to a demo
+site:</p>
+
+<ul>
+
+ <li>Updated to Noark 5 versjon 5.0 API specification.
+ <ul>
+ <li>Changed formatting of _links from [] to {} to match IETF draft
+ on JSON HAL.</li>
+ <li>Merged Registrering og Basisregistrering in version 4 to
+ combined Registrering.</li>
+ <li>DokumentObjekt is now subtype of ArkivEnhet.</li>
+ <li>Introducing new entity Arkivnotat.</li>
+ <li>Changed all relation keys to use /v5/ instead of /v4/.</li>
+ <li>Corrected to use new official relation keys when possible.</li>
+ <li>Renamed Sakspart to Part and connect it to Mappe, Registrering
+ and Dokumentbeskrivelse instead of only Saksmappe.</li>
+ <li>Moved Korrespondansepart connection from Journalpost to
+ Registrering.</li>
+ <li>Moved Part and Korrespondansepart from package sakarkiv to
+ arkivstruktur.</li>
+ <li>Renamed presedensstatus to presedensStatus.</li>
+ <li>Use new JSON content-type "application/vnd.noark5+json".</li>
+ <li>Updated prepopulated format list to use PRONOM codes.</li>
+ <li>Implemented endpoint for system information.</li>
+ <li>Implemented national identifiers for both file and record.</li>
+ <li>Implemented comments.</li>
+ <li>implemented sign off.</li>
+ <li>implemented conversion.</li>
+ </ul></li>
+ <li>Improved/implemented OData search and paging support for more entities.</li>
+ <li>No longer exposes attribute Dokumentobjekt.referanseDokumentfil,
+ one should use the relation in _links instead.</li>
+ <li>Corrected relation keys under
+ https://rel.arkivverket.no/noark5/v5/api/administrasjon/, replacing
+ 'administrasjon' with 'admin'.</li>
+ <li>Fixed several security and stability issues discovered by Coverity.</li>
+ <li>Corrected handling ETag errors, now return code 409.</li>
+ <li>Improved handling of Kryssreferanse.</li>
+ <li>Changed internal database model to use UUID/SystemID as primary keys
+ in tables.</li>
+ <li>Changed internal database table names to use package prefix.</li>
+ <li>Changed time zone handling for date and datetime attributes, to be
+ more according to the new definition in the API specification.</li>
+ <li>Change revoke-token to only drop token on POST requests, not GET.</li>
+ <li>Updated to newer Spring version.</li>
+ <li>Changed primary key and URL component for metadata code lists to
+ use the 'kode' value instead of a SystemID.</li>
+ <li>Corrected implementation of Part and Sakspart.</li>
+ <li>Changed instance lists with subtypes (like .../registrering/ and
+ .../mappe/) to include the attributes and _links entries for the
+ subtype in the supertype lists.</li>
+ <li>Adjusted _links relations to make it possible to figure out the
+ entity of an instance using the self->href->relation key lookup
+ method.</li>
+ <li>Fixed several end points to make sure GET, PUT, POST and DELETE
+ match each other.</li>
+ <li>Updated DELETE endpoints to work with UUID based entity
+ identifiers.</li>
+ <li>Restructured code to use more common URL related constants in entry
+ point values and replace @RequestMapping with method specific
+ annotations.</li>
+ <li>Added first unit test code.</li>
+ <li>Updated web GUI to work with the updated API.</li>
+ <li>Changed integer fields, enforce them as numeric.</li>
+ <li>Rewrote and simplify metadata handling to use common service and
+ controller code instead of duplicating for each type.</li>
+ <li>Implemented the remaining metadata types.</li>
+ <li>Changed Country list source from Wikipedia to Debian iso-codes and
+ updated the list of Countries.</li>
+ <li>Many many corrections and improvements.</li>
+
+</ul>
+
+<p>If free and open standardized archiving API sound interesting to
+you, please contact us on IRC
+(<a href="irc://irc.freenode.net/%23nikita">#nikita on
+irc.freenode.net</a>) or email
+(<a href="https://lists.nuug.no/mailman/listinfo/nikita-noark">nikita-noark
+mailing list</a>).</p>