<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-27207858</id><updated>2011-08-24T12:38:54.593Z</updated><title type='text'>Artículos Técnicos</title><subtitle type='html'>Artículos Tecnicos y Procedimientos (creado por Pablo Saitta - pablo.saitta@gmail.com)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-27207858.post-2005079797283034998</id><published>2010-11-26T22:12:00.000Z</published><updated>2010-11-26T22:12:11.623Z</updated><title type='text'>Ampliación Soft Patitions - No destructivo (Solaris Volume Manager)</title><content type='html'>Para realizar una ampliación de un filesystem montado sobre una soft partition debemos realizar lo siguiente:&lt;br /&gt;Primero supongamos que tenemos un volúmen de 100Gb en un concat denominado d100, sobre el mismo tenemos una soft partition de 50 Gb denominada d101 la cual es monatada en el filesystem /backups.&lt;br /&gt;Ahora, nuestra intención es llevar este filesystem a 80 Gb. Para esto hacemos como sigue:&lt;br /&gt;&lt;br /&gt;1) agregamos los 30 Gb al metadispositivo, en este caso la soft partition de la siguiente forma:&lt;br /&gt;# metattach d101 30Gb&lt;br /&gt;&lt;br /&gt;2) Luego hacemos tomar los cambios en forma no destructiva&lt;br /&gt;# growfs -M /backups /dev/md/rdsk/d101&lt;br /&gt;&lt;br /&gt;De esta forma agregamos los 30 Gb&lt;br /&gt;Si quisieramos agregar el total disponible sobre el concat debemos proceder como sigue:&lt;br /&gt;&lt;br /&gt;1) agregamos el total disponible sobre el concat así:&lt;br /&gt;# metattach d101 all&lt;br /&gt;&lt;br /&gt;2) ahora hacemos crecer el filesystem como antes&lt;br /&gt;#growfs -M /backups /dev/md/rdsk/d101&lt;br /&gt;&lt;br /&gt;En el caso de que no dispongamos de mas espacio en el metadispositivo, podemos hacer crecer el filesystem en cuestión agregando un slice físico en primera instancia al concat d100. En este caso el procedimiento sería de la siguiente forma (suponiendo que el dispositivo a agregar sea /dev/rdsk/c2t20d0s7&lt;br /&gt;&lt;br /&gt;1) agregamos el slice físico al concat como sigue:&lt;br /&gt;# metattach d100 c2t20d0s7&lt;br /&gt;&lt;br /&gt;2) una vez agregado el espacio físico al concat podemos hacer crecer la soft partition&lt;br /&gt;# metattach d101 all&lt;br /&gt;&lt;br /&gt;3) luego hacemos crecer el filesystem&lt;br /&gt;# growfs -M /backups /dev/md/rdsk/d101&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-2005079797283034998?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/2005079797283034998/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=2005079797283034998&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/2005079797283034998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/2005079797283034998'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2010/11/ampliacion-soft-patitions-no.html' title='Ampliación Soft Patitions - No destructivo (Solaris Volume Manager)'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-3307289995470913415</id><published>2008-05-15T15:11:00.004Z</published><updated>2008-05-15T15:20:16.191Z</updated><title type='text'>Crear zonas en Solaris 10</title><content type='html'>Esto es un Howto extraido de Internet que funciona 10ptos. Le agradezco muchisimo a la persona que lo creo y está publicado en la siguiente página:&lt;br /&gt;http://www.geekmechanics.net/node/68&lt;br /&gt;&lt;br /&gt;"Una lista de pasos a seguir y al terminar, tendrás una nueva Zona en Solaris 10.&lt;br /&gt;&lt;br /&gt;Crear Directorio donde se almacenarán los archivos de la Zona&lt;br /&gt;# mkdir -p /Zones/gm&lt;br /&gt;&lt;br /&gt;Crear la zona usando zonecfg&lt;br /&gt;# zonecfg -z gm&lt;br /&gt;&lt;br /&gt;gm: No such zone configured&lt;br /&gt;Use 'create' to begin configuring a new zone&lt;br /&gt;zonecfg:gm&gt; create&lt;br /&gt;zonecfg:gm&gt; set zonepath=/Zones/gm&lt;br /&gt;zonecfg:gm&gt; add net&lt;br /&gt;zonecfg:gm:net&gt; set address=192.168.100.14&lt;br /&gt;zonecfg:gm:net&gt; set physical=hme0&lt;br /&gt;zonecfg:gm:net&gt; end&lt;br /&gt;zonecfg:gm&gt; set autoboot=true&lt;br /&gt;&lt;br /&gt;zonecfg:gm&gt; info&lt;br /&gt;zonepath: /Zones/gm&lt;br /&gt;autoboot: true&lt;br /&gt;pool:&lt;br /&gt;inherit-pkg-dir:&lt;br /&gt;dir: /lib&lt;br /&gt;inherit-pkg-dir:&lt;br /&gt;dir: /platform&lt;br /&gt;inherit-pkg-dir:&lt;br /&gt;dir: /sbin&lt;br /&gt;inherit-pkg-dir:&lt;br /&gt;dir: /usr&lt;br /&gt;net:&lt;br /&gt;address: 192.168.100.14&lt;br /&gt;physical: hme0&lt;br /&gt;zonecfg:gm&gt; verify&lt;br /&gt;zonecfg:gm&gt; commit&lt;br /&gt;zonecfg:gm&gt; exit&lt;br /&gt;&lt;br /&gt;Ahora hay que instalar la zona con el comando zoneadm&lt;br /&gt;# zoneadm -z gm install&lt;br /&gt;&lt;br /&gt;/Zones/gm must not be group readable.&lt;br /&gt;/Zones/gm must not be group executable.&lt;br /&gt;/Zones/gm must not be world readable.&lt;br /&gt;/Zones/gm must not be world executable.&lt;br /&gt;could not verify zonepath /Zones/gm because of the above errors.&lt;br /&gt;zoneadm: zone gm failed to verify&lt;br /&gt;&lt;br /&gt;Problema de permisos, se corrige así ;)&lt;br /&gt;# ls -ld /Zones/gm&lt;br /&gt;&lt;br /&gt;drwxr-xr-x 2 root root 512 Jul 5 07:08 /Zones/gm&lt;br /&gt;&lt;br /&gt;# chmod 700 /Zones/gm&lt;br /&gt;# zoneadm -z gm install&lt;br /&gt;&lt;br /&gt;Preparing to install zone .&lt;br /&gt;Creating list of files to copy from the global zone.&lt;br /&gt;Copying &lt;2574&gt; files to the zone.&lt;br /&gt;Initializing zone product registry.&lt;br /&gt;Determining zone package initialization order.&lt;br /&gt;Preparing to initialize &lt;914&gt; packages on the zone.&lt;br /&gt;Initializing package &lt;535&gt; of &lt;914&gt;: percent complete: 58%&lt;br /&gt;&lt;br /&gt;La instalación demora de 10-15 minutos, aunque este tiempo si incrementará si quitamos la herencia de las carpetas de la zona global.&lt;br /&gt;&lt;br /&gt;Initialized &lt;914&gt; packages on zone.&lt;br /&gt;Zone is initialized.&lt;br /&gt;Installation of these packages generated warnings:&lt;br /&gt;The file contains a log of the zone installation.&lt;br /&gt;&lt;br /&gt;La zona está instalada. Ahora a bootiarla&lt;br /&gt;&lt;br /&gt;# zoneadm -z gm boot&lt;br /&gt;&lt;br /&gt;Por último hay que loggearse en la zona con la opción -C para inicializar ciertos parametros (estoy es INDISPENSABLE)&lt;br /&gt;&lt;br /&gt;# zlogin -C gm&lt;br /&gt;&lt;br /&gt;[Connected to zone 'gm' console]&lt;br /&gt;Paciencia.. puede demorar..&lt;br /&gt;&lt;br /&gt;Select a Language&lt;br /&gt;0. English&lt;br /&gt;1. fr&lt;br /&gt;Please make a choice (0 - 1), or press h or ? for help: 0&lt;br /&gt;&lt;br /&gt;Select a Locale&lt;br /&gt;0. English (C - 7-bit ASCII)&lt;br /&gt;1. Belgium-Flemish (ISO8859-1)&lt;br /&gt;2. Belgium-Flemish (ISO8859-15 - Euro)&lt;br /&gt;3. Great Britain (ISO8859-1)&lt;br /&gt;4. Great Britain (ISO8859-15 - Euro)&lt;br /&gt;5. Ireland (ISO8859-1)&lt;br /&gt;6. Ireland (ISO8859-15 - Euro)&lt;br /&gt;7. Netherlands (ISO8859-1)&lt;br /&gt;8. Netherlands (ISO8859-15 - Euro)&lt;br /&gt;9. Go Back to Previous Screen&lt;br /&gt;Please make a choice (0 - 9), or press h or ? for help: 0&lt;br /&gt;&lt;br /&gt;What type of terminal are you using?&lt;br /&gt;1) ANSI Standard CRT&lt;br /&gt;...&lt;br /&gt;12) X Terminal Emulator (xterms)&lt;br /&gt;13) CDE Terminal Emulator (dtterm)&lt;br /&gt;14) Other&lt;br /&gt;&lt;br /&gt;Escoger la opción que se ajusta a la utilizada&lt;br /&gt;&lt;br /&gt;Creating new rsa public/private host key pair&lt;br /&gt;Creating new dsa public/private host key pair&lt;br /&gt;&lt;br /&gt;Prácticamente esto es todo... "&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-3307289995470913415?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/3307289995470913415/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=3307289995470913415&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/3307289995470913415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/3307289995470913415'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2008/05/crear-zonas-en-solaris-10.html' title='Crear zonas en Solaris 10'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-8068365102461600911</id><published>2008-05-15T15:06:00.003Z</published><updated>2008-05-15T15:11:08.381Z</updated><title type='text'>Error al iniciar metadb</title><content type='html'>Si al querer iniciar las metarreplicas con el comando &lt;br /&gt;# metadb -a -f -c ......&lt;br /&gt;nos da el siguiente error&lt;br /&gt;metadb core dumps with assertion partno &lt; dnp-&gt;vtoc.nparts in meta_nameinfo.c...&lt;br /&gt;y si nuestro operativo es Solaris 10 u anteriores sin actualización de parches, se debe a un bug. Para resolverlo ejectar el cd que se encuentre en la unidad lectora y luego volver a intentar crear las metareplicas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-8068365102461600911?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/8068365102461600911/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=8068365102461600911&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/8068365102461600911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/8068365102461600911'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2008/05/error-al-iniciar-metadb.html' title='Error al iniciar metadb'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-2992418637733730274</id><published>2007-09-28T02:51:00.000Z</published><updated>2007-09-28T03:01:15.932Z</updated><title type='text'>Dia de cumpleaños</title><content type='html'>Mi profesora de Algoritmos y Estructura de Datos nos dio un trabajo practico interesante, desarrollar un programa que dandole el dia, el mes y el año de nacimiento nos proporcionara el día en que nacimos.&lt;br /&gt;Buscando en Internet el dato que me proporcionara alguna periodicidad en el almanaque me encontre con un matemático Ingles de nombre John Conway que inventó un algoritmo de calculo mental aplicando una peridicidad del calendario denominada Doomsday o día maldito, este día maldito es el mismo los 4/4 6/6 8/8 10/10 y 12/12. En Enero depende del año bisiesto siendo el 3/1 los años normales y 4/1 los bisiestos. Este doomsday es el último día de Febrero, o sea el 28 en años normales y 29 en año bisiesto. Para marzo es siempre el día 7 y para los otros meses usamos la regla memotecnica "trabajo de 9 a 5 los 11 a 7" o sea, el doomsday cae el 9/5, 5/9, 7/11 y 11/7.&lt;br /&gt;La fórmula del día maldito depende de un marcador de siglo que es de una periodicidad de una centuria arrancando en el 1900 hasta 1999 y desde el 2000 hasta el 2099. Siendo estos marcadores en el siglo 20 el día míercoles y en el siglo 21 el día Martes.&lt;br /&gt;Aplicando este algoritmo mental lo transformé en un chapin generando mi propio algoritmo de calculo y generé luego el siguiente programa en Pascal que espero sea de su provecho:&lt;br /&gt;&lt;br /&gt;program doomsday(input,output);&lt;br /&gt;var ano, mes, dia, bis, dooms, R :integer;&lt;br /&gt;procedure vali1(var B :integer; dia :integer);&lt;br /&gt;begin&lt;br /&gt;        IF (dia&gt;31) and (dia &lt; 1) then B:=1&lt;br /&gt;        else B:=0&lt;br /&gt;end;&lt;br /&gt;procedure vali2(var B :integer; dia :integer);&lt;br /&gt;begin&lt;br /&gt;        if (dia &gt; 31) and (dia &lt; 1) then B:=1&lt;br /&gt;        else B:=0&lt;br /&gt;end;&lt;br /&gt;procedure valif(var B :integer; dia :integer; bis :integer);&lt;br /&gt;begin&lt;br /&gt;        if bis = 1 then&lt;br /&gt;                begin&lt;br /&gt;                        if (dia &gt; 29 ) and (dia &lt; 1) then B:=1&lt;br /&gt;                        else B:=0&lt;br /&gt;                        end&lt;br /&gt;        else&lt;br /&gt;                begin&lt;br /&gt;                     if (dia &gt; 28) and (dia &lt; 1) then B:=1&lt;br /&gt;                     else B:=0&lt;br /&gt;                end&lt;br /&gt;end;&lt;br /&gt;procedure validadi(var B:integer; dia :integer; bis :integer; mes :integer);&lt;br /&gt;begin&lt;br /&gt;        case mes of&lt;br /&gt;                1: vali1(B,dia);&lt;br /&gt;                2: valif(B,dia,bis);&lt;br /&gt;                3: vali1(B,dia);&lt;br /&gt;                4: vali2(B,dia);&lt;br /&gt;                5: vali1(B,dia);&lt;br /&gt;                6: vali2(B,dia);&lt;br /&gt;                7: vali1(B,dia);&lt;br /&gt;                8: vali1(B,dia);&lt;br /&gt;                9: vali2(B,dia);&lt;br /&gt;                10: vali1(B,dia);&lt;br /&gt;                11: vali2(B,dia);&lt;br /&gt;                12: vali1(B,dia);&lt;br /&gt;        end&lt;br /&gt;end;&lt;br /&gt;procedure carga(var ano :integer; var mes :integer; var dia :integer; var bis :integer);&lt;br /&gt;var B :integer;&lt;br /&gt;begin&lt;br /&gt;        writeln('Ingrese al año de nacimiento: ');&lt;br /&gt;        readln(ano);&lt;br /&gt;        if (ano mod 4)=0 then bis:=1&lt;br /&gt;        else bis:=0;&lt;br /&gt;        writeln('Ingrese el mes de nacimiento: ');&lt;br /&gt;        repeat&lt;br /&gt;                readln(mes)&lt;br /&gt;        until (mes&gt;=1) and (mes&lt;=12);&lt;br /&gt;        writeln('Ingrese el día de nacimiento: ');&lt;br /&gt;        repeat&lt;br /&gt;                readln(dia);&lt;br /&gt;                validadi(B,dia,bis,mes)&lt;br /&gt;        until B=0&lt;br /&gt;end;&lt;br /&gt;procedure doomsday(ano :integer; var dooms :integer);&lt;br /&gt;var Y :integer;&lt;br /&gt;begin&lt;br /&gt;        if ano&gt;=2000 then&lt;br /&gt;                begin&lt;br /&gt;                        Y:= ano - 2000;&lt;br /&gt;                        dooms:= ((Y div 12) + Y mod 12 + (( Y mod 12) div 4) mod 7)+2&lt;br /&gt;                end&lt;br /&gt;        else&lt;br /&gt;                begin&lt;br /&gt;                        Y:= ano - 1900;&lt;br /&gt;                        dooms:= ((Y div 12) + Y mod 12 + (( Y mod 12) div 4 ) mod 7)+ 3&lt;br /&gt;                end;&lt;br /&gt;        if dooms &gt;= 29 then dooms := dooms - 28&lt;br /&gt;        else if dooms &gt;= 22 then dooms:=dooms-21&lt;br /&gt;                else if dooms &gt;= 15 then dooms := dooms -14&lt;br /&gt;                        else if dooms &gt;= 8 then dooms := dooms - 7&lt;br /&gt;end;&lt;br /&gt;procedure moddia( dia :integer; var D :integer);&lt;br /&gt;begin&lt;br /&gt;        if dia &gt;= 29 then D:=dia-28&lt;br /&gt;        else if dia &gt;=22 then D:=dia-21&lt;br /&gt;                else if dia&gt;=15 then D:=dia-14&lt;br /&gt;                        else if dia&gt;=8 then D:=dia-7&lt;br /&gt;end;&lt;br /&gt;procedure res1(bis :integer; dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if bis = 1 then if D&gt;=4 then R:=(D-4)+dooms&lt;br /&gt;                        else R:=(4-D)+dooms&lt;br /&gt;        else if D&gt;=3 then R:=(D-3)+dooms&lt;br /&gt;                else R:=(3-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res2(bis :integer; dia :integer; dooms :integer; var R:integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if bis = 1 then R:=(D-1)+dooms&lt;br /&gt;        else if D&gt;=7 then R:=(D-7)+dooms&lt;br /&gt;                else R:=(7-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res3(dia :integer; dooms :integer; var R:integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=7 then R:=(D-7)+dooms&lt;br /&gt;        else R:=(7-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res4(dia :integer; dooms :integer; var R:integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=4 then R:=(D-4)+dooms&lt;br /&gt;        else R:=(4-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res5(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=2 then R:=(D-2)+dooms&lt;br /&gt;        else R:=(2-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res6(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=6 then R:=(D-6)+dooms&lt;br /&gt;        else R:=(6-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res7(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=4 then R:=(D-4)+dooms&lt;br /&gt;        else R:=(4-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res8(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        R:=(D-1)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res9(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=5 then R:=(D-5)+dooms&lt;br /&gt;        else R:=(5-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res10(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=3 then R:=(D-3)+dooms&lt;br /&gt;        else R:=(3-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res11(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=2 then R:=(D-2)+dooms&lt;br /&gt;        else R:=(2-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure res12(dia :integer; dooms :integer; var R :integer);&lt;br /&gt;var D :integer;&lt;br /&gt;begin&lt;br /&gt;        moddia(dia,D);&lt;br /&gt;        if D&gt;=5 then R:=(D-5)+dooms&lt;br /&gt;        else R:=(5-D)+dooms&lt;br /&gt;end;&lt;br /&gt;procedure resgen (bis :integer; mes :integer;dia :integer; dooms :integer; var R :integer);&lt;br /&gt;begin&lt;br /&gt;        case mes of 1: res1(bis,dia,dooms,R);&lt;br /&gt;                    2: res2(bis,dia,dooms,R);&lt;br /&gt;                    3: res3(dia,dooms,R);&lt;br /&gt;                    4: res4(dia,dooms,R);&lt;br /&gt;                    5: res5(dia,dooms,R);&lt;br /&gt;                    6: res6(dia,dooms,R);&lt;br /&gt;                    7: res7(dia,dooms,R);&lt;br /&gt;                    8: res8(dia,dooms,R);&lt;br /&gt;                    9: res8(dia,dooms,R);&lt;br /&gt;                    10: res10(dia,dooms,R);&lt;br /&gt;                    11: res11(dia,dooms,R);&lt;br /&gt;                    12: res12(dia,dooms,R);&lt;br /&gt;        end&lt;br /&gt;end;&lt;br /&gt;procedure muestra(R :integer);&lt;br /&gt;begin&lt;br /&gt;        if (R&gt;=8) and (R&lt;=14) then R:=R-7;&lt;br /&gt;        case R of 1 : writeln('El dia de nacimiento es Lunes');&lt;br /&gt;                  2 : writeln('El dia de nacimiento es Martes');&lt;br /&gt;                  3 : writeln('El dia de nacimiento es Miercoles');&lt;br /&gt;                  4 : writeln('El dia de nacimiento es Jueves');&lt;br /&gt;                  5 : writeln('El dia de nacimiento es Viernes');&lt;br /&gt;                  6 : writeln('El dia de nacimiento es Sabado');&lt;br /&gt;                  7 : writeln('El dia de nacimiento es Domingo')&lt;br /&gt;        end&lt;br /&gt;end;&lt;br /&gt;begin&lt;br /&gt;        carga(ano,mes,dia,bis);&lt;br /&gt;        doomsday(ano,dooms);&lt;br /&gt;        resgen(bis,mes,dia,dooms,R);&lt;br /&gt;        muestra(R)&lt;br /&gt;end.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-2992418637733730274?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/2992418637733730274/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=2992418637733730274&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/2992418637733730274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/2992418637733730274'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2007/09/dia-de-cumpleaos.html' title='Dia de cumpleaños'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-6025168374771847332</id><published>2007-02-13T19:49:00.000Z</published><updated>2007-02-13T19:44:02.707Z</updated><title type='text'>Copia de disco a disco (Solaris)</title><content type='html'>Este procedimiento es para la copia de disco a disco.&lt;br /&gt;Como suposición general tomo :c0t0d0 es el disco original a reemplazar y c0t1d0 es el nuevo disco&lt;br /&gt;&lt;br /&gt;El primer procedimiento aplica si los dos discos son iguales&lt;br /&gt;&lt;br /&gt;1) coloco el disco&lt;br /&gt;&lt;br /&gt;2) una vez que levanta el equipo y lo puedo ver con el format hago lo siguiente:&lt;br /&gt;# prtvtoc /dev/dsk/c0t0d0s2 &gt; /tmp/vtoc&lt;br /&gt;# fmthard -s /tmp/vtoc  /dev/rdsk/c0t1d0s2&lt;br /&gt;&lt;br /&gt;3) genero los nuevos filesystems&lt;br /&gt;# newfs -m 1 /dev/rdsk/c0t1d0s0&lt;br /&gt;# newfs -m 1 /dev/rdsk/c0t1d0s1&lt;br /&gt;# newfs -m 1 /dev/rdsk/c0t1d0s3&lt;br /&gt;( repito el procedimiento por cada uno de los slice utilizados)&lt;br /&gt;&lt;br /&gt;4) copio la información bloque a bloque:&lt;br /&gt;# cpio if=/dev/rdsk/c0t0d0s0 of=/dev/rdsk/c0t1d0s0 bs=5120k&lt;br /&gt;# cpio if=/dev/rdsk/c0t0d0s1 of=/dev/rdsk/c0t1d0s1 bs=5120k&lt;br /&gt;# cpio if=/dev/rdsk/c0t0d0s3 of=/dev/rdsk/c0t1d0s1 bs=5120k&lt;br /&gt;&lt;br /&gt;Esto funciona solamente si el disco no tiene sectores de hardware defectuosos o bloques dañados que han quedado inaccesibles.&lt;br /&gt;&lt;br /&gt;Si los discos son de diferentes tamaños debo utilizar el siguiente procedimiento:&lt;br /&gt;&lt;br /&gt;b1) con el comando format accedemos al nuevo disco y realizamos las particiones tomando en cuenta dar mayor espacio que el que teniamos asignados en el disco anterior.&lt;br /&gt;&lt;br /&gt;b2) con el comando newfs repito el procedimiento anterior para la creación de filesystems&lt;br /&gt;&lt;br /&gt;b3) luego montamos el primer slice en el /mnt de la siguiente forma:&lt;br /&gt;# mount /dev/dsk/c0t1d0s0 /mnt&lt;br /&gt; y copiamos ahora si mediante el ufsdump de la siguient forma:&lt;br /&gt;&lt;br /&gt;(suponiendo que el slice 0 es el /)&lt;br /&gt;# cd /&lt;br /&gt;# ufsdump -0f -. | (cd /mnt ; ufsrestore -rf - )&lt;br /&gt;este comando copia todo lo que hay en el / mediante el ufsrestore al slice montado en el /mnt&lt;br /&gt;Una vez copiado todo desmonto el /mnt y procedo de la misma forma con el siguiente slice&lt;br /&gt;&lt;br /&gt;# cd /&lt;br /&gt;# umount /mnt&lt;br /&gt;(supongo que el slice 1 es el /o)&lt;br /&gt;# mount /dev/dsk/c0t1d0s1 /mnt&lt;br /&gt;# cd /o&lt;br /&gt;# ufsdump -0f -. | (cd /mnt ; ufsrestore rf -)&lt;br /&gt;&lt;br /&gt;y así repito el procedimiento hasta el ultimo filesystem&lt;br /&gt;Si en cualquiera de estos dos procedimientos me da errores por los bloques del disco dañado o por inconsistencias de los datos debo utilizar el tar en vez del ufsdump y ufsrestore o el cpio de la siguiente forma:&lt;br /&gt;&lt;br /&gt;# cd /&lt;br /&gt;# mount /dev/dsk/c0t1d0s0 /mnt&lt;br /&gt;# tar cvf -. | (cd /mnt ; tar xvf - )&lt;br /&gt;&lt;br /&gt;reemplazo esta parte del procedimiento como proceda en cada caso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-6025168374771847332?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/6025168374771847332/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=6025168374771847332&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/6025168374771847332'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/6025168374771847332'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2007/02/copia-de-disco-disco-solaris.html' title='Copia de disco a disco (Solaris)'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-116189243706627669</id><published>2006-10-26T19:41:00.000Z</published><updated>2006-10-26T19:56:27.373Z</updated><title type='text'>Configurando un servidor DHCP en Solaris</title><content type='html'>Aquí vamos a ver en unos cuantos pasos como levantar  nuestro servidor DHCP para un solaris.&lt;br /&gt;&lt;br /&gt;&lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;# /usr/sadm/admin/bin/dhcpmgr &amp; --&gt; levanta el servidor DHCP&lt;/p&gt;  &lt;p class="MsoNormal"&gt;# /etc/init.d/d.C. star/stop --&gt; arranca o detiene el servicio&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Aca si los 12 pasos para configurar nuestro servidor DHCP&lt;/p&gt;    &lt;p class="MsoNormal"&gt;(siempre como root)&lt;/p&gt;    &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-GB"&gt;1)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-GB"&gt;/usr/sadm/admin/bin/dhcpmgr &amp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-GB"&gt;2)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-GB"&gt;Choose server configuration &lt;/span&gt;--&gt;&lt;span style="" lang="EN-GB"&gt; selecciono Configure as DHCP server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;3)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;!--[endif]--&gt;Select data storage format --&gt; selecciono la opción Binary files&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;4)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;!--[endif]--&gt;Configure data store --&gt; elijo el path donde va a estar : /var/dhcp&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-GB"&gt;5)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-GB"&gt;Select hosts nameservice &lt;/span&gt;--&gt;&lt;span style="" lang="EN-GB"&gt; Do not manage hosts records&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;6)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;!--[endif]--&gt;Specigy lease policy --&gt; esto es particular a cada administrador pero para poner como ejemplo yo seleccioné en mi servidor lo siguiente: Length of lease 7 days&lt;span style=""&gt;  &lt;/span&gt;/ Client can renew their lease&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;7)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;!--[endif]--&gt;Specify DNS domain an servers --&gt; si tengo un servidor de DNS o de dominio&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-GB"&gt;8)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-GB"&gt;Specify network address and subset mask &lt;/span&gt;--&gt;&lt;span style="" lang="EN-GB"&gt; 10.11.0.0 / 255.255.0.0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style="" lang="EN-GB"&gt;9)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span style="" lang="EN-GB"&gt;Specify network type and route &lt;/span&gt;--&gt;&lt;span style="" lang="EN-GB"&gt; Network type: Local area / Routing : use router: 10.11.0.252&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;10)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;  &lt;/span&gt;&lt;!--[endif]--&gt;Specify NIS domain and server --&gt; solo si tengo servidor de NIS&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;11)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;  &lt;/span&gt;&lt;!--[endif]--&gt;Specify NIS+ domain and Server --&gt; solo si tengo servidor de NIS+&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;12)&lt;span style=";font-family:&amp;quot;;font-size:7;"  &gt;  &lt;/span&gt;&lt;!--[endif]--&gt;Aquí finaliza la configuración básica y levanta el servidor&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;!--[if !supportEmptyParas]--&gt; &lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Recuerde que estos datos son solo ejemplos de cómo debe de completarse esta configuración y los mismos deberán ser modificados con los datos de su red.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-116189243706627669?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/116189243706627669/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=116189243706627669&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/116189243706627669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/116189243706627669'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/10/configurando-un-servidor-dhcp-en.html' title='Configurando un servidor DHCP en Solaris'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-116189151712146008</id><published>2006-10-26T19:25:00.000Z</published><updated>2006-10-26T19:38:37.166Z</updated><title type='text'>Script para crear un HASH en Solaris</title><content type='html'>Para todos aquellos que utilicen el operativo de SUN quizás les es útil este pequeño script. Con el podemos hacer una imágen del sistema operativo para que llegado el caso de un cambio en el mismo que nos afecte el funcionamiento podámos verificando este hash detectar el error.&lt;br /&gt;El script es el siguiente:&lt;br /&gt;&lt;br /&gt;#!/sbin/sh&lt;br /&gt;for a in `ls -R /bin /sbin /etc`&lt;br /&gt;do&lt;br /&gt;    if [ ! -p $a ]; then&lt;br /&gt;        sum $a &gt;&gt; /opt/hash;&lt;br /&gt;        cat /opt/hash&lt;br /&gt;    fi&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;Como se puede ver el hash es solo de los directorios más importantes de nuestro operativo.&lt;br /&gt;Espero que les sea útil pero que no lo tengan que llegar a usar de emergencia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-116189151712146008?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/116189151712146008/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=116189151712146008&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/116189151712146008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/116189151712146008'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/10/script-para-crear-un-hash-en-solaris.html' title='Script para crear un HASH en Solaris'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-115023113271201556</id><published>2006-06-13T20:34:00.000Z</published><updated>2006-06-13T20:38:52.713Z</updated><title type='text'>Creacion de un RPM</title><content type='html'>&lt;span style="font-family: arial;"&gt;Para crear un .rpm debemos primero descargar el source pero ademas debemos asegurarnos de que las dependencias correspondientes se encuentren en nuestro operativo o en caso contrario debemos bajarlas en sus versiones *-devel para luego poder generar el RPM&lt;br /&gt;Una vez que poseemos todo esto debemos usar el siguiente comando:&lt;br /&gt;# rpmbuild -tb &lt;paquete_bajado&gt;.tar.gz&lt;br /&gt;la salida de este comando la debemos buscar en /usr/src/redhat/RPMS/i386/&lt;paquete_bajado&gt;.rpm&lt;br /&gt;y luego si podemos instalar nuestro paquete de la forma habitual o hacer el upgrade del mismo&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-115023113271201556?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/115023113271201556/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=115023113271201556&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/115023113271201556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/115023113271201556'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/06/creacion-de-un-rpm.html' title='Creacion de un RPM'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-115023066735919222</id><published>2006-06-13T20:28:00.000Z</published><updated>2006-06-13T20:31:07.373Z</updated><title type='text'>Placa de Red Virtual en Linux</title><content type='html'>&lt;span style="font-family: arial;"&gt;Para crear una placa de red virtual en nuestro equipo Linux debemos hacer lo siguiente:&lt;br /&gt;# ifconfig eth0:1 192.168.0.80 netmask 255.255.255.0 up&lt;br /&gt;y luego lo verificamos con&lt;br /&gt;# ifconfig -a&lt;br /&gt;donde veremos que se encuentran las dos placas de red y si hacemos ping a las dos nos deberan responder ambas. De esta forma podemos navegar o utilizar dos redes distintas desde nuestra maquina.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-115023066735919222?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/115023066735919222/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=115023066735919222&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/115023066735919222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/115023066735919222'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/06/placa-de-red-virtual-en-linux.html' title='Placa de Red Virtual en Linux'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114735823726573802</id><published>2006-05-11T14:31:00.000Z</published><updated>2006-05-11T14:37:17.273Z</updated><title type='text'>Conversor de Fahrenheit a Celsius de 0 a 300 en C</title><content type='html'>&lt;span style="font-family: arial;"&gt;Este es un programa en C para convertir de F a C en un rango de 0 a 300 grados&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;#include &lt;stdio.h&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;     int a, b, c, paso;&lt;br /&gt;    float c, f;&lt;br /&gt;    a = 0;&lt;br /&gt;    b = 300;&lt;br /&gt;    f = a;&lt;br /&gt;    system ("clear");&lt;br /&gt;    printf( "TABLA DE CONVERSION DE FAHRENHEIT A CELSIUS DE 0 A 300\n" );&lt;br /&gt;    printf( "ingrese el valor de intervalo entre los grados Fahrenheit\n" );&lt;br /&gt;    scanf( "%i", &amp;paso);&lt;br /&gt;    while ( f&lt;=b )&lt;br /&gt;    {&lt;br /&gt;        c = ((5.0/9.0)*(f-32.0));&lt;br /&gt;        printf( "|%4.0f |%6.1f \n", f, c, );&lt;br /&gt;        f = (f+paso);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114735823726573802?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114735823726573802/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114735823726573802&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114735823726573802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114735823726573802'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/05/conversor-de-fahrenheit-celsius-de-0.html' title='Conversor de Fahrenheit a Celsius de 0 a 300 en C'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114668010155660245</id><published>2006-05-03T18:01:00.001Z</published><updated>2006-05-03T18:15:01.560Z</updated><title type='text'>Configuración iptables de ejemplo</title><content type='html'>&lt;span style="font-family:Arial;"&gt;Este es un archivo de ejemplo para crear nuestro propio firewall&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#!/bin/sh&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;echo -n Aplicando reglas del firewall&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;# Flush de reglas&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -F&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -X&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -Z&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;## Estableciendo politicas por defecto&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#Filtros&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P INPUT DROP&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P OUTPUT DROP&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P FORWARD DROP&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#Reglas particulares&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#permitir todo a este hosts en particular&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A INPUT -s 192.168.0.80 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A OUTPUT -d 192.168.0.80 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;##Reglas para abrir ssh&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A INPUT -p tcp --dport 22 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Este archivo lo creo como iptables.sh por ejemplo, le doy los permisos de ejecución y lo coloco en el /etc/rc.d/rc.local para que lo levante siempre.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Para borrar el iptables creo otro script con el nombre borratabla.sh que contenga lo siguiente y luego le doy permisos de ejecución para cuando lo tenga que usar&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#!/bin/sh&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -X&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -F&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P INPUT ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P OUTPUT ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P FORWARED ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114668010155660245?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114668010155660245/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114668010155660245&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114668010155660245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114668010155660245'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/05/configuracin-iptables-de-ejemplo_03.html' title='Configuración iptables de ejemplo'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114668006218737787</id><published>2006-05-03T18:01:00.000Z</published><updated>2006-05-03T18:14:22.243Z</updated><title type='text'>Configuración iptables de ejemplo</title><content type='html'>&lt;span style="font-family:Arial;"&gt;Este es un archivo de ejemplo para crear nuestro propio firewall&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#!/bin/sh&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;echo -n Aplicando reglas del firewall&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;# Flush de reglas&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -F&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -X&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -Z&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;## Estableciendo politicas por defecto&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#Filtros&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P INPUT DROP&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P OUTPUT DROP&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P FORWARD DROP&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#Reglas particulares&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#permitir todo a este hosts en particular&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A INPUT -s 192.168.0.80 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A OUTPUT -d 192.168.0.80 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;##Reglas para abrir ssh&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A INPUT -p tcp --dport 22 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Este archivo lo creo como iptables.sh por ejemplo, le doy los permisos de ejecución y lo coloco en el /etc/rc.d/rc.local para que lo levante siempre.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Para borrar el iptables creo otro script con el nombre borratabla.sh que contenga lo siguiente y luego le doy permisos de ejecución para cuando lo tenga que usar&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;#!/bin/sh&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -X&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -F&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P INPUT ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P OUTPUT ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;em&gt;iptables -P FORWARED ACCEPT&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114668006218737787?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114668006218737787/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114668006218737787&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114668006218737787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114668006218737787'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/05/configuracin-iptables-de-ejemplo.html' title='Configuración iptables de ejemplo'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114667779793936349</id><published>2006-05-03T16:50:00.000Z</published><updated>2006-05-03T17:36:37.980Z</updated><title type='text'>Compartir el Escritorio con XDMCP</title><content type='html'>&lt;span style="font-family:arial;"&gt;1) Modificar el archivo &lt;strong&gt;/etc/X11/xdm/xdm-config&lt;/strong&gt; al final agregar el comentario a la línea&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;DisplayManager.requestPort:0&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;tiene que quedar de la siguiente forma:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;!DisplayManager.requestPort:0&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;xdm usualmente corre como una copia del X y escucha los pedidos de otros hosts a través de la red. XDM lee el archivo de configuración &lt;strong&gt;/etc/X11/xdm/xdm-config&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;2) Modifico el archivo &lt;strong&gt;/etc/X11/xdm/Xaccess&lt;/strong&gt; la siguiente línea&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;# *       #any host can get a login window&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;a la siguiente forma&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;*         #any host can get a login window&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;3) Modifico el archivo &lt;strong&gt;/etc/X11/gdm/gdm.conf&lt;/strong&gt; las siguientes líneas&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;[Xdmcp]&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;Enable=false&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;a la siguiente forma&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;[Xdmcp]&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;Enable=true&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;y descomento la siguiente línea (si está comentada)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;# port = 177&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;quedando de esta forma&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;strong&gt;port = 177&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Ahora rebooteamos y listo&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114667779793936349?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114667779793936349/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114667779793936349&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114667779793936349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114667779793936349'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/05/compartir-el-escritorio-con-xdmcp.html' title='Compartir el Escritorio con XDMCP'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114658475934571034</id><published>2006-05-02T15:45:00.000Z</published><updated>2006-05-02T15:45:59.346Z</updated><title type='text'>Utilización del RPM</title><content type='html'>&lt;span style="font-family: arial;"&gt;La siguiente es una pagina con un how-to en castellano del uso de la herramienta RPM.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://es.tldp.org/COMO-INSFLUG/es/pdf/RPM-Como.pdf"&gt;http://es.tldp.org/COMO-INSFLUG/es/pdf/RPM-Como.pdf&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt;La utilizacion basica del comando rpm es &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -i ---&gt;intala los paquetes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -e ----&gt;borra los paquetes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -U ---&gt; hace un upgrade de los paquetes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;Se puede hacer una instalacion de los paquetes rpm via ftp de la siguiente forma:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -i &lt;a href="ftp://ftp.php.com/pub/linux/redhat/rh-2.0-beta/RPMS/foobar-1.0-1.i386.rpm"&gt;ftp://ftp.php.com/pub/linux/redhat/rh-2.0-beta/RPMS/foobar-1.0-1.i386.rpm&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;si hubieramos borrado algun paquete y queremos verificar que fue lo que eliminamos debemos hacer :&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -Va&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;si nos encontramos con un fichero que no conocemos y queremos saber a que paquete pertenece debemos hacer:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -qf &lt;path-del-fichero&gt;&lt;/path-del-fichero&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;para obtener informacion sobre un paquete determinado&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -qpi &lt;paquete-rpm&gt;&lt;/paquete-rpm&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;para saber que ficheros instala el rpm &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;rpm -qpl  &lt;paquete&gt;&lt;/paquete&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114658475934571034?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114658475934571034/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114658475934571034&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114658475934571034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114658475934571034'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/05/utilizacin-del-rpm.html' title='Utilización del RPM'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114658469997282195</id><published>2006-05-02T15:44:00.000Z</published><updated>2006-05-02T15:44:59.980Z</updated><title type='text'>Anotaciones Linux</title><content type='html'>&lt;span style="font-family: arial;"&gt;- Crear un diskette de grub base&lt;br /&gt;&lt;br /&gt;# dd if=stage1 of=/dev/fd0 bs=512 count=1&lt;br /&gt;# dd if=stage2 of=/dev/fd0 bs=512 seek=1&lt;br /&gt;&lt;br /&gt;- Backup en Solaris con dd&lt;br /&gt;# dd bs=80b if=/dev/rdsk/cxtxdxs2 of=/dev/rmt/0n&lt;br /&gt;para verificar esto&lt;br /&gt;# dd bs=80b if=/dev/rdsk/cxtxdxs2 of=/dev/null&lt;br /&gt;para recuperar el backup&lt;br /&gt;# dd bs=80 of=/dev/rdsk/cxtxdxs2 if=/dev/rmt/0n&lt;br /&gt;&lt;br /&gt;DUMP en Linux&lt;br /&gt;# dump -0u -f /dev/st0 /&lt;br /&gt;# restore -i -f /dev/st0&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114658469997282195?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114658469997282195/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114658469997282195&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114658469997282195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114658469997282195'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/05/anotaciones-linux.html' title='Anotaciones Linux'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114625057470670127</id><published>2006-04-28T18:54:00.000Z</published><updated>2006-04-28T20:16:09.080Z</updated><title type='text'>Como recuperar un metadispositivo con DiskSuite</title><content type='html'>&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="OpenOffice.org 1.9.104  (Linux)"&gt;&lt;meta name="CREATED" content="20060428;11494000"&gt;&lt;meta name="CHANGED" content="16010101;0"&gt;          &lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  &lt;p  style="margin-bottom: 0cm; font-family: arial;font-family:arial;"&gt;&lt;span style="font-weight: bold;"&gt;Titulo:&lt;/span&gt; Solstice Disksuite, como recuperar un metadispositivo que está en estado inetable o como recrear un md sin perder datos.&lt;/p&gt; &lt;p  style="margin-bottom: 0cm; font-family: arial;font-family:arial;"&gt;Productos: Solstice DiskSuite 4.2.1, Solaris Volume Manager, Solstice DiskSuite 4.0 (japones), Solstice DiskSuite 4.1(japones), Solstice DiskSuite 4.1 Software, Solstice DiskSuite 4.2 Software&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Área&lt;/span&gt;: LVM Logical Volume Management&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-family: arial; font-weight: bold;"&gt;Descripción:&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm; font-family: arial;"&gt;Rara vez un dispositivo lógico queda en estado indefinido, por lo que recuperarlo suele ser algo problemático.&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm; font-family: arial;"&gt;Este procedimiento es para recrearlo luego de que hallamos guardado la configuración actual con un metastat -p. Este procedimiento es algo riesgoso por lo que es altamente recomendable tener hecho un backup completo de la información.&lt;/p&gt; &lt;p  style="margin-bottom: 0cm;font-family:arial;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: arial; font-weight: bold;"&gt;Documento:&lt;br /&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0cm; font-family: arial; font-style: italic;"&gt;Ejemplos de cuando debo usar este procedimiento:&lt;/p&gt; &lt;ol style="font-family: arial;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;El mirror tiene sus dos  componentes en “Needs Maintenance” y los comandos comunes no me  sirven para limpiar el “Last Erred”.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Uno de los submirror tiene un  error de I/O no fatal y está en “needs maintenance”. En  este momento es muy dificil poner el mirror nuevamente en linea.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Puede haber habido un reboot o una  reconfiguración y uno de los dispositivos cambió de  controladora o de target.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Cuando un submirror está en  OK de un mirror y se va a un estado stale y la otra parte del mirror  está OK pero sin información, y si usaramos el  “metareplace -e” nos haría perder toda la información.&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: arial; font-style: italic;"&gt;Ejemplos de cuando no debo usar este procedimiento:&lt;/p&gt; &lt;ol style="font-family: arial;"&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Un submirror está en “Need  Maintenance” y el otro en “Last erred”.&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0cm;"&gt;Un submirror con datos validos  está en OK y el otro en “Last erred” o “Need  Maintenance”&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;Para estos casos use el procedimiento normal de recuperación.&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;Este documento puede ser utilizado con todas las versiones de DiskSuite. Tener en cuenta que en las versiones anteriores a DiskSuite 4.2.1 los comandos se encuentran en /usr/opt/SUNWmd/sbin así que recomendamos agregar este directorio a su PATH antes de comenzar a trabajar. Para hacer esto tipee:&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;PATH=$PATH:/usr/opt/SUNWmd/sbin&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;en las otras versiones de DiskSuite los comandos están en /usr/sbin que es el path del root.&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm; font-family: arial; font-weight: bold;"&gt;Procedimiento de recuperado:&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;Con Solaris Volume Manager se puede limpiar cualquier metadispositivo y luego volver a recrearlo sin perder información. El siguiente ejemplo, con el dispositivo d8 que no puede ser reparado, nos muestra el procedimiento para recuperarlo.&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p face="arial" style="margin-bottom: 0cm;"&gt;&lt;span style="font-style: italic;"&gt;Paso 1:&lt;/span&gt; Examine la salida del metastat para determinar el estado del mirro y los submirrors.&lt;/p&gt;  &lt;p face="arial" style="margin-bottom: 0cm;"&gt;# metastat [-s setname] d8&lt;/p&gt;  &lt;p face="arial" style="margin-bottom: 0cm;"&gt;d8:  Mirror&lt;br /&gt;Submirror 0: d82&lt;br /&gt;State: Needs Maintenance&lt;br /&gt;Submirror 1: d83&lt;br /&gt;State: Needs Maintenance&lt;br /&gt;Pass:1&lt;br /&gt;Read option: roundrobin (default)&lt;br /&gt;Write option: parallel (default)&lt;br /&gt;Size: 35307016 (16Gb)&lt;/p&gt;&lt;p face="arial" style="margin-bottom: 0cm;"&gt;En este ejemplo, ambos submirror necesitan mantenimiento. Si uno de los dos se encontrara en "Last Erred" use el procedimiento normal de recuperación. Y si este procedimiento no le funcionó continue con el siguiente paso.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 2: &lt;/span&gt;Determine si uno de los dos submirro se encuentra activo.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;El proposito de este paso es determinar cual de los dos submirror utilizar como principal para luego recrearlo. Si usted ya tiene esta información, o si el mirror solo posee un componente puede obviar este paso.&lt;br /&gt;Use iostat para determinar cual es el submirror activo:&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# iostat -xnz 10 6                       (el -z no muestra las líneas en cero)&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;aquí podremos ver a que metadispositivo estamos accediendo.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 3:&lt;/span&gt; Para tener una copia de los dispositivos originales capturemos el metastat -p para el dispositivo que tenga fallas&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metastat [-s setname] -p d8 | tee d8.metastat&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;d8 -m d82 d83 1&lt;br /&gt;d82 1 1 c1t2d0s0&lt;br /&gt;d83 1 1 c1t3d0s0&lt;br /&gt;(esta información también puede ser extraida de un explorer viejo)&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 4&lt;/span&gt;: Verifique por la existencia de cualquier softpartition creadas sobre este dispositivo&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metastat [-s setname] -p | grep d8 | tee d8.sp&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;d8 -m d82 d83 1&lt;br /&gt;d82 1 1 c1t2d0s0&lt;br /&gt;d83 1 1 c1t3d0s0&lt;br /&gt;d106 -p d8 -0 28286982 -b 1433600&lt;br /&gt;d105 -p d8 -o 29720583 -b 2097152&lt;br /&gt;d104 -p d8 -o 27262981 -b 1024000&lt;br /&gt;d103 -p d8 -o 25165828 -b 2097152&lt;br /&gt;d102 -p d8 -o 20971523 -b 4194304&lt;br /&gt;d101 -p d8 -o 8388610 -b 12582912 -o 31817736 -b 3481600&lt;br /&gt;d100 -p d8 -o 1 -b 8388608&lt;br /&gt;&lt;br /&gt;En este ejemplo tenemos 7 soft partition sobre el mirror. No continue sin haber antes capturado estos datos. Tenga la precaución que el grep puede haberle capturado información de otros dispositivos aparte del que estamos queriendo reparar.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Como una alternativa para los pasos 3 y 4, asegurese que el md.tab está actualizado.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Para el Solstice DiskSuite 4.2.1 y el Solaris Volume Manager:&lt;br /&gt;# mv /etc/lvm/md.tab /etc/lvm/md.tab.old&lt;br /&gt;# metastat [-s setname] -p &gt; /etc/lvm/md.tab&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Para versiones anteriores el md.tab no se encuentra en el mismo lugar sino que debemos proceder como se muestra abajo:&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# mv /etc/opt/SUNWmd/md.tab /etc/opt/SUNWmd/md.tab.old&lt;br /&gt;# metastat [-s setname] -p &gt; /etc/opt/SUNWmd/md.tab&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 5&lt;/span&gt;:&lt;br /&gt;Use los comandos como el "df -k" y el "swap -l" para observar todos los filesystems y aplicaciones que están utilizando este metadispositivo.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;a) Mire todos los file systems:&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# df -k | grep /dev/md/dsk/d8&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;En este ejemplo no hay filesystem porque el d8 es solo la base para las softpartitions por lo cual los filesystems deberian estar sobre las mismas.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;b) busque los dispositivos swap&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# swap -l | grep /dev/md/dsk/d8&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;En este ejemplo no hay dispositivos swap sobre este dispositivo. Si los hubiera deberiamos usar los procedimientos normales para agregar dispositivos swap mientras este se encuentra momentaneamente fuera de línea.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 6:&lt;/span&gt; En el paso 4 hemos encontrados soft partition sobre el mirror, debemos encontrar y resguardar los filesystems relevantes, usando el grep para encontrar los patrones que estamos buscando.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# df -k | grep /dev/md/dsk/d10 | awk '{ print $6 }'&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;/data&lt;br /&gt;/data/packages&lt;br /&gt;/data/crash&lt;br /&gt;/data/dl&lt;br /&gt;/data/install&lt;br /&gt;/data/patches&lt;br /&gt;/data/samba&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 7: &lt;/span&gt;Borre los metadispositivos soft partition&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metaclear [-s setname] d100&lt;br /&gt;# metaclear [-s setname] d101&lt;br /&gt;# metaclear [-s setname] d102&lt;br /&gt;# metaclear [-s setname] d103&lt;br /&gt;# metaclear [-s setname] d104&lt;br /&gt;# metaclear [-s setname] d105&lt;br /&gt;# metaclear [-s setname] d106&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Haga esto uno a uno o use el siguiente comando para todas las particiones&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metaclear [-s setname] -p &lt;mirror&gt;&lt;/mirror&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 8&lt;/span&gt;: Borre recursivamente el mirror (puede necesitar la opción -f)&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metaclear [-s setname] -r d8&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 9&lt;/span&gt;: Recree los metadispositivos, primero creando los submirrors&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metainit [-s setname] d82 1 1 c1t2d0s0&lt;br /&gt;# metainit [-s setname] d8 -m d82&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;El submirror usado para que sea el principal es el d82. En el paso 2 vimos que solo había I/O en uno de los submirror, el cual es el mismo que estamos utilizando en este paso.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Si en el paso 1 nos muestra como que uno de los submirror está en "Last Erred", entonces aquí use ese submirror como principal en este paso.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Si nuestro caso es como el pto 4 descripto en los casos en los que debemos usar este procedimiento, entonces en este paso debemos utilizar el submirror con datos validos como submirror principal.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Repase muy bien este punto antes de hacerlo ya que un error puede acarrear la perdida total de la información.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 10:&lt;/span&gt; Recrear las softpartition, esto puede ser realizado mientras el d8 se termina de sincronizar.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metainit [-s setname] d100 -p d8 -o 1 -b 8388608&lt;br /&gt;# metainit [-s setname] d101 -p d8 -o 8388610 -b 12582912 -o 31817736 -b 3481600&lt;br /&gt;# metainit [-s setname] d102 -p d8 -o 20971523 -b 4194304&lt;br /&gt;# metainit [-s setname] d103 -p d8 -o 25165828 -b 2097152&lt;br /&gt;# metainit [-s setname] d104 -p d8 -o 27262981 -b 1024000&lt;br /&gt;# metainit [-s setname] d105 -p d8 -o 29720583 -b 2097152&lt;br /&gt;# metainit [-s setname] d106 -p d8 -o 28286982 -b 1433600&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Paso 11 (opcional)&lt;/span&gt; si el tiempo lo permite usted puede realizar un fsck -n a cada uno de los filesystem&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Si el fsck falla en seguida, deberíamos recrear los metadispositivos que se encuentren en estado incorrecto. Si el fsck encuentra otro errores , estos errores pueden que ya hallan estado en los filesystem originales pero no pudieron ser generados por este procedimiento.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 12&lt;/span&gt;: Monte los filesystem como estaban originalmente.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;Si el montaje falla puede que deba recrear los metadispositivos incorrectos. Para recuperarlos use el metaclear y el metainit nuevamente.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic;"&gt;Paso 13&lt;/span&gt;: Una vez que hallamos confirmado que tenemos nuestros datos intactos podemos atachar los otros componentes del mirror&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;# metainit [-s setname] d83 1 1 c1t3d0s0&lt;br /&gt;# metattach [-s setname] d8 d83&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Usando este procedimiento para otro tipo de metadispositivos:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Raid 5:&lt;/span&gt; este mismo procedimiento puede ser utilizado para el Raid 5. La opción -k. Cuando estamos rearmando los dispositivos en el paso 9 la opción -k es de gran importancia. Esta opción le dice al SVM que no inicialice los metadispositivos para usar los datos que ya se encuentran en el disco. No hacer esto puede causar la perdida total de los datos.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;- Concatenado o stripe (o los dos):&lt;/span&gt; este procedimiento puede ser utilizado en este caso y el uso del metainit y el metaclear no afecta a los datos del usuario. Es muy importante que al recrear el stripe o el concat cada componente sea recreado en el mismo orden. Si no lo hacemos exactamente de la misma forma no perderemos los datos, mientras que los datos (filesystem) no sean modificado (como con un fsck -y). Si accidentalmente recreamos el stripe en el orden equivocado simplemente debemos borrarlo con el metaclear y recrearlo en el orden correcto. Si no conocemos el orden correcto, simplemente repita los pasos del metainit y luego ejecute el fsck -n  antes que fsck se complete correctamente.&lt;/p&gt;&lt;br /&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Usando este procedimiento con los números de las controladoras cambiados:&lt;/span&gt;&lt;br /&gt;Este procedimiento puede ser utilizado cuando un reboot de reconfiguración cambió el número de controladora de los dispositivos c#. Simplemente edite y guarde los archivos para reflejar el nuevo número de controladora. Cuando el número de la controladora cambió, es necesario reiniciar  todas las meta database (MDBs) en esa controladora.&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;&lt;span style="font-weight: bold;"&gt;Trabajando con MDBs embebidas&lt;/span&gt;&lt;br /&gt;Con MDBs es cualquier submirror o slice del dispositivo que hallamos recreado y que tenga "Yes" bajo el Dbase en la salida del metastat.&lt;br /&gt;Las MDBs no afectan a este procedimiento. Los metadispositivos pueden ser limpiados e inicializados sin tocar las MDBs embebidas. Si usamos este procedimiento como parte de un cambio  de número de controladora, deberiamos reinicializar todas las MDBs. El uso de MDBs no es lo mejor y debemos considerar eliminarlas en un futuro .&lt;/p&gt;&lt;p style="margin-bottom: 0cm; font-family: arial;"&gt;(Extraido y traducido del artículo 76077 de Sun Solve)&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114625057470670127?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114625057470670127/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114625057470670127&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114625057470670127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114625057470670127'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/04/como-recuperar-un-metadispositivo-con.html' title='Como recuperar un metadispositivo con DiskSuite'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114623806663581843</id><published>2006-04-28T15:22:00.000Z</published><updated>2006-04-28T15:27:46.636Z</updated><title type='text'>Backup del SCO 5.0.5</title><content type='html'>&lt;span style="font-family: arial;"&gt;Para hacer el bakcup de los archivos principales de este viejo sistema operativo debemos hacer lo siguiente:&lt;br /&gt;1) realizar una copia en diskette dentro del scoadmin de los archivos de booteo&lt;br /&gt;2) backupear el /stand. Para ello debemos hacer&lt;br /&gt;# umount /stand&lt;br /&gt;# mount /stand&lt;br /&gt;# cp /stand/unix /stand/unix.backup&lt;br /&gt;3) copiar el /etc/conf&lt;br /&gt;# copy -vrom /etc/conf /etc/conf.pablo&lt;br /&gt;4) si queremos tener los usuarios e impresoras debemos hacer backup de los siguientes archivos:&lt;br /&gt;/etc/shadow&lt;br /&gt;/etc/passwd&lt;br /&gt;/etc/printers.conf&lt;br /&gt;/etc/hosts&lt;br /&gt;de esta forma tenemos los archivos mas importantes de nuestro sistema operativo para poder seguir trabajando en caso de un desastre.&lt;br /&gt;Para algunos casos estos no son suficientes por lo que hay que tener en cuenta las terminales que estamos emulando, teclado, si tenemos o no impresoras serie, etc&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114623806663581843?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114623806663581843/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114623806663581843&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114623806663581843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114623806663581843'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/04/backup-del-sco-505.html' title='Backup del SCO 5.0.5'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114623722050199086</id><published>2006-04-28T14:47:00.000Z</published><updated>2006-04-28T15:16:53.086Z</updated><title type='text'>Configuración de Samba (Fedora Core4)</title><content type='html'>&lt;span style="font-family: arial;"&gt;Aca les paso mi archivo de configuración de samba. (/etc/samba/smb.com) Es para que lo tomen de ejemplo.&lt;br /&gt;[global]&lt;br /&gt;        workgroup = kit.dom&lt;br /&gt;        log level = 1&lt;br /&gt;        netbios name = workstation&lt;br /&gt;        socket options = TCP_NODELAY IPTOS_LOWDELAY&lt;br /&gt;        guest ok = yes&lt;br /&gt;        Server string = fedora core 4&lt;br /&gt;        security = share&lt;br /&gt;        log file = /var/log/samba/log.%m&lt;br /&gt;        max log size = 100&lt;br /&gt;        dns proxy = no&lt;br /&gt;        printer admin = root, +ntadmin&lt;br /&gt;        encrypt passwords = yes&lt;br /&gt;&lt;br /&gt;[homes]&lt;br /&gt;        browseable = no&lt;br /&gt;        map archive = yes&lt;br /&gt;&lt;br /&gt;[printers]&lt;br /&gt;        path = /usr/tmp&lt;br /&gt;        guest ok = yes&lt;br /&gt;        printable = yes&lt;br /&gt;        min print space = 2000&lt;br /&gt;[download]&lt;br /&gt;        browseable = yes&lt;br /&gt;        valid users = root, pablo, invitado&lt;br /&gt;        read only = no&lt;br /&gt;        guest ok = yes&lt;br /&gt;        path = /download&lt;br /&gt;&lt;br /&gt;[cdrom]&lt;br /&gt;        browseable = yes&lt;br /&gt;        read only = no&lt;br /&gt;        guest ok = yes&lt;br /&gt;        path = /media/cdrom&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;span style="font-family: arial;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114623722050199086?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114623722050199086/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114623722050199086&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114623722050199086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114623722050199086'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/04/configuracin-de-samba-fedora-core4.html' title='Configuración de Samba (Fedora Core4)'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-27207858.post-114623381487271072</id><published>2006-04-28T13:43:00.000Z</published><updated>2006-05-03T23:24:35.500Z</updated><title type='text'>Mirror de discos con Solaris Disk Suite</title><content type='html'>&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="font-family:arial;"&gt;Instalación:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;br /&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;La versión recomendada es la 4.2 o superior que corre en sistemas con Solaris 2.6 o superior. Hay dos paquetes y un parche necesarios para la instalación de DiskSuite&lt;br /&gt;&lt;br /&gt;-SUNWmd&lt;br /&gt;-SUNWmdg&lt;br /&gt;- 106627-04 (obtenga la última versión de este parche)&lt;br /&gt;&lt;br /&gt;Los paquetes deben ser instalados en el mismo orden que figuran arriba. Es necesario el rebooteo después de la instalación par que los nuevos drivers sean agregados al kernel.&lt;br /&gt;Asegurese de hacer un update de su PATH y MANPATH para agregar los directorios del DiskSuite. Los ejecutables residen en /usr/opt/SUNWmd/sbin y las páginas del manual en /usr/opt/SUNWmd/man&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="font-family:arial;"&gt;El ambiente:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;br /&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;En este ejemplo mirrorearemos dos discos. El primer disco sera el primario y el segundo será el mirror. Los discos de nustro ejemplo son:&lt;br /&gt;Disco1: c0t0d0&lt;br /&gt;Disco2: c0t1d0&lt;br /&gt;Cada disco es particionado exactamente igual. El slice 2 comunmente denominado como buckup, representa el disco entero y no debe ser mirroreado.&lt;br /&gt;Hay tres particiones sin asignar en cada uno de los discos y configurada cada una con 256Mb. Estos slices de 256Mb contienen las database replica del DiskSuite, o metadb. Las metadb ocupan 517Kb pero preferimos crear slice más grandes.&lt;br /&gt;Una vez creada las particiones en el disco uno procedemos de la siguiente manera para hacer una copia exacta de esta forma de particionado en el disco 2:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Disco1:&lt;/i&gt;&lt;br /&gt;c0t0d0s0: /&lt;br /&gt;c0t0d0s1: swap&lt;br /&gt;c0t0d0s2: backup&lt;br /&gt;c0t0d0s3: unassigned&lt;br /&gt;c0t0d0s4: /var&lt;br /&gt;c0t0d0s5: unassigned&lt;br /&gt;c0t0d0s6: unassigned&lt;br /&gt;c0t0d0s7: /export&lt;br /&gt;&lt;br /&gt;para copiar esta misma configuración hacemos:&lt;br /&gt;&lt;br /&gt;# prtvtoc /dev/rdsk/c0t0d0s2 &gt; /tmp/vtoc&lt;br /&gt;# fmthard -s /tmp/vtoc /dev/rdsk/c0t1d0s2&lt;br /&gt;&lt;br /&gt;De esta forma se copia las tablas de particiones del disco 1 al disco 2.&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="font-family:arial;"&gt;Las Database state Replicas:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;Son los repositores de la información del estado y la configuración de cada metadevice. Teniendo múltiples replicas es critica par la correcta operación del Solaris DiskSuite&lt;br /&gt;- Debe haber un mínimo de 3 replicas. DiskSuite requiere al menos el 51% de las replicas presentes en orden para su operación.&lt;br /&gt;- Las replicas deben estar distribuidas entrelos discos y controladoras de ser posible.&lt;br /&gt;- En una configuración de tres discos, debe haber al menos una replica en cada disco, por si alguno de los discos falla.&lt;br /&gt;- En una configuración de dos discos, debe haber al menos dos replicas por disco. Si hubiera solo 3 y el disco que contiene dos de las mismas falla, el DiskSuite no tendrá suficiente información para funcionar.&lt;br /&gt;Aquí crearemos nuestras replicas usando el comando metadb:&lt;br /&gt;&lt;br /&gt;# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t0d0s3&lt;br /&gt;# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t0d0s5&lt;br /&gt;# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t0d0s6&lt;br /&gt;# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t1d0s3&lt;br /&gt;# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t1d0s5&lt;br /&gt;# /usr/opt/SUNWmd/sbin/metadb -a -c3 -f /dev/dsk/c0t1d0s6&lt;br /&gt;&lt;br /&gt;La opción -a atacha el nuevo dispositivo de database y automáticamente edita el archivo /etc/system. La opción -c3 crea 3 copias en este dispositivo y el -f crea las replicas en ese instante.&lt;br /&gt;Cada metadispositivo mirroreado contiene dos o más submirrors. El meta dispositivo es montado por el sistema operativo en lugar del dispositivo físico.&lt;br /&gt;Aquí crearemos los dos submirrors para el filesystem / (root), como hay un solo camino en el mirror&lt;/span&gt; &lt;span style="font-family:arial;"&gt;entre el metadispositivo y el primer submirror.&lt;br /&gt;&lt;br /&gt;# metainit -f d10 1 1 c0t0d0s0&lt;br /&gt;# metainit -f d20 1 1 c0t1d0s0&lt;br /&gt;# metainit d0 -m d10&lt;br /&gt;&lt;br /&gt;Los primeros dos comandos crean los submirror. La opción -f fuerza la creación de los submirror aún cuando el slice específico se encuentra montado. La segunda de las opciones 1 1 significa el número de stripes en el metadispositivo y el número de de slices que levantará el stripe. En una situación de mirror siempre será 1 1. Finalmente,&lt;/span&gt; &lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;&lt;/style&gt;&lt;span style="font-family:arial;"&gt;especificaremos el dispositivo físico que mirrorearemos. Despues de hacer el mirror de la partición root, necesitamos correr el comando metarrot. Este comando actualizará la entrada del root en el archivo /etc/vfstab con el nuevo metadispositivo como así también la configuración apropiada en el /etc/system. Omitir este paso es un o de los errores más comunes. &lt;/span&gt;&lt;b style="FONT-FAMILY: arial"&gt;Si usted no corre el comando metaroot antes de rebootear el equipo, no podrá bootear el sistema!!!!&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;# metarrot d0&lt;br /&gt;&lt;br /&gt;Luego continuaremos creando los submirror e indicando los metadispositivos que reemplazarán el swap y la partición /var&lt;br /&gt;&lt;br /&gt;# metainit -f d11 1 1 c0t0d0s1&lt;br /&gt;# metainit -f d21 1 1 c0t1d0s1&lt;br /&gt;# metainit -d1 -m d11&lt;br /&gt;&lt;br /&gt;# metainit -f d14 1 1 c0t0d0s4&lt;br /&gt;# metainit -f d24 1 1 c0t1d0s4&lt;br /&gt;# metainit d4 -m d14&lt;br /&gt;&lt;br /&gt;# metainit -f d17 1 1 c0t0d0s7&lt;br /&gt;# metainit -f d27 1 1 c0t1d0s7&lt;br /&gt;# metainit d7 -m d17&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;/p&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="font-family:arial;"&gt;Actualizando el /etc/vfstab&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;br /&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;El archivo /etc/vfstab debe estar actualizado al punto que refleje los cambios echos en el sistema. La partición / ya ha sido actualizada con el comando metaroot, pero el sistema necesita saber acerca de los nuevos dispositivos para el swap y el /var. Las entradas en el archivo son parecidas a las siguientes:&lt;br /&gt;&lt;br /&gt;/dev/md/dsk/d1 - - swap - no -&lt;br /&gt;/dev/md/dsk/d4 /dev/md/rdsk/d4 /var ufs 1 yes logging&lt;br /&gt;/dev/md/dsk/d7 /dev/md/rdsk/d7 /export ufs 1 yes logging&lt;br /&gt;&lt;br /&gt;Note que los path de los dispositivos han cambiado del estilo normal /dev/dsk/cxtxdxsx y /dev/rdsk/cxtxdxsx al nuevo path para los metadispositivos /dev/md/dsk/dx y /dev/md/rdsk/dx.&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="font-family:arial;"&gt;Atachemos un mirror:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;Ahora debemos atachar la otra mitad de los mirrors (obviamente antes de hacer este paso ya hemos rebooteado el sistema para que los filesistem montados sean sobre los dispositivos lógicos y no sobre los físicos). Una vez que los mirror son atachados dará comienzo automaticamente el proceso de resincronizado para asegurarse que las dos partes del mirror contengan lo mismo. Este proceso puede ser monitoreado usando el comando metastat. Para atachar los submirrors debemso usar los siguientes comandos:&lt;br /&gt;&lt;br /&gt;# metattach d0 d20&lt;br /&gt;# metattach d1 d21&lt;br /&gt;# metattach d4 d24&lt;br /&gt;# metattach d7 d27&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="FONT-WEIGHT: bold"&gt;&lt;span style="font-family:arial;"&gt;Final:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;meta content="text/html; charset=utf-8" equiv="CONTENT-TYPE"&gt;&lt;meta content="OpenOffice.org 1.9.104  (Linux)" name="GENERATOR"&gt;&lt;meta content="20060428;11334800" name="CREATED"&gt;&lt;meta content="16010101;0" name="CHANGED"&gt;&lt;style&gt;  &lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;&lt;/p&gt;&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;span style="font-family:arial;"&gt;Con un ojo puesto en el caso de tener que hacer una recuperación. Puede que sea una buena idea saber cual es el dispositivo físico del segundo disco, para de esta forma configurar los parámetros de OBP que me permitan bootear tanto de un disco como de otro en caso que uno de los dos no funcione. Para saber a donde están apuntando nuestros discos debemos correr el siguiente comando:&lt;br /&gt;&lt;br /&gt;# ls -l /dev/dsk/c0t0d0s0&lt;br /&gt;esto nos dará una salida parecida a esta:&lt;br /&gt;/sbus@3,0/SUNW,fas@3,8800000/sd@1,0:a&lt;br /&gt;&lt;br /&gt;Lo mismo hacemos para el otro disco y luego usando esta información creamos un alias para este dipositivo y para el segundo con el comando nvalias dentro de obp, y cambiamos luego las opciones boot-device y diag-device.&lt;br /&gt;&lt;br /&gt;Pablo G. Saitta&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/27207858-114623381487271072?l=articulostecnicos.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://articulostecnicos.blogspot.com/feeds/114623381487271072/comments/default' title='Comentarios de la entrada'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=27207858&amp;postID=114623381487271072&amp;isPopup=true' title='0 Comentarios'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114623381487271072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/27207858/posts/default/114623381487271072'/><link rel='alternate' type='text/html' href='http://articulostecnicos.blogspot.com/2006/04/mirror-de-discos-con-solaris-disk.html' title='Mirror de discos con Solaris Disk Suite'/><author><name>Pablo G. Saitta</name><uri>http://www.blogger.com/profile/16512450753537836197</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
