Giter VIP home page Giter VIP logo

rolling-rhino's Introduction

Rolling Rhino

This project has served its purpose. It inspired another group of developers to create a fully fledged Ubuntu Rolling Rhino distro.

Therefore, this project is concluded and I encourage those of you seeking a rolling Ubuntu to download the excellent Rolling Rhino Remix 🦏

History of the Rolling Rhino script

Convert Ubuntu into a "rolling release" that tracks the devel series; for the toughest of Ubuntu users.

Rolling Rhino
Rolling Rhino

Simple shell script to make Ubuntu track the `devel` series.

Made with 💝 for

Introduction

Rolling Rhino is a simple tool to convert Ubuntu Desktop, and the official desktop flavours, that has been installed from a daily image into a "rolling release" by opting into and tracking the devel series.

Rolling Rhino is intended for Ubuntu developers and experienced Ubuntu users who want to install Ubuntu once and then track all development updates with automatic tracking of subsequent series.

We have a Discord for this project: Discord

Caveats

If you use Rolling Rhino to opt-in to devel series you're assuming support of your system, including taking care of PPA migrations, cleaning obsolete/orphaned packages and actively participating in any issue resolution for problems you may encounter via Launchpad using tools such as apport and ubuntu-bug.

If the daily ISO you install is for an interim release, you will need to wait until the next LTS release opens and run a 'do-release-upgrade' from your installed system before you can join Rolling Rhino.

You will see W: Conflicting distribution: warnings from apt as its configuration will now reference the devel series which is a pointer to the current in-development series. But they are just that, warnings.

Origins of Rolling Rhino

Ubuntu Podcast had feedback about making Ubuntu a rolling release, something we discussed during the main segment of S13E12 - Red Sky in the Morning and then covered again based on listener feedback during S13E14 - Ace of Spades. During episode S13E14 guest presenter Stuart Langridge proposed "Ubuntu Rolling Rhino" as the name for a rolling Ubuntu release along with some ideas as to how it could be implemented. Sergio Schvezov then followed up via Twitter reminding us that the devel series exists in Ubuntu. This inspired me to create this rolling-rhino tool to somewhat implement Stuart's idea by taking advantage of the devel series.

Where it all came together

See the video where I worked with the community to put together the initial implementation of rolling-rhino.

Making Ubuntu a rolling release - Rolling Rhino

Usage

git clone https://github.com/wimpysworld/rolling-rhino.git
cd rolling-rhino
sudo ./rolling-rhino

Which will output something like this:

Rolling Rhino 🦏
  [+] INFO: lsb_release detected.
  [+] INFO: Ubuntu detected.
  [+] INFO: Ubuntu 20.04 LTS detected.
  [+] INFO: Detected ubuntu-desktop.
  [+] INFO: No PPAs detected, this is good.
  [+] INFO: All checks passed.
Are you sure want to start tracking the devel series? [y/N]

Credits

TODO

  • Detect system is running an Ubuntu Development Branch.
  • Detect desktop meta packages.
  • Detect PPAs.
  • Detect sources.list is not already tracking devel.
  • Create clean sources.list that tracks devel.
  • Use yad to create a UI

rolling-rhino's People

Contributors

daphipz avatar davidfoerster avatar feoh avatar flexiondotorg avatar jbouter avatar jontheniceguy avatar joriankarstark avatar leroyshirto avatar lotharsm avatar nsauzede avatar pehsa avatar philclifford avatar rudraswat avatar stuartlangridge avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rolling-rhino's Issues

how to back to previous release

Hi
good job. Your idea is very easy to use convert the distribution from long support to rolling distribution, through the executable file (sh).
Only the thing that I hope to amend it and add it in the executable file! It is the optional return method (y/n) from a rolling distribution to a previous distribution, because most users will find it difficult to return after the experiment.
Thanks for the hard work

expected devel but got groovy

W: Conflicting distribution: http://security.ubuntu.com/ubuntu devel-security InRelease (expected devel-security but got groovy)

W: Conflicting distribution: http://archive.ubuntu.com/ubuntu devel InRelease (expected devel but got groovy)

W: Conflicting distribution: http://archive.ubuntu.com/ubuntu devel-updates InRelease (expected devel-updates but got groovy)

W: Conflicting distribution: http://archive.ubuntu.com/ubuntu devel-backports InRelease (expected devel-backports but got groovy)

I noticed this, unsure if its a bug.

"ERROR: No installed desktop packages were detected. Quitting."

I installed the daily desktop image, and ran the script and I'm getting an error message:

[sudo] password for scott: 
Rolling Rhino \U0001f98f
  [+] INFO: lsb_release detected.
  [+] INFO: Ubuntu detected.
  [+] INFO: Ubuntu Impish Indri (development branch) detected.
  [!] ERROR: No installed desktop packages were detected. Quitting.

Software Updater/Software & Updates issues

in addition to #39

there are also errors when trying to access or view software repositories settings in either app manager or from the Ubuntu Updater. From the /usr/bin/update-manager command line it says

Traceback (most recent call last):
File "/usr/bin/software-properties-gtk", line 100, in
app = SoftwarePropertiesGtk(datadir=options.data_dir, options=options, file=file)
File "/usr/lib/python3/dist-packages/softwareproperties/gtk/SoftwarePropertiesGtk.py", line 154, in init
SoftwareProperties.init(self, options=options, datadir=datadir)
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 111, in init
self.reload_sourceslist()
File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 605, in reload_sourceslist
self.distro.get_sources(self.sourceslist)
File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 91, in get_sources
raise NoDistroTemplateException(
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Ubuntu/hirsute

gks gedit /etc/lsb-release - don't know what to put in this file since I just have the names devel and hirsuite to try and fix it

the sudo apt-get update && sudo apt-get upgrade command seems to work but show the errors listed in the previously linked issue, i was able to fix some of those errors however (I think with "sudo apt-get --allow-releaseinfo-change update")

Language other than English fails script

Running script

$sudo ./rolling-rhino
Rolling Rhino 🦏
[+] INFO: lsb_release detected.
[+] INFO: Ubuntu detected.
[+] INFO: Ubuntu Groovy Gorilla (development branch) detected.
[!] ERROR: No installed desktop packages were detected. Quitting.

Testing part where It crashed

$apt list --installed ubuntu-desktop | grep installed
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

I'm using Czech language and changing "installed" to "instalovaný" in script works

apt list --installed ubuntu-desktop | grep instalovaný
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
ubuntu-desktop/groovy,now 1.451 amd64 [instalovaný]

Consider using `ports.ubuntu.com` instead of `archive.ubuntu.com`

For those who are using packages for different architectures in parallel (namely, arm64 on an amd64 host), the update procedure can actually break apt due to unsatisfied dependencies because not all architectures are available at http://archive.ubuntu.com.
(It looks like it's enough to install hello:arm64 which is dynamically linked and shares some libraries with apt–since not all library packages can be upgraded to a newer version from the aforementioned repository, the apt package ends up in rc state and the associated command becomes unavailable.)

Suggestion/Feedback: Possible route to avoid issues after new releases like the ones reported earlier?

Would a lot of issues be resolved if Rolling Rhino became a fork or flavor like the others? an actual devel iso that can grab updates from the devel branch even after a new release is out there?

I've seen daily iso builds but not found a proposed devel iso that's been compiled (Would those even receive updates?)

This could potentially be done in a way that would automatically fix the issues that come every new release like

#39

&

#40

Linux-headers needs to be reinstalled, but I can't find an archive for it.

E: The package linux-headers-5.4.0-40 needs to be reinstalled, but I can't find an archive for it.

I'm guessing the 5.4 kernel that the daily is using, isn't in the devel, shouldn't it be upgraded during the upgrade? (Also make sure ZFS modules still are working)

Also because of this error, I can't install any new packages.

How to redirect/update Rolling Rhino to Hirsute 21.04 "Unable to get list of updates"

E: Repository 'http://archive.ubuntu.com/ubuntu devel InRelease' changed its 'Codename' value from 'groovy' to 'hirsute'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.
W: Conflicting distribution: http://archive.ubuntu.com/ubuntu devel-updates InRelease (expected devel-updates but got hirsute)

Is it broken now with these E: N: W: Errors? I Installed Rolling Rhino before the Groovy beta and now in settings it doesn't say proposed devel anymore and just Groovy Gorilla

Mentions that a new 21.04 is out there somewhere

Links to Daily Builds do not allow updating to Rolling Rhino

The links provided on this github page to the Ubuntu Daily Builds will not work with the script to turn them into Rolling Rhino builds. So far I have downloaded the ISO images for Ubuntu Desktop and MATE. When I run the script to convert them to Rolling Rhino it fails with this error "Ubuntu 21.04 detected. Switching an interim release to the devel series directly is not supported."

Question - Devel Security?

https://wiki.ubuntu.com/SecurityTeam/ReleaseCycle

post-beta

focus security updates on any updates still missing from devel release that are present in stable updates (see 'Show all out-of-sync CVEs for the devel release' from $UCT/README for assistance) 

Does this mean that running rolling-rhino could be less secure than the point release?

Is the Devel security policy any different to the point release for open/closed ports or changes in running services as i wouldn't want things enabled by default that would normally be disabled in the point release?

If that made any sense :)

Thanks

Questions/Stability?

Hi sorry if this is posted in the wrong area, as I didn't know where else to post it or ask.
If possible can I please get the questions directly answered. Also I understand how Ubuntu is designed to work, but personally got sick of using PPA's, doing dist-upgrades, etc, hence why I'm here. I've used Arch a ton in the past and decided to try this out.

My 1st question is: How stable is the Ubuntu development branch compared to say Arch packages? Yes I know what I am doing and my way around Linux, I'm asking simply out of curiosity.
2nd question: Is the development branch similar to that of Debian's testing branch (buster/bullseye)? Or is it more comparable to Debian Sid/Unstable?
3rd question: What process/stages do packages go through before they're released on the development branch (if any) - for example: unstable>testing/development>stable/release candidate?
Last question: what packages are recommended to block/freeze from updating if I want a little bit of extra stability?

I'm using it currently on a gaming PC where there isn't really anything of any importance, but I'm genuinely interested with this and before making the switch permanently I'd just like to know the above.
TIA

PopOS support in installer

After manually changing all instances of "focal" to "devel" on the /etc/apt/sources.list file (except the "apt.pop-os.org" instances), it seemed to work fine. Here's how my file looks like:

# deb cdrom:[Pop_OS 20.04 _Focal Fossa_ - Release amd64 (20200617)]/ focal main restricted
deb http://us.archive.ubuntu.com/ubuntu/ devel main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ devel main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ devel-security main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ devel-security main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ devel-updates main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ devel-updates main restricted universe multiverse
deb http://us.archive.ubuntu.com/ubuntu/ devel-backports main restricted universe multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ devel-backports main restricted universe multiverse
deb http://apt.pop-os.org/proprietary focal main
deb-src http://apt.pop-os.org/proprietary focal main

So far no issues have arisen from the upgrade. I will keep this updated if I encounter any during day-to-day use.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.