About post install scripts...
hi,
i wonder if there is a solution for the post-install script problem to prevent some commands like "rm -rf /" to be executed. I know that Gentoo hasn't got this problem because ebuild scripts use a particular language that doesn't implement a such command. But for Arch which uses bash, could this problem be really resolved ?
Comete.
Toth wrote:[...]
A package is software, and you have to trust that the software you are downloading is legit. If it is, and you trust the packager, you have no reason not to trust the package.
exactly ---> do not download from sources you dont trust
(if you ever worked on a windows, you know that already, because there is a lot of evil things around (spyware, virus, bacteria, nice VB-scripts, nice JS-scripts ...))
-> the problem about security: if your OS becomes popular, then the bad guys see it as enough popular to do something bad with it
Toth wrote:I assure you, if the package maintainers ever run across a submitted package with "rm -rf /" in the post install script, they won't add it to the Arch Linux repositories. If/when you find a 3rd-party Arch package for download, that's a risk you are going to have to take. Check the scripts, check the source of the program (if you're paranoid). That's about all you can do.
what about a check (in pacman), to give warning, that something will be done with / ... as i know, there is no line to run with / as parameter for a normal reason during an installation or upgrade
if you download a non-archlinux.org package (downloaded from somewhere else), the install procedure is now this:
> pacman -A bad-0.1-1.pkg.tar.gz
loading package data... done.
checking for conflicts... done.
installing ... done.
>
the check would look like this:
> pacman -A bad-0.1-1.pkg.tar.gz
loading package data... done.
checking install/upgrade scripts ...
Warning: Found lines in Install-Script that contain / :
line 3: do something
line 4: cd / <---
line 5: rm -rf *
line 6: echo "I was a bad script"
Continue with installation [y|N] y
checking for conflicts... done.
installing ... done.
I was a bad script
>
this will at least give the user a chance to look at code that contain "/ " in the install/upgrade/remove-scripts and have some control
of course this will not check the package-content :-( ... but at least you will have one leak closed particulary
Similar Messages
-
I am creating an image with System Utility. One module i can add is called "Add Packages and Post-Install Scripts".
I put one of my scripts in it:
#!bin/sh
defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Hello"
But I get an error when trying to image saying "install setup failed: run postinstall script"
I know the script works because i tested it.
Any ideas?probably not…
try using the defined installer variables instead of a specific path. there's a quick rundown here, though there's probably better documentation of it elsewhere: http://tinyurl.com/yejppmm
basically, you probably want $3:
$1: Full Path to Package
$2: Full Path to target installation directory: /Applications
$3: Mountpoint of installation disk: / or /Volumes/External_Drive
$4: Root directory of currently booted system
your script may be failing because the installer is trying to run it on the booted volume, which won't work. you want it to apply to the restored/newly installed volume. -
Messed Up Post Install Scripts
When I was completing the Oracle 11g R2 v11.2.0.3.0 install on Oracle Linux v6.2, I was told via the Oracle Universal Installer to run two scripts as root. The one I think I messed up was called root.sh and it prompted me for my 'bin' location and it had /usr/local/bin as a default value and I selected it. Sadly when the OUI finished successfully, I was unable to locate SQL*Plus because it was trying to find the app in the wrong path. Anyone know how I can correct it? Should I simply re-run the 'root.sh' script from Oracle or will that mess things up even more? I verified that SQL*Plus was in /oracle/u01/app/.../bin/
Just need to know how to fix my error during the OUI installer so I can run the SQL*Plus command line utility.OrakleDBA wrote:
Yes, sb92075 is right. When you set an envrionment variable before it is defined then the value is ambiguous. (sb92075 could have said it a little friendlier)
I was hoping to "lead" you to the issue with my earlier post. I'm sure if you follow sb92075's recommendation you will be successful. Please let us know.So I followed sb92075's advice and moved my PATH line under ORACLE_HOME as well as move the 'PATH' entry to the end of the 'EXPORT' command:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
ORACLE_BASE=/oracle/u01/app/oracle
ORACLE_SID=zoo
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db1
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_SID ORACLE_HOME PATHI then logged back in with the 'oracle' user and it appears to be working:
[oracle@db1 ~]$ which sqlplus
/oracle/u01/app/oracle/product/11.2.0/db1/bin/sqlplus
[oracle@db1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Tue Jun 12 11:13:59 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsJust to be clear of any doubt, is my .bash_profile correct in regards to no missing variables for Oracle Database and also is everything in the correct place? I don't have listings for:
TNS_ADMIN
TMP=/tmp
TMP_DIR=$TMP
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
Should I add the above to my .bash_profile or is this not needed. There's no mention of them during the installation documentation of Oracle. Just setting ORACLE_SID & ORACLE_BASE. They recommend I don't set ORACLE_HOME as the OUI will do so accordingly during the install or after. Just trying to understand what variables are required / needed to get a functioning Oracle 11g Database in working order. -
SQL post-install scripts when restoring RMAN backup to a higher version
Hi,
If I've an RMAN backupset taken from, say an 11.2.0.3.0 DB, and I want to restore this to an 11.2.0.4.5 DB, I know I'll have to open in upgrade mode, and run the SQL components of the OJVM PSU along with the January 2015 PSU after the restore completes.
Is there anything specific about the order of catbundle, utlrp, utli112 and OJVM postinstall scripts that need running after catproc?
I'm guessing it needs to be:
catproc->utli112->OJVM PSU->catbundle->utlrp
But thought I'd check just in case there's something specific I've missed.
Thanks,
PhilFor RMAN restore on higher version, you can follow below steps.
SQL> alter database mount;
Database altered.
SQL> recover database until cancel using BACKUP CONTROLFILE ;
----some log files will be applied here, at the end, give cancel----------------
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
Media recovery cancelled.
SQL> alter database open resetlogs upgrade;
Database altered.
---Now perform manual upgrade steps----
Remember, you need to run utlu112i.sql in source DB and before the upgrade. for catbundle, you can follow the readme instructions.
Hope it helps!!!.
Thanks,
Abhi -
Netinstall - Add Packages and Post-Install Scripts
I used SIU to make a netinstall image, add 3 .pkg files to install after the restore completes, and apply some system configuration settings. I have had no issues restoring the image, but none of the post restore packages run, and the ByHost preferences are not being changed to match the client after install. The order of the workflow seems to be correct, so I am at a loss as to why I am getting the error "there was no software found to install" when the restore finishes, and the post process begin. Any help is greatly appreciated.
I have also included a link to a screen shot of my Workflow.
http://dl.getdropbox.com/u/12985/Screenshot%202008-09-24%2010h%2052m%2012s.pngNo, the server should be fine. I was trying to make sure that you didn't simply have an old version of the tools installed on some other system.
You might try deleting the automator action cache files (~/Library/Preferences/com.apple.automator*.plist) on the server. Other than that, I have no simple ideas. -
MDT Database Variables post-install
Is the information in the MDT database available to a post-install script? I need to run a Lenovo utility to set the asset tag on the PC. I would like to pre-populate the MDT database with the serial number (which is what I'll use to match the unique PC).
I've found scripts online to get the information into the database, but I want to be able to do something like wflash2.exe /tag:%ASSET-TAG-VARIABLE-FROM-MDT-DATABSE%.I'm not sure the SID fits on a label that also says "Property of XXXX". ;-) Plus, SIDs can change. They are less concerned about theft, though, than people trying to claim PCs were a part of certain budgets. They'll dig up any old thing
and say they're due a replacement. Not if it doesn't have that sticker, they don't. Anyway...
*sigh*
<![LOG[Property AssetTag is now = AssetTag]LOG]!><time="17:34:42.000+000" date="08-12-2014" component="ZTIGather" context="" type="1" thread="" file="ZTIGather"><![LOG[Added new custom property ASSETTAG]LOG]!><time="17:34:45.000+000" date="08-12-2014" component="ZTIGather" context="" type="1" thread="" file="ZTIGather"><![LOG[About to issue SQL statement: SELECT * FROM ComputerIdentity WHERE UUID = '5728E710-D46F-11E3-A8BB-9B8055071B00' OR ASSETTAG = 'AssetTag' OR SERIALNUMBER = 'MJ00SYWY' OR MACADDRESS IN ('44:39:C4:3B:96:48')]LOG]!><time="17:34:45.000+000" date="08-12-2014" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">
It is currently set to AssetTag from experimenting with different formats of the variable to get the expected value to drop.
<![LOG[Value for ASSETTAG is already set to AssetTag so database value of 333 will be ignored.]LOG]!><time="17:34:49.000+000" date="08-12-2014" component="ZTIGather" context="" type="1" thread="" file="ZTIGather">
So because there is an AssetTag variable pulled by ZTIGather, it uses that information instead of the information I specified in the database?
I tried using the CustomAssetTag field instead of AssetTag. BDD.log's last mention of CustomAssetTag is where is it setting it to the correct value... yet the script seems to ignore it.
Since it takes forever for this task to run, I'll post the information I have and try again, but putting a set in the script so that I see the variables before it tries doing anything. -
[SOLVED] Pass Environment variables from PKGBUILD to .INSTALL script
Hi everyone,
I am trying to modify the grub2-efi-bzr (http://aur.archlinux.org/packages.php?ID=38369) package making some changes in the PKGBUILD and the post-install script. I want to pass few environment variables from the PKGBUILD to the install script. How do I do that?
Some code from the PKGBUILD
_bzrtrunk="lp:grub/grub2" # GRUB2 BZR Main Trunk
# _bzrtrunk="lp:~skodabenz/grub/grub2-bzr-exp" # GRUB2 BZR Experimental Branch
_bzrmod="grub2"
if [ ${_bzrtrunk} = "lp:~skodabenz/grub/grub2-bzr-exp" ]
then
_bzrmod="grub2_exp"
pkgver="exp_${pkgver}"
fi
# grub-extras bzr repo locations
_bzrtrunk_zfs="lp:~skodabenz/grub/grub2-extras-zfs"
_bzrtrunk_lua="lp:~skodabenz/grub/grub2-extras-lua"
if [ "$CARCH" = 'i686' ]
then
_EFI_ARCH=i386
elif [ "$CARCH" = 'x86_64' ]
then
_EFI_ARCH=x86_64
fi
# _EFI_ARCH=x86_64 # Uncomment if you want to override the if condition for _EFI_ARCH above, incase the EFI ARCH does not match the Linux Kernel ARCH.
# $CARCH=x86_64 and _EFI_ARCH=i386 requires gcc-multilib with lib32-glibc installed in the system.
# I do not know about $CARCH=i686 and _EFI_ARCH=x86_64
if [ ${_EFI_ARCH} = "i386" ]
then
pkgver="${pkgver}_x86"
_trns_name="grub2_efi_x86"
elif [ ${_EFI_ARCH} = "x86_64" ]
then
pkgver="${pkgver}_x64"
_trns_name="grub2_efi_x64"
fi
Now the post-install script needs the values of _EFI_ARCH and _trns_name env variables. I do not want to copy the if statements to that script as these are decided at compile time but needed while setting up grub2-efi. This is due to the fact that EFI-ARCH need not match the Linux Kernel ARCH. How do I do that.
Code from the post-install script
${_trns_name}-install --root-directory=/ --no-floppy --recheck --debug
cp /usr/lib/${_trns_name}/${_EFI_ARCH}-efi/lua.mod /boot/${_trns_name}/
cp /usr/lib/${_trns_name}/${_EFI_ARCH}-efi/zfs.mod /boot/${_trns_name}/
cp /usr/lib/${_trns_name}/${_EFI_ARCH}-efi/zfsinfo.mod /boot/${_trns_name}/
cp /usr/lib/${_trns_name}/${_EFI_ARCH}-efi/unifont.pf2 /boot/${_trns_name}/
cp /usr/lib/${_trns_name}/${_EFI_ARCH}-efi/ascii.pf2 /boot/${_trns_name}/
${_trns_name}-mkimage --verbose --directory=/usr/lib/${_trns_name}/${_EFI_ARCH}-efi --prefix="" --output=/boot/${_trns_name}/grub2.efi --format=${_EFI_ARCH}-efi ${_EFI_APP_MODULES}
Thank in advance.
Last edited by skodabenz (2010-07-27 15:46:40)falconindy wrote:
Don't rely on %foo% existing -- it won't after the first build and this will prevent the PKGBUILD from being reentrant. I would use something like this (untested):
sed -i "s|^\(_EFI_ARCH\)=.*|\1=${_EFI_ARCH}|; \
s|^\(_trns_name\)=.*|\1=${_trns_name}|; \
s|^\(export _EFI_APP_MODULES\)=.*|\1=${_EFI_APP_MODULES}|" \
${startdir}/grub2-efi-bzr.install
Your code works except for 1 problem in the install script I want
export __EFI_APP_MODULES="${_EFI_APP_MODULES}" (the passed ${_EFI_APP_MODULES} value should again come inside double quotes).
right now
export _EFI_APP_MODULES=ata part_gpt part_msdos fat ntfs ntfscomp ext2 iso9660 udf hfsplus fshelp normal chain linux ls search search_fs_file search_fs_uuid search_label help loopback boot configfile echo efi_gop efi_uga xnu xnu_uuid lvm
which is equivalent to
export _EFI_APP_MODULES=ata
I want
export _EFI_APP_MODULES="ata part_gpt part_msdos fat ntfs ntfscomp ext2 iso9660 udf hfsplus fshelp normal chain linux ls search search_fs_file search_fs_uuid search_label help loopback boot configfile echo efi_gop efi_uga xnu xnu_uuid lvm"
How to do it with sed since sed already uses double quotes? -
Question on CAPolicy.inf file and post-installation script
I'm preparing a small PKI implementation with a single Enterprise Root CA on Windows 2008 R2 Enterprise.
The primary role of this CA is to provide certificates for about 20 laptops that will use the certificates for authentication to a wireless network.
I have prepared a CAPolicy.inf file and a post installation script (below).
Renewal period for the root cert should be 10 years, CRL publication every 2 days with Delta publication every 12 hours (details in scripts below).
I want to make sure the AIA and CRL url commands are correct.
Does this look correct?
AIA
1:%WINDIR%\System32\CertSrv\CertEnroll\%%1_%%3%%4.crt
This should publish the CA certificate to the local file system "certenroll".
2:ldap:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11
This places the LDAP url in the AIA extension of issued certs.
I am not planning to use HTTP, hence its absence.
CRL
1:%WINDIR%\System32\CertSrv\CertEnroll\%%3%%8%%9.crl
This publishes the CRL to the local file system ("certenroll" subfolder).
10:ldap:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10
Indicates CDP in AD DS and includes CDP url in issued certificates.
Complete scripts
1. CAPolicy.inf - %windir%
[Version]
Signature= "$Windows NT$"
[certsrv_server]
renewalkeylength=2048
RenewalValidityPeriodUnits=10
RenewalValidityPeriod=years
CRLPeriod = days
CRLPeriodUnits = 2
CRLDeltaPeriod = hours
CRLDeltaPeriodUnits = 12
LoadDefaultTemplates=0
2. Install Role
Follow steps in GUI here
3. Run post-install script
certutil -setreg CA\DSConfigDN CN=Configuration,DC=mydomain,DC=local
certutil -setreg CA\CRLPeriodUnits 2
certutil -setreg CA\CRLPeriod "days"
certutil -setreg CA\CRLDeltaPeriodUnits 12
certutil -setreg CA\CRLDeltaPeriod "hours"
certutil -setreg CA\ValidityPeriodUnits 10
certutil -setreg CA\ValidityPeriod "Years"
certutil –setreg CA\CACertPublicationURLs "1:%WINDIR%\System32\CertSrv\CertEnroll\%%1_%%3%%4.crt\n2:ldap:///CN=%%7,CN=AIA,CN=Public Key Services,CN=Services,%%6%%11"
certutil –setreg CA\CRLPublicationURLs "1:%WINDIR%\System32\CertSrv\CertEnroll\%%3%%8%%9.crl\n10:ldap:///CN=%%7%%8,CN=%%2,CN=CDP,CN=Public Key Services,CN=Services,%%6%%10"
certutil -setreg CA\csp\DiscreteSignatureAlgorithm 1
certutil -setreg CA\AuditFilter 127
net stop certsvc & net start certsvc
certutil -crl
Please mark as helpful if you find my contribution useful or as an answer if it does answer your question. That will encourage me - and others - to take time out to help you.A couple of things (just a quick glance)
1) CAPolicy.inf
Everything looks fine in this file. You will have a 2 day base crl and 12 hour delta CRLs. No default templates are loaded, so you must manually designate all published certificates
2) Post install Script
a. Best practices are to use HTTP only, not to use LDAP, so your whole design does not follow best practices. Furthermore, if you issue a certificate to a single, non-domain joined machine, they will be unable to evaluate your certificates. If you decide
to do VPN (or use an internal SSL cert on an externally accessible Web server), revocation checking will fail because you do not publish AD to the external world
b. Will you be issuing 10 year certificates from the CA. These lines:
certutil -setreg CA\ValidityPeriodUnits 10
certutil -setreg CA\ValidityPeriod "Years"
define the maximum validity period of certs issued *by* the CA. For example, if a certificate template states 4 years, then a four year will be issued (less than 10 years). If a template state 12 years, then the max age will be 10 years. Think of it as a
governor.
c.CACertPublicationURLs . This should include an HTTP URL, and if you want to still include LDAP, HTTP should be prior to the LDAP URL.
d. CRLPublicationURLs. This should include an HTTP URL. If you want to still include LDAP, HTTP should be prior to the LDAP URL. Your checkbox value for the LDAP URL is incorrect as well. For a CA that issues both base and delta CRLs, you must have a value
of 79 (all check boxes enabled). Your current configuration would fail for revocation checking because you do not publish the base or delta CRL to AD. There is another check box missing (I believe the one to include the URL in the base CRL's freshest CRL extension
(how to find the delta CRL).
e. Do not include the DiscreteSignatureAlgorithm line in the script. If you have any Windows XP clients, they will not be able to use the certs (BTW, this should have been AlternateSignatureAlgorithm in my book - where you sourced your scripts). This would
only be used on a CA where you used something like Elliptical Curve as the assymetric algorithm and SHA384 as the signature algorithm).
f. The restart line should be net stop certsvc && net start certsvc. The double && ensures that the service comes to a complete stop before the start command is executed.
HTH,
Brian -
Oracle 10.2.0.1 client install during SLES10 AutoYast post-install
Hello all,
I'm stumped and could use a little help. I'm attempting to use the silent install method for the 10.2.0.1 Oracle client on a SLES10 SP2 via autoyast post install scripts. The script runs just fine if I use it to install after SLES10 has been completely installed. At first I suspected and environment issue, but I've doubled checked against the env during autoyast and post install completion env. Not sure what to check next, I've tried searching for minimum environment requirements for OUI, but found nothing.
silentInstall2010-05-01_10-00-43AM.log reports:
** Error Dialog: OUI-10151:There was an error while loading library: areasQueries ***
User Selected: S&top installation of this component only.
java.io.IOException: No such file or directory
This silent installation was unsuccessful.
It was "generalQueries" until I added an ldconfig command in the script thinking something was wrong with the gcc env.
Here is the script I'm using...
#!/bin/bash
BASEDIR=/installsvr/repos
TMPDIR=/tmp/oracle_install
HASORACLE=`grep $1 /etc/passwd`
HASOINSTALL=`grep $2 /etc/group`
if [ -z $HASORACLE ]
then
echo "Could not find an $1 account!"
exit 1
fi
if [ -z $HASOINSTALL ]
then
echo "Could not find an $2 group!"
exit 1
fi
if [ ! -f $BASEDIR/$3 ]
then
echo "Could not find file: $BASEDIR/$3"
exit 1
fi
if [ ! -f $BASEDIR/$4 ]
then
echo "Could not find file: $BASEDIR/$4"
exit 1
fi
FILENAME=`basename $3`
# Setup install directories
if [ ! -d /u01/app/oracle ]
then
mkdir -p /u01/app/oracle
chown -R $1.$2 /u01
chmod -R 775 /u01
fi
# Copy the install source
# to a temp dir.
su - $1 -c "mkdir $TMPDIR;cp $BASEDIR/$3 $TMPDIR/.;cd $TMPDIR;unzip $FILENAME >/dev/null 2>&1;rm -f $FILENAME"
# Find the location of the "runInstaller"
# and kickoff the command
RUNINSTALLER=`find $TMPDIR -name runInstaller | head -1`
RUNINSTALLERDIR=`dirname $RUNINSTALLER`
if [ ! -d $RUNINSTALLERDIR ]
then
echo "Could not find directory: $RUNINSTALLERDIR"
exit 1
fi
# Setup ldconfig prior to install run
ldconfig
su - $1 -c "TERM=xterm;cd $RUNINSTALLERDIR;./runInstaller -ignoreSysPrereqs -silent -responseFile $BASEDIR/$4"
# Run a loop and wait for the
# installer process to finish
PROC=`ps -ef | grep "\-ignoreSysPrereqs \-silent \-responseFile" | awk '{print $2}'`
while [ ! -z $PROC ]
do
echo "...waiting for oracle installer to finish..."
sleep 5
PROC=`ps -ef | grep "\-ignoreSysPrereqs \-silent \-responseFile" | awk '{print $2}'`
done
# Grace Period
sleep 5
# Cleanup
rm -rf $TMPDIR
# Finish
echo "...running orainstRoot.sh"
/u01/app/oracle/oraInventory/orainstRoot.sh
echo "...running root.sh"
echo "" | /u01/app/oracle/product/10.2.0/client/root.sh
Thanks in advance,
ChrisFound the issue...it was in the script. Evidently, the process checker only worked after the OS install had completed and the script was run manually. I changed that section to...
PROC=`ps -ef | grep ^$1 | tail -1 | awk '{print $2}'`
while [ ! -z "$PROC" ]
do
echo "-- installOracle.sh: waiting for oracle installer to finish --"
sleep 5
PROC=`ps -ef | grep ^$1 | tail -1 | awk '{print $2}'`
done
...and all is well.
- Chris -
Problem during 11.1.0.7 clusteware upgrade when runnng post upgrade script
Hello,
I have encountered a problem whilst upgrading a 3 node RAC cluster to 11.1.0.7 patchset as follows :-
I ran OUI against the CRS_HOME to upgrade to the 11.1.0.7 patchset. The upgrade completed successfully across all nodes.
OUI then prompted to run the post install script (_root111.sh)_ as root user on each of the 3 nodes in the cluster, so I did the following (in SERIAL order as recommended):-
NODE1 - ran crsctl stop crs
ran root111.sh script
Both the above actions completed on NODE1 with no problems
NODE2 ran crsctl stop crs
ran root111.sh script
'Text file busy' error received on several files during execution of root111.sh script on NODE2 (This may have been due to the fact that CRS processes had not fully stopped when I invoked the script). The result was that the script did not complete successfully (linking , etc) and CRS did not start up afterwards.
NODE1 - ran crsctl stop crs
ran root111.sh script
Both the above actions completed on NODE3 with no problems
The result of all the above is that clusterware on NODE2 is in an inconsistent state and CSS and its dependent processes cannot start . What I need to know is how the best way to get out of this situation and complete the upgrade to 11.1.0.7 on all 3 nodes of the cluster. Can I somehow deinstall clusterware on Node2 and reinstall it again independently of Nodes1 and 3 ???
Any help or advice would be greatly appreciated !
Thanks,
ShaunHello ShaunH,
Take a look on Metalink note 754095.1 This note may helps u.
Regards,
Rodrigo Mufalani
http://mufalani.blogspot.com -
"Arch By Hand" UEFI GPT SSD LUKS Install Script
Arch UEFI GPT LUKS (and non LUKS version) Automated Install Example Script, SSD friendly
Please note that if you're going to use this you're going to have to a) customize it to fit your needs and b) know what system config you need to do post install (rc.* etc). It's a jumping off point.
Want to put in a lot of effort just to get Arch Linux listed in your "bios" startup options? You're in the right post! Well, it's more than just that, of course. If you have an EFI machine, increasingly common, this might be of interest.
I got this working on my x220 tablet and thought I'd post it here. I imagine that as Archboot and the official installer rev we'll see them support this kind of thing as well, so BBS seemed like a good place to post it, but if there is an appropriate wiki location I could add it there as well.
This is pretty bare bones (otherwise you'd be using AIF or Archboot, natch) and should be customized for your own install purposes. Nonetheless, I suspect others may have been banging their heads on the low overhang of UEFI/GPT install and hope this helps them get up and running.
This is pretty much all in the wiki and BBS in various places, particularly the GRUB2 wiki entry. However the GPT partitioning (and learning more of sgdisk) were challenging enough that I felt it would be useful for others to see a working script.
I used the current-as-of-this-post Archboot iso (archlinux-2011.10-1-archboot.iso).
Don't just dd the archlinux iso to a usb. Format the USB stick as an MBR FAT drive and dump the entire Archboot ISO contents to it. To be honest, I did this in an Ubuntu vmware image I had on my mac, though I'd like to include command line options for doing this. TODO!
I also stuck the script (included herein) on the drive, but you could get it on the installation image at install time as well via scp or whatever you prefer.
On my x220 I then set the UEFI "BIOS" (the UEFI setup) to boot *ONLY* from UEFI. Pretty important. You should probably also stack your USB drive to top of your startup list or manually select it at boot time.
Boot from the USB stick. For my x220 I selected the second of the four efi grub options, x86_64.
Once Archboot is up, immediately leave the installer (option 8)
You may want to mount the usb drive to /src if you stuck this script on it. Archboot in UEFI mode doesn't seem to mount the usb drive properly (and the normal Archboot efi install will fail as well due to this). I think this is getting fixed in the next Archboot release, from what I've read on BBS.
# mount /dev/sdb1 /src
Run the script. For me this is
# /src/myarch.sh
(WARNING: will nuke everything on /dev/sda unless you've changed it).
There are probably things that could be done better/cleaner, feel free to point those out. This is really just a jumping off point.
UPDATE 15 NOV 2011: This now sources most packages locally to avoid kernel mismatch between install medium and install target.
UPDATE 16 NOV 2011: Script now unified the boot and efi partitions.
UPDATE 17 NOV 2011: Migrated code to github, including two versions (non-encrypted and LUKS-encrypted)
UPDATE 18 NOV 2011: Added encrypted swap
UPDATE 18 NOV 2011: Changed /boot/efi/grub to /boot/grub; removed extraneous /boot/efi directory entirely.
UPDATE 19 NOV 2011: Added a post-install script to handle user setup, etc. No reboot required.
UPDATE 20 NOV 2011: Post install section more complete, visudo automation added.
See code at: https://github.com/altercation/arch-by-hand
Last edited by altercation (2011-11-20 21:09:33)I've come up with this script (although it's not quite right either):
#!/bin/bash
# prereqs:
# mount /dev/sdb1 /src
set -o nounset
#set -o errexit
INSTALL_TARGET="/mnt"
HR="--------------------------------------------------------------------------------"
# Initialize
# Warn
timer=9
echo -n "This procedure will completely format /dev/sda. Please cancel with ctrl-c to cancel within $timer seconds..."
while [[ $timer -gt 0 ]]
do
sleep 1
let timer-=1
echo -en "$timer seconds..."
done
echo "Starting"
# Configure_Host
echo -e "\nFormatting disk...\n$HR"
# disk prep
sgdisk -Z /dev/sda # zap all on disk
sgdisk -a 2048 -o /dev/sda # new gpt disk 2048 alignment
# create partitions
sgdisk -n 1:0:+250M /dev/sda # partition 1 (UEFI BOOT), default start block, 250MB
sgdisk -n 2:0:+2G /dev/sda # partition 2 (SWAP), default start block, 2G
sgdisk -n 3:0:+100M /dev/sda # partition3, (BOOT), boot partition
sgdisk -n 4:0:+10G /dev/sda # partition 4, (ARCH), default start, remaining space
sgdisk -n 5:0:0 /dev/sda # partition 5, (HOME)
# set partition types
sgdisk -t 1:ef00 /dev/sda
sgdisk -t 2:8200 /dev/sda
sgdisk -t 3:8300 /dev/sda
sgdisk -t 4:8300 /dev/sda
sgdisk -t 5:8300 /dev/sda
# label partitions
sgdisk -c 1:"UEFI BOOT" /dev/sda
sgdisk -c 2:"SWAP" /dev/sda
sgdisk -c 3:"BOOT" /dev/sda
sgdisk -c 4:"ARCH" /dev/sda
sgdisk -c 5:"HOME" /dev/sda
# make filesystems
echo -e "\nCreating Filesystems...\n$HR"
mkfs.vfat /dev/sda1
mkswap /dev/sda2
mkfs.ext2 /dev/sda3
mkfs.ext4 /dev/sda4
mkfs.ext4 /dev/sda5
# Run /arch/setup
echo -n "Don't select Grub as your bootloader and exit setup before the Install Bootloader step"
/arch/setup
# unmount filesytems
umount /dev/sda1
swapoff /dev/sda2
umount /dev/sda3
umount /dev/sda5
# Get Network
echo -n "Waiting for network address.."
#dhclient eth0
dhcpcd -p eth0
echo -n "Network address acquired."
# Update Pacman
echo -e "\nUpdating pacman...\n$HR"
sed -i "s/^#S/S/" /etc/pacman.d/mirrorlist
pacman --noconfirm -Sy
pacman --noconfirm --needed -S pacman
pacman --noconfirm -S gptfdisk btrfs-progs-unstable
# Prepare to chroot to target
mv ${INSTALL_TARGET}/etc/resolv.conf ${INSTALL_TARGET}/etc/resolv.conf.orig
cp /etc/resolv.conf ${INSTALL_TARGET}/etc/resolv.conf
sed -i "s/^#S/S/" ${INSTALL_TARGET}/etc/pacman.d/mirrorlist
mount -t proc proc ${INSTALL_TARGET}/proc
mount -t sysfs sys ${INSTALL_TARGET}/sys
mount -o bind /dev ${INSTALL_TARGET}/dev
echo -e "${HR}\nINSTALL BASE COMPLETE\n${HR}"
# Write Files
# install_efi (to be run *after* chroot /install)
touch ${INSTALL_TARGET}/install_efi
chmod a+x ${INSTALL_TARGET}/install_efi
cat > ${INSTALL_TARGET}/install_efi <<EFIEOF
mount /boot
mount /boot/efi
modprobe efivars
modprobe dm-mod
pacman --noconfirm -Sy
pacman --noconfirm --needed -S pacman
pacman --noconfirm -R grub
pacman --noconfirm -S grub2-efi-i386
grub_efi_i386-install --root-directory=/boot/efi --boot-directory=/boot/efi/efi --bootloader-id=grub --no-floppy --recheck
efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "ARCH LINUX" --loader "\\EFI\\grub\\grub.efi"
grub-mkconfig -o /boot/efi/efi/grub/grub.cfg
exit
EFIEOF
# Install EFI
chroot /install /install_efi
rm /install/install_efi -
PI 7.11 sp5 post install steps - SLD update hangs in IE browser
Hello gurus,
This is my first shot at installing PI ever. We decided to go with PI 7.1 EHP1 and SP5. I think the latest may be SP6.
At any rate, we're doing this on AIX 6.1 and Oracle 10.2.0.4.
I followed the install Guide exactly. Did the sapinst, oracle and patch. Next, I manually updated the KERNEL, IGS , JVM, Then I updated SPAM, SAP_BASIS, then all the other abap components. Then did JSPM and all those components. Everything matches SP5 for PI 7.11
https://websmp204.sap-ag.de/maintenanceNWPI71
SAP_ABA 711 0005 SAPKA71105
SAP_BASIS 711 0005 SAPKB71105
PI_BASIS 711 0005 SAPK-71105INPIBASIS
ST-PI 2008_1_710 0003 SAPKITLRE3
SAP_BW 711 0005 SAPKW71105
ST-A/PI 01M_BCO710 0001 SAPKITAB8F
Now I'm doing the post install steps that are in the instguide. THere are tons of steps, but let me go over the big ones and where I'm having a problem:
READ ALL THESE NOTES:
Note 1309239 - Configuration Wizard: PI NetWeaver initial setup
Note 1286149 - Configuration Wizard: PI Self Test for NetWeaver
Note 1107808 - Collective Note: Configuration Wizard 7.1
Note 1286428 - Configuration Wizard: PI Wizard Templates overview
Note 1115280 - PI CTC: Running SAP NW for PI in a different client
At this point, based on being at PI 7.11 and SP5, I did the client copy. from 000 SAP_UCUS to my new 400 client. Then I did 001 SAP_USER to my new 400 client.
Then I followed the steps to link the java UME from 001 to 400. No problem after restarted SAP, it goes to 400.
Now, the next step as I see it is to run the initial config wizard out of NWA. I did that, no errors.
My problem is when I get to updating the SLD. I started at cimsap 1.5.42 and CRDelta 5.0....
I updated cimsap to the cimsap51509_1-20005942.zip which took me to 1.6.9
Next, I tried to import CRDelta51509_1-20005942.ZIP. I "browse" to find it during the import, but when I click the "IMPORT" button, my browser hangs...
I don't even get to the next page where it would be one more "warning/info" before I could really start the import.
I didn't find anything in the work directory or the cluster/server0/log directory.
I search all through SDN/OSS but could not find anyone who had this problem.
Where did I mess up? Are there other config wizards I should have run before I tried to update the SLD?
--NICKHey Caio,
Thanks for the response but it doesn't actually answer my question. But to that point, for a "basic" PI post install, which of the NWA config tasks would you run other than the "initial config" ? And would you run them BEFORE you updated the SLD content (cimsap/CRDelta) ?
NW: PI - AS ABAP (Basic Configuration for Idoc, Proxy): Maintain
PI Adapter Engine in JPR Mode
PI Demo Client
PI Full Qualified Host Name
PI Self Test for NetWeaver
PI SLD Self Registration
Specifically, I did the SAPINST - ABAP/JAVA patches - Client copy - and THEN the initial config wizard (Setup a new local SLD, ). Also, during the initial config, I clicked the box marked "This SLD will be used as a name server for development" and my PI server hostname was already in the box marked "object server name". This config took about 30 minutes. I didn't see any errors or warnings. although I didn't view the log. I did go into Java JEE services and Filter for Services with name "XPI". All were green.
THEN I tried to update the SLD content.
any thoughts appreciated.
NICK -
It's Christmas day, and I just got an IPOD Video and tried to install the software for it and ran into a whole mess of problems.
I tried to install ITunes 7 & Quicktime 7, but every time I try I get an error at the end of the installation saying something about a missing Install Script error and that i need to run "ISScript.msi" or contact support.
I have no idea what to do, and tried to find that file on microsoft.com, but the onlyint that comes up is "Virtual PC 2004" and not how to install it, but work around it.
any suggestions?The Install script engine on this machine is older than the version required to run this setup. If available, please install the lastest version of ISScript.msi or contact your support personnel for further assistance.
okay, let's try installing a version 11, using the instructions from the following InstallShield document:
Update to the Latest InstallShield Installation Engines
is that one of any help with the error message? -
#I hope its the right forum to post that in, if not im very sorry!
This here is a script i wrote to automate all the stuff i do after installing arch, i have several computers and it has options for a additional one
Some important points:
1) this script is very specific, its made for my computer and my needs, this means that its useful right now only to people who know bash
and will find use in altering it to their own needs, also if someone wants he can make it more general for a wider use
2) this is one of the first scripts i wrote, it may be that it doesn't implent some of its features in the best way possible
3) use it at your own risk, if it breaks your system don't blame me please, you should check it before you use it, anyway its meant to be used
on a FRESH arch install, not on a working system.
What the correct script actually does:
The script as stated in the comments does the next things:
1) First of all it consists of several files, one the "install" file is the actual script, the others are just meant to run the script and split its output to
show both on the terminal and in a file named: /var/log/MySysInstall.log, here is an example of main.install:
#!/bin/bash
./install Main | tee /var/log/MySysInstall.log
in the current script Main in the last row can be replaces with Laptop, Game for computer specific arguments or without argumets for a general install
the two files should be in the same folder, i think it could have been implented with one file but im new to scripting..
2) The script will ask some general questions to make sure everything is currect, some of the questions and checks in the script are not relevant at all
to anybody other than myself, they usually make sure that i have a samba shared partition running (it could lose connection on wireless).
3) Adds the archlinux.fr repo, it will be used for yaourt.
4) The script installs lots of stuff, at first general stuff used by all computers in my house, then stuff based on the argument given in 1)
please inspect the packages and change according to your needs
5) The script nano's to /etc/yaourtrc
6) Adds users to the system, change to your users.
7) It creates my /home/samba share dir if its not created (probably irrelevant to you)
8) Configures sudo in a nasty way that maybe can damage the sudoers file, delete this line if you dodnt know sudo well enough.
9) Edits samba if needed, this is the first line in the script that relies on additional files i have on my comp or the samba share (main and game are the same
comp (dual boot of arch32 and 64) and they are the hosts of /home/samba all the other computers will mount it from them, this is why a samba check is not
present here.).
10) Adds some commented lines to fstab and nano's it for easier configurations, this is the regular workflow in the script BTW (adding comments to the file
before editing it)
11) Helps edit the gpm daemon
12) Helps to configure alsa
13) Helps to configure xorg
14) Does some post install copies of files AND creates a file in my main users home with further instructions, mostly for stuff that needs to be done with xorg runnig
or stuff i was to lasy to add to the script
15) chowns and sets my regular permissions for user folders
16) ends the script
The script itself, ENJOY:
#!/bin/bash
# Copyright 2008 Leon Vayman
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# A copy of the GNU General Public License is found in
# <http://www.gnu.org/licenses/>.
#Check that the user updated the kernel and restarted before proceeding
while [ 1 ] ; do
echo ; clear
echo -n "Have you already used pacman -Syu and Restarted? (y/n) "
read Keypress
case "$Keypress" in
[Yy])
break
[Nn])
echo "Then do it now.."
exit
esac
done
#Check if samba is accesible and warn the user if its not (offering to quit)
if [ ! -e /home/samba/Config/ ] ; then
while [ 1 ] ; do
echo ; clear
echo -n "Samba is not accesible, do you want to proceed? (y/n) "
read Keypress
case "$Keypress" in
[Yy])
break
[Nn])
exit
esac
done
fi
#Make sure the app wasnt ran accidently with wrong arguments
while [ 1 ] ; do
echo ; clear
echo -n "The comp you are on is $1 is that correct? (y/n) "
read Keypress
case "$Keypress" in
[Yy])
break
[Nn])
exit
esac
done
#Edit /etc/pacman.conf
echo ; clear
echo >> /etc/pacman.conf
echo "[archlinuxfr]" >> /etc/pacman.conf
if [ "$1" = "Game" ] ; then
echo "Server = http://repo.archlinux.fr/x86_64" >> /etc/pacman.conf
else
echo "Server = http://repo.archlinux.fr/i686" >> /etc/pacman.conf
fi
echo -n "Make sure the right archlinux.fr repo was added "
read n1
nano /etc/pacman.conf
echo ; clear
#Install all packages
echo "Installing packages"
pacman -Syu
pacman -S yaourt
pacman -S xorg
pacman -S gstreamer0.10-plugins
yaourt -S abiword alsa-lib alsa-utils alsa-oss bash-completion cabextract centerim conky exaile hal epdfview feh freetype2 gamin gconf-editor geany gksu gmrun gnome-icon-theme gpicview \
gtk-engines zip irssi jre links-g libdvdcss tcl lxappearance lxpanel lxde-common lxrandr lxtask mesa moc mousepad mplayer-plugin numlockx openbox obconf obmenu openbox-themes \
p7zip pcmanfm pidgin pm-utils powertop screen terminal ttf-bitstream-vera ttf-dejavu ttf-freefont ttf-ms-fonts unace unrar unzip xarchiver xchat xmahjongg
yaourt -S stjerm
case "$1" in
"Laptop")
yaourt -S vlc keytouch keytouch-editor xf86-video-i810 synaptics cpufrequtils flashplugin
yaourt -S swiftweasel-pentium-3
yaourt -S wpa_supplicant-beta
yaourt -S xcompmgr-git
"Main")
yaourt -S flashplugin cpufrequtils epiphany catalyst deluge amule xmoto abs samba
yaourt -S icecat
yaourt -S xcompmgr-git
yaourt -S ekiga3
yaourt -S ov51x-jpeg
yaourt -S vlc-branch
yaourt -S brasero-no-gnome
"Game")
yaourt -S epiphany catalyst deluge amule xmoto abs samba ##!! add gnash or swfdec
yaourt -S icecat
yaourt -S ekiga3
yaourt -S ov51x-jpeg
yaourt -S vlc-branch
yaourt -S brasero-no-gnome
echo -n "No extra packages installed "
esac
echo -n "Press Enter to continue "
read n1
echo ; clear
#Configure yaourt.rc
echo -n "Replace the editor in yaourtrc "
read n1
nano /etc/yaourtrc
echo ; clear
#Add users
echo "Adding User vleon"
useradd -d /home/vleon -g users -G disk,wheel,games,video,audio,optical,storage,power,dbus,hal,avahi,log -m vleon
echo "Set vleon's password"
passwd vleon
echo ; clear
echo "Adding User masha"
useradd -d /home/masha -g users -G disk,wheel,games,video,audio,optical,storage,power,dbus,hal,avahi,log -m masha
echo "Set masha's password"
passwd masha
echo ; clear
#If for some reason samba dir doesnt exist, create it
if [ ! -e /home/samba ] ; then
mkdir /home/samba
chown vleon:users /home/samba
chmod 770 /home/samba
fi
#Configure visudo
echo -n "uncomment wheel in visudo and make sure the added lines are correct "
read n1
echo "#%power ALL=(ALL) NOPASSWD: /usr/sbin/pm-hibernate" >> /etc/sudoers
echo "#%power ALL=(ALL) NOPASSWD: /sbin/shutdown" >> /etc/sudoers
visudo
echo ; clear
#Edit samba if needed
if ( [ "$1" = "Main" ] || [ "$1" = "Game" ] ) ; then
echo -n "Edit swat "
read n1
cp /home/samba/Config/etc/xinetd.d/swat /etc/xinetd.d/swat
nano /etc/xinetd.d/swat
echo ; clear
echo -n "Edit Hosts "
read n1
cp /home/samba/Config/etc/hosts.allow /etc/hosts.allow
nano /etc/hosts.allow
echo ; clear
echo -n "Edit smb.conf "
read n1
cp /home/samba/Config/etc/samba/smb.conf /etc/samba/smb.conf
nano /etc/samba/smb.conf
echo ; clear
echo "Set vleon's samba password"
smbpasswd -a vleon
echo ; clear
echo -n "Add samba and xinetd daemon to rc.conf "
read n1
nano /etc/rc.conf
echo ; clear
fi
#Edit fstab
echo -n "Edit fstab "
read n1
echo >> /etc/fstab
if [ "$1" != "Laptop" ] ; then
echo "#UUID=92D8DA69D8DA4ADD /mnt/windows ntfs-3g defaults,noatime 0 0" >> /etc/fstab
if ( [ "$1" != "Main" ] && [ "$1" != "Game" ] ) ; then
echo "#UUID=0E15-1D06 /mnt/windows vfat defaults,noatime,umask=0000 0 0" >> /etc/fstab
echo "#//192.168.1.100/samba /home/samba cifs defaults,noatime,noauto,user=vleon%pass 0 0" >> /etc/fstab
echo "##change the above password!!" >> /etc/fstab
fi
nano /etc/fstab
echo ; clear
else
echo "#UUID=0E15-1D06 /mnt/windows vfat defaults,noatime,umask=0000 0 0" >> /etc/fstab
echo "#//192.168.1.100/samba /home/samba cifs defaults,noatime,noauto,user=vleon%pass 0 0" >> /etc/fstab
echo "##change the above password!!" >> /etc/fstab
nano /etc/fstab
echo ; clear
fi
#Edit gpm
echo -n "Edit gpm "
read n1
echo "#GPM_ARGS=\"-m /dev/input/mice -t imps2\"" >> /etc/conf.d/gpm
nano /etc/conf.d/gpm
echo ; clear
echo -n "Add gpm daemon to rc.conf "
read n1
nano /etc/rc.conf
echo ; clear
#Configure alsa
Alsa Config
test=1
echo -n "Edit alsamixer "
read n1
while [ "$test" = 1 ] ; do
alsamixer -V all
echo "Testing Sound"
aplay /usr/share/sounds/alsa/Noise.wav
while [ 1 ] ; do
echo ; clear
echo -n "Did You Hear Any Sound? (y/n) "
read Keypress
case "$Keypress" in
[Yy])
test=0
break
[Nn])
break
esac
done
done
alsactl store
echo -n "Add alsa to daemons "
read n1
nano /etc/rc.conf
echo ; clear
#Configure Xorg
if [ -e /home/samba/Config/etc/X11/ ] ; then
echo -n "Edit xorg.conf "
read n1
if ( [ "$1" = "Laptop" ] ) ; then
cp /home/samba/Config/etc/X11/laptop.xorg.conf /etc/X11/xorg.conf
else
cp /home/samba/Config/etc/X11/main.xorg.conf /etc/X11/xorg.conf
fi
nano /etc/X11/xorg.conf
echo ; clear
echo -n "add \"ru\" to xorg.conf.mom "
read n1
cp etc/X11/xorg.conf etc/X11/xorg.conf.mom
nano /etc/X11/xorg.conf.mom
echo ; clear
else
echo -n "No samba connection found, manually editing xorg.conf "
read n1
X -configure
mv /root/xorg.conf.new /etc/X11/xorg.conf
echo >> /etc/X11/xorg.conf
echo "# Option \"XkbLayout\" \"us,il\"" >> /etc/X11/xorg.conf
echo "# Option \"XkbOptions\" \"grp:alt_shift_toggle,grp_led:scroll\"" >> /etc/X11/xorg.conf
echo "# DefaultDepth 24" >> /etc/X11/xorg.conf
echo "# Modes \"1680x1050\" \"1280x1024\" \"1024x768\" \"800x600\"" >> /etc/X11/xorg.conf
if [ "$1" = "Laptop" ] ; then
echo >> /etc/X11/xorg.conf
echo "#Section \"InputDevice\"" >> /etc/X11/xorg.conf
echo "# Identifier \"Touchpad\"" >> /etc/X11/xorg.conf
echo "# Driver \"synaptics\"" >> /etc/X11/xorg.conf
echo "# Option \"Device\" \"/dev/input/mouse0\"" >> /etc/X11/xorg.conf
echo "# Option \"Protocol\" \"auto-dev\"" >> /etc/X11/xorg.conf
echo "# Option \"LeftEdge\" \"1700\"" >> /etc/X11/xorg.conf
echo "# Option \"RightEdge\" \"5300\"" >> /etc/X11/xorg.conf
echo "# Option \"TopEdge\" \"1700\"" >> /etc/X11/xorg.conf
echo "# Option \"BottomEdge\" \"4200\"" >> /etc/X11/xorg.conf
echo "# Option \"FingerLow\" \"25\"" >> /etc/X11/xorg.conf
echo "# Option \"FingerHigh\" \"30\"" >> /etc/X11/xorg.conf
echo "# Option \"FingerPress\" \"100\"" >> /etc/X11/xorg.conf
echo "# Option \"MaxTapTime\" \"180\"" >> /etc/X11/xorg.conf
echo "# Option \"MaxTapMove\" \"220\"" >> /etc/X11/xorg.conf
echo "# Option \"VertScrollDelta\" \"100\"" >> /etc/X11/xorg.conf
echo "# Option \"MinSpeed\" \"0.06\"" >> /etc/X11/xorg.conf
echo "# Option \"MaxSpeed\" \"0.12\"" >> /etc/X11/xorg.conf
echo "# Option \"AccelFactor\" \"0.0010\"" >> /etc/X11/xorg.conf
echo "# Option \"SHMConfig\" \"on\"" >> /etc/X11/xorg.conf
echo "#EndSection" >> /etc/X11/xorg.conf
fi
echo -n "Edit xorg.conf "
read n1
nano /etc/X11/xorg.conf
echo ; clear
echo -n "add \"ru\" to xorg.conf.mom "
read n1
cp etc/X11/xorg.conf etc/X11/xorg.conf.mom
nano /etc/X11/xorg.conf.mom
echo ; clear
fi
#Start the post install document and copy files to homes if able and need to
echo "Post Installation Instructions" > /home/vleon/PostInstall.txt
echo "------------------------------" >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "Usage: Follow the instructions and delete the lines that are not relevant anymore. you can delete" >> /home/vleon/PostInstall.txt
echo " this file after you finished." >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "-------------------------------------------------------------------------------------------------" >> /home/vleon/PostInstall.txt
if [ ! -e /home/vleon/.config] ; then
if [ -e /home/samba/Config/ ] ; then
cp /home/samba/Config/.bash_profile /home/vleon/ ; cp /home/samba/Config/.bash_profile /home/masha/
cp /home/samba/Config/.bashrc /home/vleon/ ; cp /home/samba/Config/.bashrc /home/masha/
cp /home/samba/Config/.xinitrc /home/vleon/ ; cp /home/samba/Config/.xinitrc /home/masha/
cp /home/samba/Config/.xserverrc /home/masha/
mkdir -p /home/vleon/.config/openbox ; mkdir -p /home/masha/.config/openbox
cp /home/samba/Config/.config/openbox/rc.xml /home/vleon/.config/openbox/ ; cp /home/samba/Config/.config/openbox/rc.xml /home/masha/.config/openbox/
if [ "$1" = "Laptop" ] ; then
cp /home/samba/Config/.conkyrc.laptop /home/vleon/.conkyrc ; cp /home/samba/Config/.conkyrc.laptop /home/masha/.conkyrc
cp /home/samba/Config/.Xdefaults.laptop /home/vleon/.Xdefaults ; cp /home/samba/Config/.Xdefaults.laptop /home/masha/.Xdefaults
cp /home/samba/Config/.config/openbox/menu.xml.laptop /home/vleon/.config/openbox/menu.xml
cp /home/samba/Config/.config/openbox/menu.xml.laptop /home/masha/.config/openbox/menu.xml
cp /home/samba/Config/.config/openbox/autostart.sh.laptop /home/vleon/.config/openbox/autostart.sh
cp /home/samba/Config/.config/openbox/autostart.sh.laptop /home/masha/.config/openbox/autostart.sh
else
if ( [ "$1" != "Main" ] && [ "$1" != "Game" ] )
cp /home/samba/Config/.conkyrc.laptop /home/vleon/.conkyrc ; cp /home/samba/Config/.conkyrc.laptop /home/masha/.conkyrc
else
cp /home/samba/Config/.conkyrc.main /home/vleon/.conkyrc ; cp /home/samba/Config/.conkyrc.main /home/masha/.conkyrc
fi
cp /home/samba/Config/.Xdefaults.main /home/vleon/.Xdefaults ; cp /home/samba/Config/.Xdefaults.main /home/masha/.Xdefaults
cp /home/samba/Config/.config/openbox/menu.xml.main /home/vleon/.config/openbox/menu.xml
cp /home/samba/Config/.config/openbox/menu.xml.main /home/masha/.config/openbox/menu.xml
cp /home/samba/Config/.config/openbox/autostart.sh.main /home/vleon/.config/openbox/autostart.sh
cp /home/samba/Config/.config/openbox/autostart.sh.main /home/masha/.config/openbox/autostart.sh
fi
else
echo >> /home/vleon/PostInstall.txt
echo "!!Samba is not availble, you will have to create the following files yourself!!" >> /home/vleon/PostInstall.txt
fi
echo >> /home/vleon/PostInstall.txt
echo "The folowing files where probably created in your home folders:" >> /home/vleon/PostInstall.txt
echo ".bash_profile" >> /home/vleon/PostInstall.txt
echo ".bashrc" >> /home/vleon/PostInstall.txt
echo ".conkyrc" >> /home/vleon/PostInstall.txt
echo ".Xdefaults" >> /home/vleon/PostInstall.txt
echo ".xinitrc" >> /home/vleon/PostInstall.txt
echo ".xserverrc #<< only to /home/masha" >> /home/vleon/PostInstall.txt
echo ".config/openbox/autostart.sh" >> /home/vleon/PostInstall.txt
echo ".config/openbox/menu.xml" >> /home/vleon/PostInstall.txt
echo ".config/openbox/rc.xml" >> /home/vleon/PostInstall.txt
echo "!!Make sure the above files created and are configured properly!!" >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "Configuration Guidelines:" >> /home/vleon/PostInstall.txt
echo "1) make sure width and hight are correct .Xdefaults" >> /home/vleon/PostInstall.txt
echo "2) make sure to comment the \"xcompmgr\" line in autostart.sh, to fit the Computer and User" >> /home/vleon/PostInstall.txt
echo "3) use obmenu and obconf later to tune up stuff" >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "-------------------------------------------------------------------------------------------------" >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "rc.conf Guidelines:" >> /home/vleon/PostInstall.txt
echo "1) possible modules are: powernow-k8 or acpi-cpufreq, cpufreq_ondemand, ov51x-jpeg, fglrx" >> /home/vleon/PostInstall.txt
echo "2) possible daemons are: hal, cpufreq, acpid [laptop], netfs, keytouch" >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "-------------------------------------------------------------------------------------------------" >> /home/vleon/PostInstall.txt
echo >> /home/vleon/PostInstall.txt
echo "General Guidelines:" >> /home/vleon/PostInstall.txt
echo "1) copy or compare the files from /home/samba/Config/etc to /etc" >> /home/vleon/PostInstall.txt
echo "2) on the laptop, dont forget to add the additional scripts needed from the /home/samba/Config/, dont forget to backup replaced files" >> /home/vleon/PostInstall.txt
echo "3) add resume=/dev/sda3 to /boot/grub/menu.lst if its not there already" >> /home/vleon/PostInstall.txt
echo "4) dont Forget to configure gksu after launching X" >> /home/vleon/PostInstall.txt
echo "5) lauch and configure all the apps in the menu and the cmdline apps links -g, mocp, irssi, centerim" >> /home/vleon/PostInstall.txt
echo "6) test logout, reboot, shutdown and hibernate" >> /home/vleon/PostInstall.txt
echo "7) configure keytouch on the laptop" >> /home/vleon/PostInstall.txt
echo "8) if it doesnt exist mkdir ~/.Theme for both users and add a jpg picture named theme.jpg to be the wallpaper" >> /home/vleon/PostInstall.txt
echo "9) read /var/log/MySysInstall.log and make sure all was succesfull especialy AUR install's like icecat or iceweasel" >> /home/vleon/PostInstall.txt
echo "10) run lxappearance, configure lxpanel, configure terminal" >> /home/vleon/PostInstall.txt
echo "11) run powertop after you restart again with all the modules and daemons and other stuff configured" >> /home/vleon/PostInstall.txt
#Return ownership to the approtiate users
chown -R vleon:users /home/vleon ; chown -R masha:users /home/masha
chmod /home/vleon 750 ; chmod /home/masha 750
chmod /home/vleon/.config 750 ; chmod /home/masha/config 750
chmod /home/vleon/.config/openbox 750 ; chmod /home/vleon/.config/openbox 750
#End
echo "Install Finished, please additional instructions where created in /home/vleon/PostInstall.txt"
read n1
exitluckystar09 - I'd say you're on your own there. This thread is nearly a year old, and Black Mage hasn't posted here since. Read the script, and modify it yourself as required.
Forum rule - do not post in threads that have been inactive for six months of more. See here for full details.
Closed. -
Info about post installation - erp 6
hi to everyone...
i have finished intallation of erp 6 ids..
and im looking for some pdf that includes all the informetion about the post instalation of a system
thing like:
registretion
logical system
stms post install
xyz system
copy client
sp
and all the rest...
does this info is exist in one???
thanks alot- yossiHi,
Please look at this
[Postinsatllation steps |http://sapbasiss.blogspot.com/2008/03/post-installation-steps-for-ecc-60.html]
Thanks,
Muralidhar
Maybe you are looking for
-
Using a European Mac Pro in the States.
Is there anything i should know before plugin it in? Any risks?
-
Need to separate drive alerts with Logical Disk Free Space monitoring in SCOM 2012
I have an interesting need here to separate our SCOM alerts for Logical Disk Free space so that one alert is for OSSystem drives ONLY (C:/D:) and the other monitor alerts on all APP drives only (E:, etc). So far we have had great success using Kevin
-
I was referred here from another thread, see http://community.office365.com/en-us/f/158/p/245124/778388.aspx#778388but not sure if this is the right forum, so please move/correct my posting if needed! It's a exchange/Outlook365 query, relating to sig
-
Always Find (Cntrl+F) From Top of Page
I have a question about using the find box (cntrl+F) to search for text on a page. I often search for some text, then hit cntrl+f to search for something new, and again...but find it annoying that it searches from my current position on the page. Is
-
hi friends, please could you help let me know. hoiw to display the hierachical list for the data using alv eports. example: header having the item details in the below . thanks in adv.