Thanks for this post. I will study it and see if it solves my issue From: [email protected] To: [email protected] Date: Fri, 4 Apr 2014 19:38:21 +0600 Subject: Re: [oi-dev] beginners customized distro_const question
Creating OpenSolaris 2009.06 repository The procedure for setting the repository consists of the following stages: - Preparation of ISO-image from the OpenSolaris repository - Preparation of the file system - Copy the contents of the image repository - Setting up a server through the services - Configure client and server health check - Upgrading packages and fix checksums - Final testing Next, consider what to do at each stage. Obtaining ISO-image with the repository OpenSolaris So to set up a repository, we need an image repository containing packages it can be downloaded, such as genunix.org or sun.com, or more precisely as follows: # Wget http://www.genunix.org/dist/indiana/osol-repo-0906-full.iso or as follows: # Wget http://dlc.sun.com.edgesuite.net/osol/opensolaris/2009/06/osol-repo-0906-full.iso The repository can be downloaded in the form of 2-images that fit on a DVD-disk capacity 4.7GB, either as a single image the size of about 7.2 GB. These links point to the repository in a single image. However, the version in two images can be found close by. Preparation filesystem Create a separate ZFS file system for that would place her repository. Separate file systems and ZFS repository gives us the following Advantages: l results in better performance l Ability to set individual parameters for the file system, such as compression and update access time l Create snapshots and backups of the file system to the repository To save disk space applies compression (optional compression), and for improve performance, disable access time updates (optional atime). Naturally, all the team here and should continue to run as superuser. Create: # Zfs create-o compression = on-o atime = off rpool / repo Now we have a file system repository and the actual data itself in image, copy the data from the image to your hard drive. Copying the contents of the image repository To copy the data you need to mount the image repository, and then copy all data prepared in the previous step, place: # Mount-F hsfs $ (lofiadm-a / downloads/osol-repo-0906-full.iso) / mnt # Rsync-aP / mnt / repo / rpool / repo Please note: no trailing slash ways fundamentally (for details, refer to the man rsync.). Once copied image repository can unmount: # Umount / mnt # Lofiadm-d / dev/lofi/1 The last line can be different depending on the number of connected active the devices. So repository obtained and copied proceed to configure the service. Setting up the server through the services Now we need to set up housekeeping service repository, its executable The file is located in / usr / lib and called pkg.depotd (for details see man pkg.depotd). Please specify the root directory of our repository which we have prepared previously: # Svccfg-s pkg / server setprop pkg / inst_root = / rpool / repo / repo Optionally, you can specify the port (default is 80). Set the value to 10000: # Svccfg-s pkg / server setprop pkg / port = 10000 Copy the configuration file and specify the path for the service: # Cp-p / rpool / repo / repo / cfg_cache / rpool / repo / # Svccfg-s pkg / server setprop pkg / cfg_file = / rpool / repo / cfg_cache Next, we correct the configuration file: # Vi / rpool / repo / cfg_cache Need to change the setting origins and specify the address of the repository for available for network name, such http://sunadm.spb.su:10000. Optional, but you can change some other settings and add the name of your organization eg. Then you can check if we changed the tincture: # Svcadm refresh application / pkg / server # Svcprop pkg / server And see in the output of the last command made whether our changes. If everything is in order run the service: # Svcadm restart application / pkg / server # Svcadm enable application / pkg / server The configuration repository is finished. Then configure the client to use our repository and verify that it is working, and then update the repository and carry out a final check. To configure the client and server health check The client can use our repository or as the main repository or as mirror repository pkg.opensolaris.org. When using our repository as a mirror we lose autonomy. In this case, the client performs the search and other operations metadata using the primary server pkg.opensolaris.org, when you install the package if it present on our mirror he downloaded from him. When you reach the main server our system will not work. When using our repository as the core, all interaction only be with him and our system will gain autonomy. But Then, if our repository is not updated we will not be the latest version available packets. To install our repository as mirrors should pkg.opensolaris.org execute on the client: # Pkg set-publisher-m http://sunadm.spb.su:10000 opensolaris.org to set as the main repository: # Pkg set-publisher-PO http://sunadm.spb.su:10000 vniira.spb.su Once the repository is set up and connected can check it. For example update Our data repository, try to update the system, if possible and install the package, such as nmap: # Pkg refresh-full # Pkg image-update # Pkg search nmap # Pkg install SUNWnmap If all goes well, then the repository is functioning normally. Unfortunately repository version of the ISO image is old enough and therefore not relevant raises the question of updating it, proceed to the next step. Update packages and fix checksums In order to have the current version of the repository in theory there are 3 ways (Maybe more): - Setting repository pumping out all packages through pkgrecv / pkgsend (Http://developers.sun.ru/content/view/338/31/) - Synchronization via rsync, I have to practice and did not work. Or were crammed all 8 possible connections or remote server does not answer this port - Synchronization with a script language Python ips-mirror.py written by Andrzej Szeszo and laid out in his blog at http://aszeszo.blogspot.com/2009/07/ipsrepository- mirror-script_27.html In this tutorial, we will look at the third method, you will need two script ipsmirror. py for synchronization and ips_check.py to troubleshoot control sums. Download them and copy to the root of our repository: # Wget http://aszeszo.googlepages.com/ips-mirror.py # Wget http://github.com/seisen/opensolaris-scripts/raw/master/ips/ips_check.py # Cp ips-mirror.py / rpool / repo / repo # Cp ips_check.py / rpool / repo / repo Now run ips-mirror.py, like this: # Cd / rpool / repo / repo # Python ips-mirror.py-l-a i386 http://pkg.opensolaris.org/release The script will check the contents of the repository OpenSolaris, check the contents of your repository, update the manifest and packages remove the older versions. The-l switch indicates that we need only the latest packages and the key-a architecture. For a complete list of keys, run the script with no parameters. Often it turns out that in the course of downloading and updating some packages repository damaged and as a result when you try that either set can be seen around this error: pkg: Maximum number of network retries exceeded during download. Details follow: Invalid content for action with path usr/lib/python2.4/vendorpackages / radialnet / gui / HostsViewer.py chash failure: expected: 4a28ca3c93af77363b82a1aa442f9f88b49b7d65 computed: a71f073fa1949496173dcf69675ee8d1f8f67262. (Happened 4 times) It will help us correcting script ips_check.py, run it like this: # Cd / rpool / repo / repo # Python ips_check.py - dir =. / This script will check all the checksums and remove packages that it does not true. Accordingly, after he completed if there were reports of damaged packages should run the script again ips-mirror.py with the same parameters as primarily for missing packets. Then check again with the help of ips_check.py, that's all right. Now you need to run the server once with the key-rebuild for what he recreates catalog. As it is necessary to rebuild the search indexes, and then can activate the server normally through the services. Making it all the way: # Cd / rpool / repo / repo # / Usr / lib / pkg.depotd-d $ (pwd)-p 10000-rebuild wait until he finally start then push further: # Rm-rf. / Index / * # / Usr / lib / pkg.depotd-d $ (pwd)-p 10000-refresh-index wait again until he okonchaleno then click Start, then: # Svcadm enable pkg / server On this server upgrade is complete, check it as the previous time: # Pkg refresh - full # Pkg image-update # Pkg search nmap # Pkg install SUNWnmap Now you have your new repository OpenSolaris. Further Update can be carried out by the same scheme. Repository also can be written to a file and then disk (as defined herein http://developers.sun.ru/content/view/338/31/), that would be with someone share or just to have a backup: # Zfs snapshot rpool / repo @ distrib # Zfs send rpool / repo @ distrib> repo.distrib.zfs If everything works, then that's it. -- http://www.arhipkin.com Я на Facebook: http://www.facebook.com/ilya.arhipkin Я на Facebook: http://www.facebook.com/profile.php?id=100000965843704 _______________________________________________ oi-dev mailing list [email protected] http://openindiana.org/mailman/listinfo/oi-dev
_______________________________________________ oi-dev mailing list [email protected] http://openindiana.org/mailman/listinfo/oi-dev
