| Line 22... |
Line 22... |
| 22 |
Transfer a PackageList for future cleanup operations
|
22 |
Transfer a PackageList for future cleanup operations
|
| 23 |
Logging and debug facilities
|
23 |
Logging and debug facilities
|
| 24 |
|
24 |
|
| 25 |
Overview of Blat
|
25 |
Overview of Blat
|
| 26 |
---------------
|
26 |
---------------
|
| 27 |
There are two main components in Blat
|
27 |
There are three main components in Blat
|
| 28 |
Daemon supervisor
|
28 |
Daemon supervisor
|
| 29 |
Responsible for start and restarting configured daemons
|
29 |
Responsible for start and restarting configured daemons
|
| 30 |
Transfer Daemons
|
30 |
Transfer Daemons
|
| 31 |
Responsible for the package sync operations for one target
|
31 |
Responsible for the package sync operations for one target
|
| 32 |
Multiple Daemons ( targets ) are supported
|
32 |
Multiple Daemons ( targets ) are supported
|
| - |
|
33 |
On Target utilities
|
| - |
|
34 |
A set of scripts that support Blat
|
| - |
|
35 |
These are transferred to the target machine.
|
| 33 |
|
36 |
|
| 34 |
Each Blat Daemon performs three main operations
|
37 |
Each Blat Daemon performs three main operations
|
| 35 |
1) Fast package transfer
|
38 |
1) Fast package transfer
|
| 36 |
2) Repository synchronization
|
39 |
2) Repository synchronization
|
| 37 |
3) PackageList creation
|
40 |
3) PackageList creation
|
| - |
|
41 |
4) Package aging (Optional)
|
| - |
|
42 |
|
| - |
|
43 |
Each Blat target can perform the following:
|
| - |
|
44 |
1) Package aging
|
| - |
|
45 |
2) dpkg_archive content indexing
|
| 38 |
|
46 |
|
| 39 |
Fast package transfer
|
47 |
Fast package transfer
|
| 40 |
===============================
|
48 |
===============================
|
| 41 |
This is mechanism whereby Blat will detect the need to transfer a newly built
|
49 |
This is mechanism whereby Blat will detect the need to transfer a newly built
|
| 42 |
package to the target system.
|
50 |
package to the target system.
|
| Line 74... |
Line 82... |
| 74 |
===============================
|
82 |
===============================
|
| 75 |
Blat will create and send to the target a list of package-version that are
|
83 |
Blat will create and send to the target a list of package-version that are
|
| 76 |
in the current set. This list may be used to clean out the package archive,
|
84 |
in the current set. This list may be used to clean out the package archive,
|
| 77 |
but this functionality has not yet been implemented.
|
85 |
but this functionality has not yet been implemented.
|
| 78 |
|
86 |
|
| - |
|
87 |
Package aging
|
| - |
|
88 |
=============
|
| - |
|
89 |
Blat can be configured to delete packages that are no longer a part of the
|
| - |
|
90 |
current package-version set. There are 4 methods:
|
| - |
|
91 |
|
| - |
|
92 |
1) None
|
| - |
|
93 |
Packages will never be deleted by Blat on the target.
|
| - |
|
94 |
The target file system will need to be managed to prevent it filling up.
|
| - |
|
95 |
|
| - |
|
96 |
2) Immediate
|
| - |
|
97 |
Packages will be deleted as soon as they are not a part of the current
|
| - |
|
98 |
package-version set.
|
| - |
|
99 |
|
| - |
|
100 |
3) Aged by blat master
|
| - |
|
101 |
Packages will be marked for deletion and the blat master will delete
|
| - |
|
102 |
the packages after a configured number of days.
|
| - |
|
103 |
|
| - |
|
104 |
4) Aged by blat target
|
| - |
|
105 |
Packages will be marked for deletion and the blat target will delete
|
| - |
|
106 |
the packages after a configured number of days. This operation requires
|
| - |
|
107 |
that a cron job be configured on the target machine.
|
| - |
|
108 |
|
| - |
|
109 |
dpkg_archive content indexing
|
| - |
|
110 |
=============================
|
| - |
|
111 |
Blat provides a utility that can be run by the transfer target, as a cron job,
|
| - |
|
112 |
that will maintain a list of files and folders in the package archive.
|
| - |
|
113 |
|
| - |
|
114 |
This list greatly simplifies the process of locating a file in the archive.
|
| - |
|
115 |
The user simply greps the package list, rather than search the directory tree.
|
| - |
|
116 |
|
| - |
|
117 |
The file list is in a file .../dpkg_archive/.dpkg_archive/dpkg_archive_list.txt
|
| - |
|
118 |
|
| 79 |
|
119 |
|
| 80 |
Host System Requirements
|
120 |
Host System Requirements
|
| 81 |
========================
|
121 |
========================
|
| 82 |
1) Unix
|
122 |
1) Unix
|
| 83 |
It has been designed for a Unix environment - not Windows
|
123 |
It has been designed for a Unix environment - not Windows
|
| Line 130... |
Line 170... |
| 130 |
The config file should be in a 'config' directory under the location
|
170 |
The config file should be in a 'config' directory under the location
|
| 131 |
of the blat master program.
|
171 |
of the blat master program.
|
| 132 |
|
172 |
|
| 133 |
Installation :: Target System
|
173 |
Installation :: Target System
|
| 134 |
=============================
|
174 |
=============================
|
| 135 |
1) Create or aquire a user that has write access to the packaeg archive
|
175 |
1) Create or acquire a user that has write access to the package archive
|
| 136 |
|
176 |
|
| 137 |
2) Create or aquire a passwordless identity file and associated public key
|
177 |
2) Create or acquire a passwordless identity file and associated public key
|
| 138 |
of the identity file. One set is available in the 'ssh' subdirectory.
|
178 |
of the identity file. One set is available in the 'ssh' subdirectory.
|
| 139 |
|
179 |
|
| 140 |
Append the public part of the idenity file (id_rsa_pkg_admin.pub) to
|
180 |
Append the public part of the identity file (id_rsa_pkg_admin.pub) to
|
| 141 |
~/.ssh/authorized_keys
|
181 |
~/.ssh/authorized_keys
|
| 142 |
|
182 |
|
| 143 |
3) Create a link from the users home directory to dpkg_archive
|
183 |
3) Create a link from the users home directory to dpkg_archive
|
| 144 |
The must be called dpkg_archive
|
184 |
The must be called dpkg_archive
|
| 145 |
|
185 |
|
| 146 |
4) Transfer the blat receiver scripts to a directory accessable to the
|
186 |
4) Transfer the blat receiver scripts to a directory accessible to the
|
| 147 |
transfer user. ie: ~/bin
|
187 |
transfer user. ie: ~/bin
|
| 148 |
The reqired receiver files are:
|
188 |
The required receiver files are:
|
| 149 |
get_plist.pl
|
189 |
get_plist.pl
|
| 150 |
receive_file
|
190 |
receive_file
|
| 151 |
receive_package
|
191 |
receive_package
|
| 152 |
delete_package
|
192 |
delete_package
|
| - |
|
193 |
pkg_mon.pl
|
| - |
|
194 |
pkg_purge.pl
|
| 153 |
Ensure the programs are execuatable by the transfer user.
|
195 |
Ensure the programs are executable by the transfer user.
|
| - |
|
196 |
|
| - |
|
197 |
5) Set up cron jobs (optional)
|
| - |
|
198 |
Will be used to maintain package information
|
| - |
|
199 |
Suggest crontab entry - may vary for each installation
|
| - |
|
200 |
|
| - |
|
201 |
0 3 * * * /home/pkg_admin/bin/pkg_mon.pl
|
| - |
|
202 |
0 6 * * 1 /home/pkg_admin/bin/pkg_purge.pl
|
| 154 |
|
203 |
|
| 155 |
Installation :: Host System
|
204 |
Installation :: Host System
|
| 156 |
=============================
|
205 |
=============================
|
| 157 |
This section really deals with the configuration of a new target.
|
206 |
This section really deals with the configuration of a new target.
|
| 158 |
|
207 |
|
| Line 176... |
Line 225... |
| 176 |
Will force the daemon to roll its own log files
|
225 |
Will force the daemon to roll its own log files
|
| 177 |
|
226 |
|
| 178 |
Debug verbosity is controlled via the 'verbose' config item
|
227 |
Debug verbosity is controlled via the 'verbose' config item
|
| 179 |
|
228 |
|
| 180 |
The pkg.xxxx config items are very special.
|
229 |
The pkg.xxxx config items are very special.
|
| 181 |
If the named package-versio is a symlink, then both the
|
230 |
If the named package-version is a symlink, then both the
|
| 182 |
link and the liink the package addresses will be transferred.
|
231 |
link and the package addresses will be transferred.
|
| 183 |
The link MUST address another version of the same package.
|
232 |
The link MUST address another version of the same package.
|
| 184 |
This is intended to support the 'jats2_current' link.
|
233 |
This is intended to support the 'jats2_current' link.
|
| 185 |
When a new version of JATS is released, then the new package
|
234 |
When a new version of JATS is released, then the new package
|
| 186 |
will be transferred, as will the new link.
|
235 |
will be transferred, as will the new link.
|
| 187 |
|
236 |
|
| Line 199... |
Line 248... |
| 199 |
g - Gigabytes
|
248 |
g - Gigabytes
|
| 200 |
|
249 |
|
| 201 |
|
250 |
|
| 202 |
ToDo
|
251 |
ToDo
|
| 203 |
======================
|
252 |
======================
|
| 204 |
|
- |
|
| 205 |
1) Purging packages on target
|
- |
|
| 206 |
Can set deletePackages to delete excess packages when the release sync
|
- |
|
| 207 |
is performed.
|
- |
|
| 208 |
|
- |
|
| 209 |
2) Better handling of soft-links for core_devl
|
253 |
1) Better handling of soft-links for core_devl
|
| 210 |
Works, but its prone to error
|
254 |
Works, but its prone to error
|
| 211 |
There is no test to ensure the link exists. If the link
|
255 |
There is no test to ensure the link exists. If the link
|
| 212 |
is deleted, then it won't be recreated.
|
256 |
is deleted, then it won't be recreated.
|