Nextcloud is a self-hosted productivity platform which provides private and secure functions for file sharing, collaborative work, and more. Nextcloud includes the Nextcloud server, client applications for desktop computers, and mobile clients. The Nextcloud server provides a well integrated web interface.
This wikipage provides an overview of the current packaging status. It tries to answer the question how come the Nextcloud server is not packaged for Debian already? In addition this page points to installation instructions.
I'm trying to install debian stable using unetbootin. The install process fails with 'network autoconfiguration failed', probably due to the ethernet driver not working.My Lenovo U350 has a Broad.
Installing a package using dpkg on Debian 10. Dpkg is a popular command-line package manager for the Linux Debian system. Using this package manager tool, users can easily install, remove, and manage the Debian packages. But, it can’t download automatically the package dependencies while you install any software. How to fix the add-apt-repository command not found error on Ubuntu or Debian in 2 SIMPLE COMMANDS. Learn about Package Management and Software Repositories. How do I install all firmware just to be sure I don’t miss any? If your values are not compatible with the “Debian Free Software Guidelines”. Guide on how to Install Debian. Here we have discussed two different methods to Install Debian - 1) Install through CD/DVD 2) Install through Flash drive.
Contents
- Status of packaging
- Requirements for a Nextcloud Debian package
- How do I install the Nextcloud server today?
The Nextcloud server is currently not officially packaged for Debian and thus not integrated into mainline releases. Historically there are, however, a few approaches. Listed under Debian Request for Packages (RFP) and the Work-Needing and Prospective Packages (WNPP) https://wiki.debian.org/WNPP are:
- nextcloud – RFP 835086 – self-hosted cloud services, requested Aug 2016
- nextcloud-server – ITP 941708 – Nextcloud folder synchronization tool (server), being packaged Oct 2019
Discussions covers a couple of approaches over the years. Messages in RFP 835086 and ITP 941708 (2019 ITP) are cross-posted.
Coupled to the 2019 ITP is a source repository, nextcloud-server-deb, for the proposed package nextcloud-server. The package uses debhelper and respects the preferred file system structure (FHS). For the webroot under /usr/share/nextcloud-server/webroot it uses a squashfs filesystem.
There is also an external nextcloud-server package available via an external APT repository, explained at https://www.jurisic.org/. The external package is maintained since feb 2017 and currently containing packages for buster and bullseye of Nextcloud 18.0.0. The external package is also using debhelper. The preferred file system structure (FHS) is, however, not respected. The inspected package source seems to only be available in the external repository: nextcloud-server_18.0.0-1~deb10.debian.xz.
Finally, an installation wrapper package was maintained until 2018 and available via external APT repository. This was a wrapper to get the Nextcloud server installed into /var/www. No dependencies and no configuration was provided. A merger of efforts with the external package has been suggested (see thread).
Why is the Nextcloud server not available as a package?
The Nextcloud server being an essential software in many settings would benefit a large number of users as a package in Debian. The Nextcloud server is a complex software and as such it takes a great deal of effort to find out if it can be supported as an official Debian package. In short, the challenges are Nextcloud’s rapid release cycles, updated dependencies, complexity of dependencies, and that the Nextcloud server can not skip versions while upgrading.
Posts and discussions on the Nextcloud side that are of relevance are:
- Nextcloud and its planned update improvements (Jun–Jul 2016)
- Stable Debian repository (Jul 2016–Nov 2019)
- Will Nextcloud be inviting to distribution packages (2016–2017)
- Linux packages status (March 2017–Nov 2019)
Requirements for a Nextcloud Debian package
This section covers some of the identified and open questions regarding what set of requirements that a packaging need to fulfill, all from package naming, to what APT repository it should go into.
Is Fast Track the preferred APT repository?
It is suggested to provide the Nextcloud server as a package available in Fast Track APT repository (2019 ITP discussion).
What is the better naming?
The following package names have been suggested:
- nextcloud (2016 RFP)
- nextcloud-server (2019 ITP)
- nextcloud-installer or nextcloud-server-installer, in anology with, e.g. ttf-mscorefonts-installer (2019 ITP discussion)
The suggested package names fit better or worse depending on which approaches the future actual package development takes. The nextcloud variant for the Nextcloud server deviates from current software’s with packages for both server and client parts.
Requirements by Debian policies
Configuration, application and data files should be installed and placed according to Debian Policy Manual and Filesystem Hierarchy Standard (FHS), version 3.
There is the requirement for Debian packages that the packaged software should support the possibility to skip releases.
Software should also have long enough support cycles (2019 ITP discussion). This was addressed as an ambition by Nextcloud in 2016 (2016 RFP discussion and Nextcloud post).
Complex dependencies
The dependency on Node (2019 ITP discussion).
The methods for installing and keeping the Nextcloud server service up to date are currently either following upstream installation instructions or trying out the 2019 ITP repository or the external package repository.
Upstream installation instructions
Procedures for installation and configurations are covered in the Nextcloud administration manual
Installing the 2019 ITP package
Add repository, validate repository key, apt update, apt install nextcloud-server
Installing the external package
Add repository, validate repository key, apt update, apt install nextcloud-server
In addition to server software there are the Nextcloud client applications. There are a few packages in Debian already for the Nextcloud desktop application and integrations into file managers available:
- nextcloud-desktop graphical client for setting up synchronization with cloud storage provided by Nextcloud
- dolphin-nextcloud Nextcloud integration for Plasma Desktop (KDE) Dolphin
- nautilus-nextcloud integrates the Nextcloud web service with GNOME Desktop
- nemo-nextcloud integrates Nextcloud with Cinnamon Desktop
The responsible maintainers, ownCloud for Debian maintainers, for all of above packages are maintainers of both Nextcloud and ownCloud client packages.
The two projects have the same origin, starting in 2010, with a corporation formed around ownCloud in 2011. In 2016 some of the core developers forked ownCloud and formed a new company Nextcloud around the fork. The two projects still have a large overlap in functionality and features. A fundamental difference between the companies and software projects is their licensing models. Nextcloud is fully free software and released under GNU AGPLv3. ownCloud has a mixed model with a standard edition, under GNU AGPLv3, and an non-free enterprise edition licensed under the ownCloud Commercial License.
This wikipage is not intended to support decisions regarding the choice of projects to install.
You know it already, since Debian 6.0 non-free firmware are no longer provided by a standard Debian installation. This will cause some troubles to users who need them. I’m thus going to do a small overview on the topic and teach you what you need to know to deal with the problem.
What are firmware and how are they used?
From the user’s point of view, a firmware is just some data that is needed by some piece of hardware in order to function properly. The driver for that hardware typically loads the firmware on the device as part of its initialization.
In the Linux kernel, the drivers are all using a standardized interface (request_firmware) to retrieve the firmware before sending it to the device. Thanks to this standardization, it’s possible to either embed the firmware in the kernel or to have it request the firmware from user-space when needed.
Debian (like most distributions) has selected the latter option. Thus when the kernel needs a firmware, it sends out a request to user-space. udev is getting the request with the name of the firmware, and in its default configuration (see
/lib/udev/rules.d/80-drivers.rules
) it executes /lib/udev/firmware.agent
in response.Where are firmware stored?
firmware.agent
is a simple shell script that tries to locate a firmware before sending it back to the kernel through a sysfs entry. It looks into the following directories:- /lib/firmware/$(uname -r)
- /lib/firmware
- /usr/local/lib/firmware
- /usr/lib/hotplug/firmware
Firmware provided by packages are thus usually in
/lib/firmware
and you can use /usr/local/lib/firmware
for manually installed firmware.How do I know whether I need a firmware?
First of, you can notice messages from the kernel telling you that it tried to load a firmware but it failed. They look like this:
But you might be informed sooner. When you install a new version of the Linux kernel with the official Debian packages, the post-installation script will go through all loaded modules (those listed by lsmod) and it will verify whether this module as provided by the newly installed kernel might require firmware files. This information can be retrieved with modinfo:
If one (or more) of those firmware is (are) not yet available on the system, you will get a warning message similar to this one:
update-initramfs will also generate a similar warning on the terminal:
The Debian installer also detects when you have hardware that might require a missing firmware file. You have the option to supply the missing files on a USB stick (either directly or through the corresponding package).
How do I find and install the missing firmware?
Now that you have the name of the firmware file that you want, it’s relatively easy to identify the package that provides the required file. You can use “apt-cache search <filename>” because the firmware packages embed the list of firmware files in their description. You can also use “apt-file” (provided by the package of the same name) or the web interface at packages.debian.org.
If the above commands return nothing, you probably need to enable the “non-free” repository in your /etc/apt/sources.list (you can also enable it within synaptic). And you also want to run “sudo apt-file update” to have the latest information.
Now you can install the right package, in the example above it was firmware-linux-nonfree.
How Do I Install Debian Non-free Software
How do I install all firmware just to be sure I don’t miss any?
There’s no meta-package depending on all firmware packages so there’s no easy answer to this question. Furthermore not all firmware packages respect the naming convention “firmware-*” (there’s for example zd1211-firmware).
So your best bet is to look up all the packages with a generic search like this one:
And then install them all.
Are there DVD or CD images with non-free firmware?
Yes. Debian provides an unofficial netinst image for i386/amd64/powerpc with the non-free firmware, you can find it here: http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/.
I provide complete DVD sets with firmware, and Multi-Arch CD/DVD with firmware, it’s over there in my DVD shop: https://raphaelhertzog.com/go/debian-cd/ (i386/amd64 only)
When using those installation discs, the Debian-installer will be able to find the required firmware immediately. There’s no need for you to provide them on a USB stick.
Other questions?
I think I covered the most important things you have to know about firmware on Debian. But should you still have a question, feel free to share it in the comments so that I can improve this article.
How Do I Install Debian Non-free Software Windows 10
Click here to subscribe to my free newsletter and get my monthly analysis on what’s going on in Debian and Ubuntu. Or just follow along via the RSS feed, Identi.ca, Twitter or Facebook.