system 'layer' style

I have an idea.
Why i needed installation all software via ports?
Can use packages,but my idea has more advanced approach.
I looked desktop system as
  1. base system
  2. xorg
  3. network software(pidgin,firefox,thunderbird)
  4. DE||WM

I looked building the system that:
  1. install the minimal system
  2. install XORG,but not full instalation.My approach is use image of software
    mount -ro xorg.img /usr/local
  3. install network software
    mount -ro network.img /usr/local
  4. install DE||WM
    mount -ro kde3.img /usr/local

This scheme for enduser

For sysadmin
  1. install the minimal system
  2. install mta
    mount -ro mta.img /usr/local
  3. install network software(samba,ftp,apache)
    mount -ro network.img /usr/local
  4. install db(mysql,postgresql)
    mount -ro db.img /usr/local

what do you think of my idea?
=======================================
Scope this idea a very simple change software.
Code:
umount kde3.img
mount -ro gnome.img /usr/local
 
Also I'm think about use img.
Need use compact image. If create image with ufs, then needed calculate space for files.
May be have filesystem which can compressed space.
How that do in postgresql,function VACUUM
 
does not matter
'layer' style help update software and downgrade.
For example I'm install gnome,but decided kde it's more good.
What I do ?
Deinstall gnome,install kde.
But I dont know all packages installed with gnome.
As a result we have kde desktop with dont needed packages from gnome.
 
manefesto said:
does not matter
'layer' style help update software and downgrade.
For example I'm install gnome,but decided kde it's more good.
What I do ?
Deinstall gnome,install kde.
But I dont know all packages installed with gnome.
As a result we have kde desktop with dont needed packages from gnome.

Yes, but some people want both.
 
no problem
Code:
mount kde.img /usr/local
mount gnome.img /usr/local
reminder,I'm want 'clear' system without garbage from other packages.
This way it's very simple way
 
manefesto said:
no problem
Code:
mount kde.img /usr/local
mount gnome.img /usr/local
Which will make the kde.img inaccessable.


reminder,I'm want 'clear' system without garbage from other packages.
There is no 'garbage' if you install packages.

This way it's very simple way
The only problem is that it doesn't work.

You're trying to 'solve' a problem that doesn't exist.
 
kde.img is a meta-port
mount kde.img /usr/local is pkg_add kde4
umount kdde.img is pkg_delete -f kde4
If you mount 2 img, you need merge these. It can be done by chunks. Chunks is called "files", images - "packages" :)
 
@manefesto: The thing to keep in mind is that if you mount a filesystem to /usr/local and then mount another filesystem to /usr/local, you will temporarily overlay the first mounted filesystem.

I like the idea, but it sounds like it needs refinement. The ISO will probably need to contain a complete (package) environment for all the software you want to use. Also, if you intend to mount the ISO at boot time, you may be in for some extra work.
 
anomie said:
The ISO will probably need to contain a complete (package) environment for all the software you want to use.
And how is this different from the way things are now?
 
Yep, I think OP wants to be able to access an entire, prebuilt environment on demand with a simple mount command.
 
anomie said:
Yep, I think OP wants to be able to access an entire, prebuilt environment on demand with a simple mount command.

Errr.. Isn't that called a Live CD? :e


If you want to install Gnome i.e. with one large package file, instead of a meta-package with lots of dependency packages, there's some work currently being done to be able to create so-called "fat" packages. One large file that would contain a complete Gnome i.e. including all of it's dependencies.

http://wiki.freebsd.org/SoC2009DavidForsythe
 
Sure, but a live CD includes the base system. I may not personally have a use for this person's idea at the moment, but I think it would be interesting to explore.
 
anomie said:
Sure, but a live CD includes the base system. I may not personally have a use for this person's idea at the moment, but I think it would be interesting to explore.

I understand the concept and I think those "fat" packages are exactly that. Just one file you download which contains everything it needs. It would also solve "my" problem of installing kde and gnome. I would just download kde.tgz and gnome.tgz, do some pkg_tools magic on them and have both installed and working :stud
 
anomie said:
@manefesto: The thing to keep in mind is that if you mount a filesystem to /usr/local and then mount another filesystem to /usr/local, you will temporarily overlay the first mounted filesystem.

Unless you use bind mounts or nullfs mounts or whatever they are called, where you can mount multiple filesystems to the same location, and see all the files/directories from all of them. Works okay for read-only access, not always so great for read-write.
 
I will try to make xorg.img
then try to mount it on a "clean" system
mdconfig will mount the image at boot
if everything works out I will make videos
 
Partially complete
on "based" system
Code:
#dd if=/dev/null of=xorg.img bs=1m count=400
#mdconfig -a t vnode -u 1 -f xorg.img
#newfs -O2 /dev/md1
#mount /dev/md1 /mnt/md
#cd /usr/local && pax -p eme -X -rw . /mnt/md
on "aim" system
Code:
#mdconfig -a -t vnode -u 1 -f xorg.img
#mount /dev/md1 /usr/local
#echo 'hald_enable="YES"' >> /etc/rc.conf
#echo 'dbus_enable="YES"' >> /etc/rc.conf
#echo 'polkitd_enable="YES"' >> /etc/rc.conf
#ldconfig /usr/local/lib
#/usr/local/etc/rc.d./hald start
#/usr/local/etc/rc.d/dbus start
#/usr/local/bin/startx

We have some problem with starting dbus and hald, so it's important to create group for dbus and hald
You can see result in attach
 

Attachments

  • console.jpg
    console.jpg
    44.7 KB · Views: 254
  • Xorg.jpg
    Xorg.jpg
    38.1 KB · Views: 251
Back
Top