Can i create a server to host my updates

Is it possible to achieve partial upgrades by saving all the packages of every updates into a server and then pushing the right ones when the user asks for it?

i think the operational costs will be high but i’m just asking if its possible

There is a couple of topics on creating your own mirror server. You don’t have to run it as a public mirror - you can easily create one just to serve your purpose.

1 Like

I’m not sure if you understood my question

let’s say someone performs a full system upgrade on their pc on October 1st and then manjaro developers push updates for many packages in October 5 th . Now on the 6 th of October user wants to install a package but he has to perform a full system upgrade to do that right? But i want know if its possible to do it without full system upgrade

if someone stores all the old packages in a server and then sends it to the user by the method you described user can install a new package without performing a full system upgrade right? and if he has to update only one package only updating the dependencies of that package would enough right?

In that case I didn’t understand :slight_smile:

Yes - it is possible to install a package without updating the system.

In pamac setting you can disable check for updates when installing package.

It is also possible to use

pacman -S pkgname

The reason for recommending updating is due to library versions.

If you want to install A and A depends on lib B v1.1 and on your system is Bv1 then installing A would be a partial sync as A requires B in v1.1 and you don’t have B v1.1 - and the app A may not work as expected.

In that case using -Syu would sync lib Bv1 to Bv1.1 and the app A would work as expected.

This is the reason for recommending a system sync when syncing a new package onto your system.

2 Likes

Okay so if save the old version of the package in my own mirror that cannot possibly depend on the Bv1.1 . I can install and use the package without any problems right ?

and i can also update the dependencies of the program right?

I think your asking for trouble by doing partial updates. Why are you against keeping the whole system up-to-date?

Have you read this:

https://wiki.archlinux.org/title/Partial_upgrade#Partial_upgrades_are_unsupported

3 Likes

I think you are missing the point here.

The point is - the system is one big intervowen mass depending on eachother.

While it may work - it also may not work - and if you are getting weird issues because of it - you are on your own. Also know that discussing issues and solutions requires a fully synced system - anything else is unsupported.

As it is your system and you decide what to do and how to maintain you should just install the package using

pacman -S pkgname

You can use lftp to create a copy of the Manjaro branch you are using - then setup a caddy webserver to serve the files. It doesn’t have to be complicated - in fact it can be your own computer - suffice theres is enough space.

Install the packages lftp and caddy

sudo pacman  -S lftp caddy

Then copy the branch from your preferred mirror e.g. stable to your home (58G)

lftp -c mirror https://some.mirror/manjaro/stable /home/$USER/

When the copy is done start caddy

caddy file-server --root "/home/$USER/stable" --listen :8080 --browse

Edit your mirrorlist /etc/pacman.d/mirrorlist and insert a line at the top of the list

Server = http://localhost:8080/$repo/$arch

Disable the pamac-mirrorlist.timer

sudo systemctl disable --now pamac-mirrorlist.timer

If you ensure the caddy server is launched at login you can control when the repo is synced and you can install packages without syncing as you know the state of your system and you know which packages is in the repo.

When you decide it is update time you run the lftp command and refresh your copy of the repo. I know there is a switch for the mirror command to only fetch changed files. After you refreshed the copy you run pacman -Syu and your system willl update.

3 Likes

I didn’t think that a program could depend on an older version of the library
Thanks :slight_smile:

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.