You are not logged in.
I was thinking.. I was kind of tired of always when reinstalling arch on my laptop or new computer that I have to configure it, choose packages etc etc..
If in installation, one could choose premade configuration of what to packages to install, what configurations that should be done, what modifications and etc. Then doing the basic config yourself and let the rest be done automatically. This was All installation of packages and settings being done automatically and when done it should have a ie a fully working gnome desktop with a specific theme and specific software installed..
This would be great.. Then arch users could upload that config file and others could use it to have same installation as that user..
The main idea is to save that time.. so that i can go away and when i am back i have a working gnome desktop with firefox and its addons, my specific theme settings and desktop keyboard shortcuts.. setting alsa, removing some unneccessary modules etc..
Just to make it clear here is an example..
Installation Config examples:
1. Gnome desktop with some specific theme and gdm login manager, open office + bunch of other apps... (all configs made to have this working, like setting gdm into rc.conf etc etc..)
2. Kde Desktop with firefox... bla bla bla..
This is just an idea ontop of my head.. and i just need your opinions of what you think, if its good idea, possible or whatever.. I know it sound little difficult but I dont think its impossible and this would give arch more unique feature.
The ultimate Archlinux release name: "I am your father"
Offline
I do not think your idea is bad, however I do not think many archers would use such a tool.
I personally like knowing what is on my system, knowing what changes I make, etc....
I personally almost never reinstall arch and I think the same can be said for many other users.
Offline
Why not just make some packages consisting of configuration files for the look and feel ? You can upload it to AUR.
As for pre-made groups, don't know how KISS that is
The day Microsoft makes a product that doesn't suck, is the day they make a vacuum cleaner.
--------------------------------------------------------------------------------------------------------------
But if they tell you that I've lost my mind, maybe it's not gone just a little hard to find...
Offline
I would be satisfied with a way to currently export all of the pacman packages I have installed, and then, when I am installing a new system somewhere, to import that list, and then pacman will install all those packages automatically..
I guess I can so it.. probably a simple script if I wasnt so lazy..
Offline
Why don't we make an Ubuntu Like/Arch Based distro for new users?
xD
Proud Ex-Arch user.
Still an ArchLinux lover though.
Currently on Kubuntu 9.10
Offline
Just dump the drive onto an external. Boot a CD into another computer. Dump the external onto that computer. You'll have another installation.
Offline
Why don't we make an Ubuntu Like/Arch Based distro for new users?
xD
I've always wanted to do that with Openbox.
The idea of a full featured easy to use openbox setup is new as far as I know.
Madly in love with Arch64, Openbox, DotA, and of course... penguins!
Happy to help if you're not a Help Vampire. Use your wonderful resources like ArchWiki, Google, and our wonderful search page.
Offline
I think something like this would be very helpful for anyone wanting to use Arch on a cluster to automate the installation and setup of all the boxes.
In the bit of work I've done managing clusters I have used both CentOS and their kickstart system and Solaris/Jumpstart (both for reasons other than preference), and both kickstart and jumpstart were invaluable tools. Sure you could build a model image and copy images around and stuff, but kickstart ended up being much easier. As an extra bonus, the kickstart scripts served as simple documentation for how the various nodes and servers were setup and configured. We could give sudo to people we trusted to not snoop, but not to not screw things up, because if they screwed something up, it was just a matter of rebooting the system (with the right grub selection) to reimage it.
Wether or not Arch would be a good choice for a cluster is a different discussion, but if someone wanted to do so, this would be a good feature to have (although it wouldn't be unique to Arch). If people want to use it to provide pre-configured systems to noobs, so be it.
Last edited by jcasper (2008-05-18 21:56:37)
Offline
For what it's worth, I have done such a tool for myself and have been using it for a few years now. It is a simple script that automatically installs the packages I need depending on the type of installation I want to do.
Here is the script for those that may be interested:
#!/bin/bash
# A script to automate installation of programs in a new set up of ArchLinux
# by: R. Alvez
#
# ======================================================================== #
user=$UID
if [ $user != 0 ]
then
echo "Sorry. Only the ROOT user can run this program !"
exit
else
echo "###############( Updating Programs )###############"
echo
echo "Start: "
date
fi
# Basic programs
function baseprogs(){
echo "==============( Basic Programs )================="
echo
for PROGRAM in xorg xorg-apps kde firestarter
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Productivity tools
function productivity(){
echo "==============( Productivity Tools )================="
echo
for PROGRAM in htop screen hwd openssh ntp host mc yakuake
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Web Development
function webdev(){
echo "==============( Web Development Programs )================="
echo
for PROGRAM in bluefish cssed kdewebdev gvim eric4 apache mod_python php mysql mysql-python python-ldap mysql-gui-tools
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Multimedia
function multimedia(){
echo "==============( Multimedia Programs )================="
echo
for PROGRAM in xine-lib xine-ui amarok-engine-xine alsa-lib alsa-oss alsa-utils alsaplayer gstreamer0.10-alsa alsa-plugins mplayer mplayer-plugin amarok-base amarok-engine-xine gstreamer0.10
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Office productivity programs
function office(){
echo "==============( Office Programs )================="
echo
for PROGRAM in jre openoffice-base openoffice-spell-en openoffice-es
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Tools for running/using CDs and DVDs
function cd_dvd_tools(){
echo "==============( CD-DVD Tools )================="
echo
for PROGRAM in libdvdcss dvd+rw-tools libdvdread k3b
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Some of my favorite programs
function favorites(){
echo "==============( Favorite Programs )================="
echo
for PROGRAM in conky kompose xbindkeys pidgin guifications purple-plugin-pack workrave gkrellm gkrellmlaunch gkrellweather tuxcards
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# Special Drivers
function drivers(){
echo "==============( Program Drivers )================="
echo
for PROGRAM in linux-uvc-svn xf86-video-intel
do
echo +=========================+
echo "PROGRAM: $PROGRAM"
echo +=========================+
echo
pacman -Sy --noconfirm $PROGRAM
echo -e \\n\\n
done
}
# MS-True Type fonts
function ttfonts(){
echo +=========================+
echo "Program: MS-TT Fonts"
echo +=========================+
echo
pacman -Sy --noconfirm ttf-ms-fonts echo -e \\n\\n
}
# un-comment the productivity packages you want to install
baseprogs
productivity
cd_dvd_tools
multimedia
# office
favorites
# webdev
drivers
ttfonts
echo "All done!"
I hope it will be of benefit to some of you.
R.
Offline
For what it's worth, I have done such a tool for myself and have been using it for a few years now. It is a simple script that automatically installs the packages I need depending on the type of installation I want to do.
Here is the script for those that may be interested:#!/bin/bash # A script to automate installation of programs in a new set up of ArchLinux # by: R. Alvez # # ======================================================================== # user=$UID if [ $user != 0 ] then echo "Sorry. Only the ROOT user can run this program !" exit else echo "###############( Updating Programs )###############" echo echo "Start: " date fi # Basic programs function baseprogs(){ echo "==============( Basic Programs )=================" echo for PROGRAM in xorg xorg-apps kde firestarter do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Productivity tools function productivity(){ echo "==============( Productivity Tools )=================" echo for PROGRAM in htop screen hwd openssh ntp host mc yakuake do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Web Development function webdev(){ echo "==============( Web Development Programs )=================" echo for PROGRAM in bluefish cssed kdewebdev gvim eric4 apache mod_python php mysql mysql-python python-ldap mysql-gui-tools do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Multimedia function multimedia(){ echo "==============( Multimedia Programs )=================" echo for PROGRAM in xine-lib xine-ui amarok-engine-xine alsa-lib alsa-oss alsa-utils alsaplayer gstreamer0.10-alsa alsa-plugins mplayer mplayer-plugin amarok-base amarok-engine-xine gstreamer0.10 do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Office productivity programs function office(){ echo "==============( Office Programs )=================" echo for PROGRAM in jre openoffice-base openoffice-spell-en openoffice-es do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Tools for running/using CDs and DVDs function cd_dvd_tools(){ echo "==============( CD-DVD Tools )=================" echo for PROGRAM in libdvdcss dvd+rw-tools libdvdread k3b do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Some of my favorite programs function favorites(){ echo "==============( Favorite Programs )=================" echo for PROGRAM in conky kompose xbindkeys pidgin guifications purple-plugin-pack workrave gkrellm gkrellmlaunch gkrellweather tuxcards do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # Special Drivers function drivers(){ echo "==============( Program Drivers )=================" echo for PROGRAM in linux-uvc-svn xf86-video-intel do echo +=========================+ echo "PROGRAM: $PROGRAM" echo +=========================+ echo pacman -Sy --noconfirm $PROGRAM echo -e \\n\\n done } # MS-True Type fonts function ttfonts(){ echo +=========================+ echo "Program: MS-TT Fonts" echo +=========================+ echo pacman -Sy --noconfirm ttf-ms-fonts echo -e \\n\\n } # un-comment the productivity packages you want to install baseprogs productivity cd_dvd_tools multimedia # office favorites # webdev drivers ttfonts echo "All done!"
I hope it will be of benefit to some of you.
R.
Nice functions.
About making a pre-configured Arch system, that idea is nice but it goes apart from Arch philosofy, however it's still nice because it would still remain bleeding-edge and fast, let's just say that we would quit the KISS part of Arch and keep the other advantages (this would also help n00bs to adapt to an Arch envirnment so they could later use a normal Arch Install)...
Proud Ex-Arch user.
Still an ArchLinux lover though.
Currently on Kubuntu 9.10
Offline
I would be satisfied with a way to currently export all of the pacman packages I have installed, and then, when I am installing a new system somewhere, to import that list, and then pacman will install all those packages automatically..
I guess I can so it.. probably a simple script if I wasnt so lazy..
See repacman on the pacman-dev ML - it might also be in the pacman-contrib AUR package
Offline
pacman-contrib AUR package
pacman-contrib is in community and although repacman is not in it yet. Apparently it needs some updating but I haven't got around to it yet... It is on my TODO list (http://wiki.archlinux.org/index.php/Use … an-contrib). There is a link to what appears to be an updated version on that list but use at your own risk...
And I don't think that is the tool you are asking for... What about just taking the list from "pacman -Qq"?
Last edited by Allan (2008-05-19 04:04:04)
Offline
I had an *identical* thought myself a while ago.
In short, I'm not sure many people would use it. Personally, I keep a set of (pseudo-)scripts that re-installs and configures my system, so reinstalling isn't that much of an art.
Offline
I'd use it, and it'd be trivial to make.
So run something like...
pacman -Qi > backup/packagelist
cp /etc/rc.conf /etc/network.d/ ........ backup/configs/
cp /home/$user/ backup/skel
to make it smarter, it could check through the package database and find all the packages with backup= lines, and then back those up...
and then have a script to do the reverse on the installer disc. Very cool!
Last edited by iphitus (2008-05-19 06:27:09)
Offline
I would be satisfied with a way to currently export all of the pacman packages I have installed, and then, when I am installing a new system somewhere, to import that list, and then pacman will install all those packages automatically..
I can see the benefit in that (eg, new computer, second computer etc).. On the old computer:
pacman -Qq > ~/packages.list
Burn that file to CD, then mount the CD on the new computer:
#!/bin/bash
DEF_PKGLIST='/mnt/cdrom/packages.list'
PACMAN='/usr/bin/pacman'
echo ""
echo "Arch Linux System Package Copy or some other name for this script :P"
echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
#
# Get filename for package list from user (or default)
#
read -p "List of packages to install [${DEF_PKGLIST}]: " PKGLIST
if [ -z $PKGLIST ] ; then
PKGLIST=${DEF_PKGLIST}
fi
if [ ! -f $PKGLIST ] ; then
echo "Package list (${PKGLIST} NOT FOUND"
exit 1
fi
#
# Install each package in the package list
#
for PKG in $(cat ${PKGLIST}) ; do
echo -n "Installing $PKG "
$PACMAN -Sy --noconfirm $PKG &> /dev/null
if [ $? -eq 0 ] ; then
echo "OK"
else
echo "FAIL"
fi
done
exit 0
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline
I've been working with larch (make Live Arch CD) and you can actually install Arch as you want it normally, set it up and configure all the programs you want, then create a liveCD using larch, and then you can install that system anytime you want from a LiveCD. It's pretty cool.
Offline
Archbuntu FTW !
All your Arches belong to us !
Last edited by Pick2 (2008-05-19 14:38:51)
Just Folded Space From Arrakis
Offline
Burn that file to CD, then mount the CD on the new computer:
Thanks this looks nice.
Sorry for my ignorance, but will this script deal ok with packages that need dependencies?, and also,not install already-installed packages?
I will try this out on my next Arch cloning operation...
Offline
Archbuntu FTW !
All your Arches belong to us !
Guess not many liked the idea :S
Proud Ex-Arch user.
Still an ArchLinux lover though.
Currently on Kubuntu 9.10
Offline
fukawi2 wrote:Burn that file to CD, then mount the CD on the new computer:
Thanks this looks nice.
Sorry for my ignorance, but will this script deal ok with packages that need dependencies?, and also,not install already-installed packages?
I will try this out on my next Arch cloning operation...
Thanks
pacman should deal with the dependencies itself - it installs each package 1 by 1, so if there are dependencies, pacman should resolve and install them. It will reinstall existing packages, but the package should already be in the cache so it will just install over the top of itself without downloading anything (or will download the latest and upgrade the existing package)
AFAICS anyway... It was written in the forum reply box and is untested
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline
Like iphitus' method:
I keep a list of packages I use, and I can just pass it to pacman, drop in the relevant config, and it's just like home
echo `pacman -Qqe` > packages
< packages | pacman -Sy
No looping, and with -e (explicitly installed), the list is about half as long.
Offline
Sorry to bring a dead thread back to life...
I just migrated my old server (Pentium III 733, 512mb RAM, 2gb HDD) to a new system (AMD 64 Dual-core, 2gb RAM, 500gb RAID-1) and used this script to help - it did need tweaking, but it worked wonders!
#!/bin/bash
DEF_PKGLIST='/root/packages.list'
PACMAN='/usr/bin/pacman'
GREP='/bin/grep'
CUT='/bin/cut'
TMPFILE="$$$$.tmp"
RM='/bin/rm'
clear
echo ""
echo "Arch Linux System Package Copy or some other name for this script :P"
echo "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"
#
# Get filename for package list from user (or default)
#
read -p "List of packages to install [${DEF_PKGLIST}]: " PKGLIST
if [ -z $PKGLIST ] ; then
PKGLIST=${DEF_PKGLIST}
fi
if [ -f $PKGLIST ] ; then
# Remove the version numbers from the package list
$CUT -d" " -f1 $PKGLIST > $TMPFILE
PKGLIST=$TMPFILE
else
echo "Package list (${PKGLIST} NOT FOUND"
exit 1
fi
#
# Update pacman's cache
echo "Status available on tty5"
echo -n "Updating pacman mirror cache... "
$PACMAN -Sy &> /dev/tty5
if [ $? -eq 0 ] ; then
echo "OK"
else
echo "Failed!"
exit 1
fi
#
# Install each package in the package list
#
FAIL_LIST=''
for PKG in $(cat ${PKGLIST}) ; do
# Check if this package is already installed
INSTALLED=`$PACMAN -Qe | $GREP $PKG`
if [ -z "$INSTALLED" ] ; then
echo -n "Installing $PKG "
$PACMAN -S --noconfirm $PKG &> /dev/tty5
if [ $? -eq 0 ] ; then
echo "OK"
else
echo "FAIL"
FAIL_LIST="${FAIL_LIST} ${PKG}"
fi
else
echo "Skipping $PKG; Already installed"
fi
done
if [ ! -z "$FAIL_LIST" ] ; then
echo ""
echo "============================================================================"
echo ""
echo "The following packaged failed to install."
echo "Perhaps they were installed from the AUR?"
echo $FAIL_LIST
fi
$RM -f $TMPFILE
exit 0
Are you familiar with our Forum Rules, and How To Ask Questions The Smart Way?
BlueHackers // fscanary // resticctl
Offline
This is part of the reason that I wrote "metapax" (linked in sig). You can create custom metapackages that contains the apps that you want as depends (and will change that to optdepends if we ever get a good way of installing optdepends during sync... I've posted a feature request for command line options to do that).
One of the options is to do a system "snapshot" of the currently installed packages, including rebuilding any packages no found in the repo so that you can migrate them to another system. You'll have to back up your own configuration files yourself though, but at least you can quickly re-install your packages.
My Arch Linux Stuff • Forum Etiquette • Community Ethos - Arch is not for everyone
Offline
partimage is also useful for such things.
Offline