We're developing app for raspberry PI in python. We don't have much experience deploying apps in linux and we need to figure out how to update this app after releasing. We came up with 2 ways:make a custom private repository and create .deb package of the appmake a script to check some url with packed app, unpack it and rewrite the old app.Can you recommend the approach we should take?
Best practice to update own application
package management;python;deb
I would definitely go with the apt package (.deb). You application will be much easier to manage on the target systems and you will have a much higher level of confidence in your software deliveries.  APT is a rock solid system.APT will make sure that all software dependencies are resolved. Python, with batteries included has many dependencies on system software libraries.  If you just download code and overwrite your app, there is no checking to make sure that the system contains the correct versions of the libraries that your app may depend on.  This could cause your app to behave incorrectly or not at all.APT also does a lot of checking while building your app package.  There are many APT tools and subsystems for building python packages.I believe if you try to make your own distribution system, in the long run you will have to develop more of your own code and have more logistical problems.On the downside, you'll need to learn how to build python packages in the APT system, which can be quite involved, but I think worth it.As a Debian and Ubuntu user, developer, administrator, and packager for over 15 years, I would not like it if a vendor wanted to deliver software outside of the APT system because of the risks involved.