tag:blogger.com,1999:blog-30949749772651282672024-02-18T22:31:22.610-08:00Minimal Solarisalhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.comBlogger47125tag:blogger.com,1999:blog-3094974977265128267.post-19351745376370998112020-08-02T06:46:00.003-07:002020-08-02T07:31:47.855-07:00How to determine PXE mac address when booting illumos via PXELinux/iPXE In illumos, if you need to determine the interface which was used for booting via PXE then it's possible to use "boot-mac" property:<br /><pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: consolas, "liberation mono", menlo, courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span><span style="line-height: 15.95px;"># </span></span>/sbin/devprop -s boot-mac <p>c:c4:7a:04:ef:2c</p></pre>
But this property is set by illumos pxeboot. On some setup we use PXELinux to boot multiple illumos clients over PXE.
For any illumos distribution "append" line in pxelinux.cfg looks like:<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="font-family: inherit; line-height: 15.95px;">label omni PXE
kernel mboot.c32
append omni7/platform/i86pc/kernel/amd64/unix -B install_media=http://192.168.1.1/kayak.zfs.xz,install_config=http://192.168.1.1 ---omni7/miniroot
</span></span></pre>
If you have small amount of clients, then it's possible to just add each client's mac address to the kernel line with -B boot-mac=<hardware-address>, but it doesn't work in case you have a hundreds of clients. <div><br /></div><div>Pxelinux menu has "ipappend 2" option, which appends "BOOTIF=<hardware-address-of-boot-interface>" to the kernel command line, but pxelinux puts BOOTIF exactly at the end of "append" line, after boot_archive, and kernel does not recognise this variable after boot.
There are no any way to set something like -B BOOTIF dynamically here. </div><div><br /></div><div>Fortunately, we can boot iPXE from pxelinux menu.
DHCP configuration was updated to allow iPXE boot when ipxe.lkrn boot:
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: consolas, "liberation mono", menlo, courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span><span style="line-height: 15.95px;">...
if exists user-class and option user-class = "iPXE" {
filename "menu.ipxe";
} else {
filename "pxelinux.0";
} </span></span></pre><div><br /></div>
pxelinux.cfg/default:<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="font-family: inherit; line-height: 15.95px;">...
label omni7
kernel ipxe.lkrn
</span></span></pre>
menu.ipxe:<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="font-family: inherit; line-height: 15.95px;">#!ipxe
kernel omni7/platform/i86pc/kernel/amd64/unix -B boot-mac=${netX/mac},install_media=http://192.168.1.1/omni7/kayak.zfs.xz,install_config=http://192.168.1.1/omni7
initrd omni7/miniroot
boot
</span></span></pre>
iPXE allows to get mac address with ${netX/mac} variable, so "boot-mac" will contain mac-address which was used for booting via PXE.
</div>alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-82428301208383377722020-04-14T07:48:00.000-07:002020-05-03T05:03:41.550-07:00Nekoware build system for IRIX<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5i1pf23br6cH9g1EG3CSKxoYWzroWeAf1qk-fQn5UWGRNiC74OGp-QfL3V8p3iMHfmUtbPgnkPWlUJlj55N9xzsILzvCIu7hI3lFqRrZguDL3EuCsuakVYJFI5vYhNy_JzldHdPHyIGbh/s1600/IMG_4573.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5i1pf23br6cH9g1EG3CSKxoYWzroWeAf1qk-fQn5UWGRNiC74OGp-QfL3V8p3iMHfmUtbPgnkPWlUJlj55N9xzsILzvCIu7hI3lFqRrZguDL3EuCsuakVYJFI5vYhNy_JzldHdPHyIGbh/s640/IMG_4573.jpg" width="640" /></a></div>
<span style="background-color: white;"><br /></span>
<br />
Besides Solaris, I love IRIX and, as the owner of the Octane, I'd like to have modern versions of at least basic utilities. Almost all packages from <a href="http://nekofiles.irixnet.org/nekoware">http://nekofiles.irixnet.org/nekoware</a> have been installed for a long time ago but time is running out and why not collect new versions yourself. <a href="https://github.com/alhazred/nekoware-build">Here</a> you can find the initial scripts that allow you to build nekoware tardists. I have focused on "first-aid" stuff so far, like bash, awk, sed and grep but going to add more components later. If someone also wants to participate, just ping me with <a href="https://github.com/alhazred/nekoware-build">pull-request</a>.</div>
</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0Helsinki, Finland60.228546378304813 24.9416897093920458.213974378304812 19.77811570939204 62.243118378304814 30.105263709392041tag:blogger.com,1999:blog-3094974977265128267.post-8331979918030190032019-12-27T12:00:00.006-08:002020-02-25T11:06:12.367-08:00hwi: illumos hardware info utility, inspired by inxi<div dir="ltr" style="text-align: left;" trbidi="on">
Тhere are a number of utilities to get hardware information in illumos but none have a convenient or complete output. I liked the <a href="https://smxi.org/docs/inxi.htm"><i><span style="color: #134f5c;">inxi</span></i></a> output on Linux and I tried to reproduce something <i><a href="https://github.com/alhazred/hwi"><span style="color: #134f5c;">similar</span></a> f</i>or illumos:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5c4c6j_DimteFJ1KwdEILZAb_9Q8vp9bixQl5P7iz4pgXJjgJobC553vLc-3UfuPJM4f7py42Mls5Nrc8RsMWpgm9RH4AkRrgw96TzUcVxO_86ZMiYJghSM7C5Sgu50mhh418zW7Zw4s1/s640/Screenshot+2019-12-27+at+21.56.07.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="343" data-original-width="1600" height="137" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5c4c6j_DimteFJ1KwdEILZAb_9Q8vp9bixQl5P7iz4pgXJjgJobC553vLc-3UfuPJM4f7py42Mls5Nrc8RsMWpgm9RH4AkRrgw96TzUcVxO_86ZMiYJghSM7C5Sgu50mhh418zW7Zw4s1/s640/Screenshot+2019-12-27+at+21.56.07.png" width="640" /></a></div>
<br /></div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-17924231441754981592019-06-15T02:45:00.001-07:002019-06-15T02:46:56.216-07:00Jenkins X: Monitor Tekton Pipelines deployments with Kibana<div dir="ltr" style="text-align: left;" trbidi="on">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; min-height: 14.0px}
</style>
<br />
<div class="p1">
If something goes wrong, the first thing you do is look at the logs. For<span class="Apple-converted-space"> </span>serverless <span style="color: #0b5394;">Jenkins X</span> it is a little problematic if some time has passed -<span class="Apple-converted-space"> </span>build pods have already died safely and<span class="Apple-converted-space"> </span><span style="color: #0b5394;"><i>jx get build logs</i></span> only gives you:</div>
<div class="p1">
<br /></div>
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">error: no Tekton pipelines have been triggered which match the current filter
</span></pre>
<div class="p2">
<br /></div>
<div class="p2">
But what if you want to find the cause of some error or compare the current build log with yesterday?</div>
<div class="p1">
There is a <a href="https://github.com/tektoncd/dashboard"><span style="color: #0b5394;">dashboard</span></a> for <span style="color: #0b5394;">Tekton</span> which looks nice but persistent logs unfortunately are not supported yet (I hope this feature will appear in the future).</div>
<div class="p1">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcT7m5cO8Wco0M-BVWDySMYY9nOodNVyeXk7pLmA8aNTr9W0ot-lAryP96zbw9hfmfKED_9q8bYHjOpFueNEPdXSSXkVJh_woby1n11rrxmJYz7ie7QjM7xkCPw-O4RwezUzHlR24rw_Eg/s1600/Screenshot+2019-06-15+at+11.27.03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="842" data-original-width="1600" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcT7m5cO8Wco0M-BVWDySMYY9nOodNVyeXk7pLmA8aNTr9W0ot-lAryP96zbw9hfmfKED_9q8bYHjOpFueNEPdXSSXkVJh_woby1n11rrxmJYz7ie7QjM7xkCPw-O4RwezUzHlR24rw_Eg/s640/Screenshot+2019-06-15+at+11.27.03.png" width="640" /></a></div>
<div class="p1">
<br /></div>
<div class="p2">
<br /></div>
<div class="p1">
Happily there is an Elastic Stack. I installed the <span style="color: #0b5394;">Kibana</span> following the instructions from <span style="color: #0b5394;"><a href="https://github.com/mgreau/tekton-pipelines-elastic-tutorials">tekton-pipelines-elastic-tutorials</a>.</span></div>
<div class="p1">
Although there are an warning that it was tested on a Mac only, everything started and works fine<span class="Apple-converted-space"> </span>on Ubuntu, for example.<br />
<br /></div>
<div class="p1">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ0XZAU07woWJ0IM_czT5CV6cSYkzxkyX0diAIR9nOAbZKU_c-0bpIa1Ai284wAtQk9ZhnQYBUo2LSQUkyqK4AhS1OKs9rtUA_nBxG96RlwE2n_2KpzJQsNOCLp3RrBs_dRcOpmFsJbtGB/s1600/Screenshot+2019-06-15+at+11.32.34.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="848" data-original-width="1600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJ0XZAU07woWJ0IM_czT5CV6cSYkzxkyX0diAIR9nOAbZKU_c-0bpIa1Ai284wAtQk9ZhnQYBUo2LSQUkyqK4AhS1OKs9rtUA_nBxG96RlwE2n_2KpzJQsNOCLp3RrBs_dRcOpmFsJbtGB/s640/Screenshot+2019-06-15+at+11.32.34.png" width="640" /></a></div>
<br /></div>
<div class="p2">
<br /></div>
<div class="p1">
<span style="color: #0b5394;">Kibana</span> allows not only to monitor <span style="color: #0b5394;">Tekton</span> Tasks or Pipelines (and not only) in real time but also to check one or another log for yesterday or any other day.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv0S4khxGq7xdQVNM8j-kLrtI3rINk5IpGsu9Z7jAbv-QF7UqPC7tymIjMs7Pewijx0lBgPk5c4qVHBGv2F0jaKpX4o_dzgSdbGzTRdplb0wXHUnW3ZQhtq1zHA5xxQqaNtYoitHdunlyC/s1600/Screenshot+2019-06-15+at+11.23.35.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="847" data-original-width="1600" height="334" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjv0S4khxGq7xdQVNM8j-kLrtI3rINk5IpGsu9Z7jAbv-QF7UqPC7tymIjMs7Pewijx0lBgPk5c4qVHBGv2F0jaKpX4o_dzgSdbGzTRdplb0wXHUnW3ZQhtq1zHA5xxQqaNtYoitHdunlyC/s640/Screenshot+2019-06-15+at+11.23.35.png" width="640" /></a></div>
<br /></div>
<br /></div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0Helsinki, Finland60.169855699999992 24.9383791000000259.663417699999989 23.647485600000021 60.676293699999995 26.229272600000019tag:blogger.com,1999:blog-3094974977265128267.post-8663870933930639242019-05-22T03:57:00.000-07:002019-06-06T12:44:21.116-07:00How To Install Jenkins X On Ubuntu VM<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; min-height: 14.0px}
span.s1 {color: #dca10d}
</style>
<div class="p1">
<span style="font-family: inherit;">I hope these steps will be useful for those who want to try Jenkins X on a local VM without external IP (NAT). In my case this is VMware ESXi VM, Ubuntu 18.04.2 LTS, 10GB RAM.</span></div>
<div class="p1">
<span style="font-family: inherit;">For the Kubernetes installation, just follow the good instructions from <a href="https://www.edureka.co/blog/install-kubernetes-on-ubuntu"><span style="color: #0b5394;">here</span>.</a> </span></div>
<div class="p2">
<span style="font-family: inherit;">My installation was different in that the to fix coredns Pending state, I’ve installed <span style="color: #0b5394;">weave-net</span> pod network instead of <span style="color: #0b5394;">CALICO</span>:</span></div>
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="line-height: 15.95px;"><span style="font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
</span><span style="font-family: inherit;">$ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\ n')"
</span><span style="font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
</span></span></span></pre>
<div class="p1">
<br /></div>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; min-height: 14.0px}
</style>
<div class="p1">
<span style="font-family: inherit;">Few preparations were necessary before <span style="color: #0b5394;"><i>jx install</i></span>: I killed much time getting ADDRESS column not empty in <span style="color: #0b5394;"><i>kubectl get ing</i></span> output, using ClusterIP, NodePort and LoadBalancer in rotation, so I chose separate ingress install:</span></div>
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="font-family: inherit; line-height: 15.95px;">$ helm upgrade --install ingress --namespace=ingress --set \
rbac.create=true,controller.kind=DaemonSet,controller.service.type=ClusterIP,controller.hostNetwork=true,controller.extraArgs.report-node-internal-ip-address=true </span></span>stable/nginx-ingress</pre>
</div>
<br />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
<div class="p1">
If you see:</div>
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="line-height: 15.95px;"><span style="font-family: inherit;">Error: could not find tiller</span><span style="font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;"> </span></span><span style="font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace; line-height: 15.95px;">
</span></span></pre>
<br />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
<div class="p1">
<span style="font-family: inherit;">use these commands:</span></div>
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="color: #333333;"><span style="font-family: inherit; line-height: 15.95px;">$ kubectl —-namespace kube-system create serviceaccount tiller
$ kubectl create clusterrolebinding tiller-cluster-rule —-clusterrole=cluster-admin —-serviceaccount=kube-system:tiller
$ kubectl —-namespace kube-system patch deploy tiller-deploy -p ‘{“spec”:{“template”:{“spec”:{“serviceAccount”:”tiller”}}}}’
$ kubectl taint nodes —all node-role.kubernetes.io/master- </span></span></pre>
<div>
<br /></div>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; min-height: 14.0px}
</style>
<div class="p1">
Then I used nfs provider to get persistent volumes (nfs server is required):</div>
<div class="p1">
<br /></div>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><div class="p1">
<span style="font-family: inherit;">$ helm install stable/nfs-client-provisioner --set nfs.server=NFS_SERVER_IP --set nfs.path=NFS_SHARE_PATH </span></div>
</pre>
<div class="p1">
</div>
<div class="p2">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
</div>
<div class="p1">
Now it's ready for install:</div>
<div class="p1">
<br /></div>
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><div class="p1">
<span style="font-family: inherit;">$ jx install --provider=kubernetes --external-ip=YOUR_VM_IP --ingress-service=ingress-nginx-ingress-controller --ingress-deployment=ingress-nginx-ingress-controller --ingress-namespace=ingress --on-premise </span></div>
</pre>
<div class="p1">
<br /></div>
<div class="p1">
<span style="font-family: inherit;">Answer "no" when <span style="color: #0b5394;"><i>jx</i></span> will ask "No existing ingress controller found in the kube-system namespace, shall we install one?"</span></div>
<div class="p1">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
</div>
<div class="p1">
<span style="font-family: inherit;"><br /></span></div>
<div class="p1">
<span style="font-family: inherit;">After install, check that ADDRESS column is not empty in <span style="color: #0b5394;"><i>kubectl get ing</i></span> output:</span></div>
<div class="p1">
<br /></div>
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><div class="p1" style="color: #333333;">
<span style="font-family: inherit;">$ kubectl get ing</span></div>
<pre>NAME HOSTS ADDRESS PORTS AGE
<span style="font-family: inherit;">chartmuseum </span> chartmuseum.jx.10.2.20.46.nip.io 10.2.20.46 80 42h
deck deck.jx.10.2.20.46.nip.io 10.2.20.46 80 42h
docker-registry docker-registry.jx.10.2.20.46.nip.io 10.2.20.46 80 42h
hook hook.jx.10.2.20.46.nip.io 10.2.20.46 80 42h
jx-jx-app-jenkins jx-jx-app-jenkins.jx.10.2.20.46.nip.io 10.2.20.46 80 41h
monocular monocular.jx.10.2.20.46.nip.io 10.2.20.46 80 42h
nexus nexus.jx.10.2.20.46.nip.io 10.2.20.46 80 42h
tide tide.jx.10.2.20.46.nip.io 10.2.20.46 80 42h</pre>
</pre>
<div class="p1">
<br />
<span style="font-family: inherit;">Check the local hook ingress connectivity:</span><br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: inherit;">$ curl -S hook.jx.10.2.20.46.nip.io</span></pre>
<br />
<span style="font-family: inherit;">Now you can import your local project to Jenkins X with <span style="color: #0b5394;"><i>jx import</i></span> or add some predefined projects with <span style="color: #0b5394;"><i>jx create</i></span>. </span><br />
<span style="font-family: inherit;">Since VM does not have an external IP, webhooks that Jenkins prescribed on a Github will not work. There are several solutions here - for example <a href="http://www.ultrahook.com/" rel=""><span style="color: #0b5394;">ultrahook</span></a>. Replace Jenkins X webhooks URL for Staging, Production and your Dev repositories on Github with ultrahook URL and run with an ingress hook URL:</span><br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: inherit;">$ ultrahook github http://hook.jx.10.2.20.46.nip.io/hook</span></pre>
<br />
<span style="font-family: inherit;">To get Jenkins X console working (it only makes sense if you use Jenkinsfile in some project), needs to install Jenkins App first (choose all required plugins):</span><br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: inherit;">$ jx add app jx-app-jenkins</span></pre>
<br /></div>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
<br />
<div>
<span style="font-family: inherit;">and run it:</span><br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: inherit;">$ jx console
Jenkins Console: http://jx-jx-app-jenkins.jx.10.2.20.46.nip.io</span></pre>
</div>
<br />
<span style="font-family: inherit;">After opening this URL in browser, you'll see usual Jenkins login page. Surprisingly, the admin password you wrote down after installation is not suitable here. Maybe I missed something, but I had to run the following commands to find out the password:</span><br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: inherit;">$ go get github.com/mfuentesg/ksd</span></pre>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'}
</style>
<br />
<span style="font-family: inherit;">and then look for the jenkins-admin-password field:</span><br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow-wrap: normal; overflow: auto; padding: 16px;"><span style="font-family: inherit;">$ kubectl get secret jx-jx-app-jenkins -o yaml | ksd</span></pre>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">And you should see the familiar interface after login:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYluQZ9VPSXEL8qp1wVVXnyfvWAGHdl0fjZR8VQ6S4W_t248rbcqi3V5cseyiNm-QWqQBoBTeNvXIZM4kALXxKQl-NOCD1wFr6Es6MZ35dKTYwm_Xt0kPd7dfFhaqhBcTso02jkpvGAbM7/s1600/Screenshot+2019-05-22+at+11.41.42.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="852" data-original-width="1366" height="392" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYluQZ9VPSXEL8qp1wVVXnyfvWAGHdl0fjZR8VQ6S4W_t248rbcqi3V5cseyiNm-QWqQBoBTeNvXIZM4kALXxKQl-NOCD1wFr6Es6MZ35dKTYwm_Xt0kPd7dfFhaqhBcTso02jkpvGAbM7/s640/Screenshot+2019-05-22+at+11.41.42.png" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0Helsinki, Finland60.169855699999992 24.9383791000000259.663417699999989 23.647485600000021 60.676293699999995 26.229272600000019tag:blogger.com,1999:blog-3094974977265128267.post-19035504841308349142018-11-06T07:57:00.001-08:002019-06-06T12:45:25.804-07:00Building ripgrep on illumos<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: left;">
Last night I tried to build <a href="https://github.com/BurntSushi/ripgrep"><span style="color: #0b5394;">ripgrep</span></a> (grep on steroids). Of course I used Nexenta, but everything below will work for any illumos distribution. <span style="color: #0b5394;">ripgrep</span> is written in Rust and we can get the latest Rust version with <a href="https://pkgsrc.joyent.com/install-on-illumos/"><span style="color: #0b5394;">pkgin</span></a> (many thanks to Jonathan Perkin):<br />
<br /></div>
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
$ pkgin search rust
...
rust-1.30.0 = Safe, concurrent, practical language</span>
...
$ pkgin install rust
$ export PATH=$PATH:/opt/local/bin
</pre>
<br />
Building ripgrep:
<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
$ git clone https://github.com/BurntSushi/ripgrep
$ cd ripgrep
$ cargo build --release
Updating crates.io index
warning: spurious network error (2 tries remaining): no Content-Type header in response; class=Net (12)
warning: spurious network error (1 tries remaining): no Content-Type header in response; class=Net (12)
error: failed to update registry `https://github.com/rust-lang/crates.io-index
Caused by:
failed to fetch `https://github.com/rust-lang/crates.io-index
Caused by:
no Content-Type header in response; class=Net (12)
</span></pre>
<br />
Bang! If you have such error: clone crates.io-index git to the .cargo directory in your $HOME:
<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
$ cd ~/.cargo
$ git clone --bare https://github.com/rust-lang/crates.io-index.git
</span></pre>
<br />
Then create .cargo/config file:
<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
$ cat .cargo/config
[registry]
index = "file:///home/alhazred/.cargo/crates.io-index.git"
</span></pre>
<br />
Now build will successful:
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;">
$ cargo build --release
...
$ ./target/release/rg --version
ripgrep 0.10.0 (rev fb62266620)
-SIMD -AVX (compiled)
+SIMD -AVX (runtime)
</span></pre>
<br />
Now you can compare the ripgrep speed and performance with usual grep. See <a href="https://blog.burntsushi.net/ripgrep/"><span style="color: #0b5394;">Andrew Gallant's Blog</span></a> for more information. .
</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0Helsinki, Finland60.169855699999992 24.9383791000000259.663417699999989 23.647485600000021 60.676293699999995 26.229272600000019tag:blogger.com,1999:blog-3094974977265128267.post-14822300291626612782018-10-31T03:39:00.000-07:002020-02-25T10:57:45.816-08:00New v9os iso and repository archive<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpP6scZtH20Zk7AujklrQhc6ITa1MsDzhLXsINefH9bE4FNOeSzLJzEYFl3qi4t-MSpSnjcptWJ3sqyMM2ySUNcX8svf_preVw3CsjM1GmFxq9bNhcmkbTwrKnAVrYaMJCQYVUzKqbjZY3/s1600/sparc.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1210" data-original-width="1280" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpP6scZtH20Zk7AujklrQhc6ITa1MsDzhLXsINefH9bE4FNOeSzLJzEYFl3qi4t-MSpSnjcptWJ3sqyMM2ySUNcX8svf_preVw3CsjM1GmFxq9bNhcmkbTwrKnAVrYaMJCQYVUzKqbjZY3/s200/sparc.jpg" width="200" /></a></div>
<br />
Well, two years later, I decided to upgrade <a href="http://milax.fi/v9os.html">v9os</a>. As a result, after the noise of the servers under my ear I have a little bad hearing at the moment :). But iso was rebuilt with spring changes from the illumos (unfortunately the system is panicking after later commits, I hope to solve this out later).<br />
Some things were fixed, some components were updated, pkg and caiman were moved to python 2.7. I’ve a more powerful server now and I hope that further updates will be forthcoming in this winter.<br />
Site design was also a bit <a href="http://milax.fi/v9os.html">updated</a>.</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com2tag:blogger.com,1999:blog-3094974977265128267.post-4725150492803882132018-06-27T11:35:00.000-07:002020-02-25T10:57:21.058-08:00Unleashed - an operating system fork of illumos<div dir="ltr" style="text-align: left;" trbidi="on">
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Helvetica Neue'; color: #454545; min-height: 14.0px}
</style>
<br />
<div class="p1">
<span style="font-family: inherit; font-size: small;">If someone looking for the operating system with ZFS, DTrace and other illumos-buns, system that has been a bit cleared from the some outdated SunOS-code, with modern utilities and libraries, and most importantly, with simple contribution process (hey, illumos-gate refugees) - here it is: <a href="http://unleashed-os.org/">Unleashed-OS</a>.</span></div>
<div class="p1">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrmO5T6aPFnN5VOWuKH2xv9ZsIxhesyBrkNQM6UgY2wEORuS2DA8x_lWXbopsTJu1Wn6VVG2GoO89vx6MGnVIHN6ff-KwV6eHiDmOwPfJhvGOMmxUb4t-MtsUIFtKlH_zLCcAxjaDKLq9y/s1600/DgoItNiXkAAXK0K.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="449" data-original-width="733" height="388" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrmO5T6aPFnN5VOWuKH2xv9ZsIxhesyBrkNQM6UgY2wEORuS2DA8x_lWXbopsTJu1Wn6VVG2GoO89vx6MGnVIHN6ff-KwV6eHiDmOwPfJhvGOMmxUb4t-MtsUIFtKlH_zLCcAxjaDKLq9y/s640/DgoItNiXkAAXK0K.jpg" width="640" /></a></div>
<div class="p2">
<br /></div>
<a href="http://unleashed-os.org/releases/1.0/notes.txt">Notes</a> for the first release.</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0Finland60.4747894 25.09710510000002260.4118479 24.935056600000021 60.5377309 25.259153600000023tag:blogger.com,1999:blog-3094974977265128267.post-27303841456254290962016-12-18T23:30:00.000-08:002020-02-25T11:05:07.913-08:00How to reset Solaris 11 root password in a minute using kmdb<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "arial" , "helvetica" , sans-serif;">Following a bit outdated, ufs-based method from </span><a href="https://blogs.oracle.com/vallishguru/entry/using_kmdb_to_reset_lost" style="font-family: arial, helvetica, sans-serif;">"</a><span style="background-color: white; font-family: "arial" , "helvetica" , sans-serif;"><a href="https://blogs.oracle.com/vallishguru/entry/using_kmdb_to_reset_lost">Using kmdb to reset lost Solaris root password"</a> article, we still use <i>uiomove</i> break point. </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Apply kmdb and single-mode options to the grub kernel line and boot the machine. </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Wait for the SINGLE USER MODE message, type "root" for the user name. </span><span style="color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Now wait a minute until smf services run </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">and then </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">switch to kmdb prompt (F1-a) </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">right after "Enter root password (control-d to bypass):" message.</span><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOnPUKFoCNJ47LF4Ppi-pQs_PrK5YiVv7cLCx2IRR9ehMV6wiYY3maC7jMLmkIR4sxiO-PaTzxtTJL9U4U46SIE2zsPtqHBYyiempDa6iFzp_dtzjdCNMx5Z19TRqMEFoPDEYYJOzFBWId/s1600/mdb1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="545" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOnPUKFoCNJ47LF4Ppi-pQs_PrK5YiVv7cLCx2IRR9ehMV6wiYY3maC7jMLmkIR4sxiO-PaTzxtTJL9U4U46SIE2zsPtqHBYyiempDa6iFzp_dtzjdCNMx5Z19TRqMEFoPDEYYJOzFBWId/s640/mdb1.png" width="640" /></a></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; color: #333333;"><br /></span></span>
<br />
<div style="text-align: center;">
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div style="text-align: left;">
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">Set break point at <i>uiomove+0xc</i> and type :c to continue. </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">You will need to step forward by pressing <i>:u</i> and <i>:c</i> </span><span style="color: #333333; font-family: "arial" , "helvetica" , sans-serif;">two or three times </span><span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif;">and look for the state where <i>zfs`dmu_read_uio_dnode </i>calls <i>zfs`dmu_read_uio_dbuf</i> and finally <i>uiomove</i>:</span></div>
<span style="background-color: white; color: #333333; font-family: "arial" , "helvetica" , sans-serif; text-align: left;"><br /></span></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMa4bTzuhuUEwf9zZrFb8TkjZLI-2JZXv-WuNI5te0FGTanGeaA5I8Hn7saGLq1haweezoii9EtPaQjYyDCWM3Pw2ZmrKCJbRHUH9NJr6O_g1dNCq-NMtC0fNBwwSWLqdn8ltBsQ7cRLPi/s1600/mdb2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="520" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMa4bTzuhuUEwf9zZrFb8TkjZLI-2JZXv-WuNI5te0FGTanGeaA5I8Hn7saGLq1haweezoii9EtPaQjYyDCWM3Pw2ZmrKCJbRHUH9NJr6O_g1dNCq-NMtC0fNBwwSWLqdn8ltBsQ7cRLPi/s640/mdb2.png" width="640" /></a></div>
<br />
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;">On the screenshot below we found "/etc/shadow" data in <i>ffff810042207c00</i>. Now </span><span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;">all what we need is to change the first character of the root password to ":" and, a</span><span style="background-color: white; color: #333333; font-family: "arial" , sans-serif;">fter removing break point and continue, we get the root shell prompt:</span><br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZi19I20nX2BmivdloriFfCp32sJyWDYhXZRPwSgU8K6moUfR6o_ZfOgDWUZDgdrBJtawWGRqSKh8MsWhSyvGcxA_fqq77LF-sN0bDc0R7xX0s3DIaZWROwPIFu2_a1CkLsER420xDVWg-/s1600/mdb3.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="520" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZi19I20nX2BmivdloriFfCp32sJyWDYhXZRPwSgU8K6moUfR6o_ZfOgDWUZDgdrBJtawWGRqSKh8MsWhSyvGcxA_fqq77LF-sN0bDc0R7xX0s3DIaZWROwPIFu2_a1CkLsER420xDVWg-/s640/mdb3.png" width="640" /></a></div>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<br />
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span><span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span>
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;">Now you can reset the password and reboot.</span><br />
<span style="background-color: white; color: #333333; font-family: "arial" , sans-serif; font-size: 14px;"><br /></span></div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-48376921143462253342016-07-30T14:01:00.002-07:002020-02-25T11:05:25.534-08:00Meet v9os, a minimalist illumos-based SPARC distro<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCpuOWVwOtsGRj49waw07fEYxXlD8h_XDFT7xmKxcmOY_LFRjx8DweHAO47BfPLVdgexe6p_tmvRQILcLDpWyFKvfOhMLJqqmA-7pVC22Q6hNTPkeRRkjSRVnpuYW8SKcGyn3MANlkwoNz/s1600/FullSizeRender.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCpuOWVwOtsGRj49waw07fEYxXlD8h_XDFT7xmKxcmOY_LFRjx8DweHAO47BfPLVdgexe6p_tmvRQILcLDpWyFKvfOhMLJqqmA-7pVC22Q6hNTPkeRRkjSRVnpuYW8SKcGyn3MANlkwoNz/s320/FullSizeRender.jpg" width="320" /></a></div>
<div style="text-align: left;">
This summer I decided то build something compact and modern for my two SunFire servers using IPS. Meet <a href="http://www.v9os.org/">v9os</a> - minimalist illumos-based SPARC distro.</div>
<div>
<div class="p1">
On this stage, actually it's an OmniOS SPARC version, because the iso was mostly created using <a href="https://github.com/omniti-labs/omnios-build">omnios-build</a>, so I would like to express my deepest gratitude to OmniOS developers.</div>
<div class="p1">
<br /></div>
<div class="p1">
The iso was tested on SunFire v240. I would be grateful for any feedback on what works, and how it boots on other SPARC servers. I'm looking for the hosting for the IPS repository, for now you need to download packed IPS repo from the <a href="https://sourceforge.net/projects/v9os/files/">sourceforge</a> and put it somewhere on installed system. I forgot to fix timezone installer issue in this iso, so please just type “Continue” on timezone screen while installing. Root password is solaris. This is a beta release and it lacks yet some packages like java, gcc 5. </div>
<div class="p2">
<br /></div>
<div class="p2">
Special thanks to Martin (I used <a href="http://opensxce.org/">OpenSXCE</a> on the first step) and Igor for the SPARC support in illumos.</div>
</div>
</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com25tag:blogger.com,1999:blog-3094974977265128267.post-79153862873807879642016-04-29T07:42:00.000-07:002020-02-25T10:57:07.847-08:00Firefly failsafe image was updated<div dir="ltr" style="text-align: left;" trbidi="on">
The following changes have been made:<br />
<br />
<ol style="text-align: left;">
<li>smf removed completely</li>
<li>freebsd bootloader from the illumos loader project</li>
<li>busybox provides init and many others commands</li>
<li>network configuration script (/etc/init.d/netconfig) is included</li>
<li>it's a possible to copy files over network using scp</li>
<li>console has white background color</li>
<li> image size now is 58 MB</li>
</ol>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjugIKOklrhwQE3Z4EOStsi39oh6pOc5VZBgZR4n-akuN05zPKi0Abk07WdYqWgCryomRuaEYAYw1qwWptwEl-xGT1aGiaypJ2Iz21q8kzaL47D3z7kfe4VcXcxvr26v6WWJdNmtelYqf9I/s1600/Screen+Shot+2016-04-29+at+17.17.54.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjugIKOklrhwQE3Z4EOStsi39oh6pOc5VZBgZR4n-akuN05zPKi0Abk07WdYqWgCryomRuaEYAYw1qwWptwEl-xGT1aGiaypJ2Iz21q8kzaL47D3z7kfe4VcXcxvr26v6WWJdNmtelYqf9I/s400/Screen+Shot+2016-04-29+at+17.17.54.png" width="400" /></a></div>
</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com2tag:blogger.com,1999:blog-3094974977265128267.post-10882676583206398542015-12-09T03:23:00.002-08:002020-02-25T10:56:44.264-08:00The Linux “free” command for Solaris/illumos<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="p1">
I never understood why Solaris does not contain a simple way to checking the amount of used/free memory and swap. On Linux you can check the used and available space of physical memory and swap by using "free" command. <a href="https://github.com/alhazred/free">Here's</a> the simple analogue for solaris/illumos, based on Brendan Gregg's swapinfo. Unlike Linux version, “cached" means here memory used by the ZFS ARC Cache. Many thanks to Sebastian Wiedenroth, who has made significant changes and <a href="https://github.com/wiedi/free">continues</a> development.<br />
<br />
<pre style="background-color: #f7f7f7; border-radius: 3px; box-sizing: border-box; color: #333333; font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; font-size: 11px; font-stretch: normal; line-height: 1.45; overflow: auto; padding: 16px; word-wrap: normal;"><span style="color: #333333; font-family: "consolas" , "liberation mono" , "menlo" , "courier" , monospace;"><span style="font-size: 11px; line-height: 15.95px;"># uname -s
SunOS
# free
total used free locked kernel cached
Mem: 128G 916M 87.0G 0 17.0G 23.1G
Swap: 75.9G 1.26G 74.7G</span></span></pre>
</div>
</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-75030464846902973572015-09-19T06:15:00.001-07:002020-02-25T11:06:51.312-08:00GPT fdisk on illumos<div dir="ltr" style="text-align: left;" trbidi="on">
Is there an alternative to the illumos native fdisk? Yes, for example, <a href="http://www.rodsbooks.com/gdisk/">GPT fdisk</a> from Rod Smith. It includes the gdisk, cgdisk, sgdisk, and fixparts programs. Site mentions only usage on Linux, FreeBSD, Mac OS X and Windows, but it is possible that GPT fdisk may be suitable on illumos-based distributions. It requires popt library (OmniOS contains it) and latest version built with no problems, except for a small fix for ncurses.
<pre>
root@test:# ./gdisk /dev/dsk/c2t3d0p0
GPT fdisk (gdisk) version 1.0.0
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help): p
Disk /dev/dsk/c2t3d0p0: 10485760 sectors, 5.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F24F914A-AD82-D84D-B0FC-81351563B356
Partition table holds up to 9 entries
First usable sector is 34, last usable sector is 10485726
Partitions will be aligned on 1-sector boundaries
Total free space is 222 sectors (111.0 KiB)
Number Start (sector) End (sector) Size Code Name
1 256 10469342 5.0 GiB BF01 zfs
9 10469343 10485726 8.0 MiB BF07
Command (? for help): i
Partition number (1-9): 1
Partition GUID code: 6A898CC3-1DD2-11B2-99A6-080020736631 (Solaris /usr & Mac ZFS)
Partition unique GUID: F9BEC73D-23D3-C168-E74A-D60ED3EC565D
First sector: 256 (at 128.0 KiB)
Last sector: 10469342 (at 5.0 GiB)
Partition size: 10469087 sectors (5.0 GiB)
Attribute flags: 0000000000000000
Partition name: 'zfs'
Command (? for help):
b back up GPT data to a file
c change a partition's name
d delete a partition
i show detailed information on a partition
l list known partition types
n add a new partition
o create a new empty GUID partition table (GPT)
p print the partition table
q quit without saving changes
r recovery and transformation options (experts only)
s sort partitions
t change a partition's type code
v verify disk
w write table to disk and exit
x extra functionality (experts only)
? print this menu
Command (? for help):
</pre>
<br />
</div>alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com2tag:blogger.com,1999:blog-3094974977265128267.post-72000758925962937942015-07-27T09:21:00.001-07:002020-02-25T11:07:11.104-08:00Building own failsafe image using firefly scripts<div dir="ltr" style="text-align: left;" trbidi="on">
I've put some distro-const scripts to the <a href="https://github.com/alhazred/firefly">github</a> repo at https://github.com/alhazred/firefly for anyone who wants to build their own illumos-based failsafe image. Current stuff was tested on OmniOS but also should work on OpenIndiana. Anyway the code can be simplified, so any pull-requests and customization are welcome.</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-75497024761137049322015-01-15T23:43:00.000-08:002015-01-15T23:43:24.253-08:00Get pid, user and command for the particular port in illumos<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
While the Solaris has the updated netstat with -u flag, illumos requires certain improvements in sockinfo, and possibly, rpcbind (tcpConnCreationProcess shows the old PID for rpcbind, until it did not become a demon). With help of pfiles is possible to obtain the desired information about pid for particular port, so I wrote a small pfiles-based <a href="https://github.com/alhazred/ptcpstat">utility</a> which allows to determine the PID, user and command for the particular port:<br />
<br />
<pre># ./ptcpstat
PROTO IP PORT PID USER COMMAND
-------- ------------------- ----- ------ -------- ------------------
AF_INET 127.0.0.1 25 692 root /usr/lib/smtp/sendmail/sendmail -bl -q15m
AF_INET6 ::1 25 692 root /usr/lib/smtp/sendmail/sendmail -bl -q15m
AF_INET 127.0.0.1 587 692 root /usr/lib/smtp/sendmail/sendmail -bl -q15m
AF_INET6 :: 22 605 root /usr/lib/ssh/sshd
AF_INET6 :: 0 495 root /usr/lib/inet/in.ndpd
AF_INET 0.0.0.0 520 637 root /usr/sbin/in.routed
AF_INET 0.0.0.0 0 637 root /usr/sbin/in.routed
AF_INET 0.0.0.0 10004 685 root /usr/bin/python2.6 /usr/lib/pkg.depotd --cfg svc:/application/pkg/server:test
AF_INET 0.0.0.0 10000 9354 root /usr/bin/python2.6 /usr/lib/pkg.depotd --cfg svc:/application/pkg/server:zfs
AF_INET6 ::ffff:198.168.1.1 22 2315 root /usr/lib/ssh/sshd
AF_INET6 ::ffff:10.8.0.30 56027 2315 root /usr/lib/ssh/sshd
AF_INET 0.0.0.0 80 1402 root /usr/bin/python2.6 /usr/lib/pkg.depotd --cfg svc:/application/pkg/server:defaul
AF_INET6 ::ffff:198.168.1.1 22 2314 root /usr/lib/ssh/sshd
AF_INET6 ::ffff:10.8.0.30 56027 2314 root /usr/lib/ssh/sshd
</pre>
<br />
<br /></div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-87685647057979819022014-05-19T05:49:00.000-07:002014-05-19T05:49:26.175-07:00How to prevent an IPS package from being upgraded<div dir="ltr" style="text-align: left;" trbidi="on">
Recently I had a situation where some incorporating package depends on
a package, say foo, version 3.1 and I had to wait for the update
exactly to 3.2 and do not allow 3.1.1, 3.1.2, ...<br />
"Freeze" option doesn't help here (may be should?) but it's a possible to use some versioning tricks in incorporating manifest.<br />
First option is to ensure that required version of 'foo' is published with trailing zero:<br />
<br />
foo@3.1.0<br />
foo@3.1.1<br />
foo@3.1.2<br />
<br />
Then we can use "depend fmri=foo@3.1.0 type=incorporate" line in
incorporating manifest and only upgrade to this version will be allowed.<br />
<br />
More reliable option (and you don't need trailing zeros) is to use the timestamp in incorporate dependency:<br />
<br />
depend type=incorporate fmri=foo@3.1:20140507T021327Z<br /><br />
Only upgrade to version 3.1 with specific timestamp will be allowed here.<br />
<br />
If foo@3.2 will be published and we want to wait until 3.3, then we can
publish a new version of the incorporating package using next
dependencies:<br />
<br />
depend type=require fmri=foo@3.2<br />
depend type=incorporate fmri=foo@3.2.0<br />
<br />
P.S. Many thanks to @binarycrusader<br />
</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-67164988838752526192013-05-30T07:13:00.000-07:002013-05-30T07:13:32.116-07:00Firefly: failsafe image for illumos-based distros<div dir="ltr" style="text-align: left;" trbidi="on">
If somebody is looking for illumos-based filesafe image, I've created small iso (usb image is available also) at <a href="http://sourceforge.net/projects/fireflyfailsafe/files/">sourceforge</a>. This image provides the same method as old Solaris iso's: looks for bootable root pool, imports it to /a and mounts bootfs:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhux8hLOZhd9tLnU4VP5ltkso3M0wV9ReV1FEe7seY6CkI7mJkcOqAvHFF89-9xucb0jm7UQt3h04A_OT77aLcdgktWL2bpUXwmQb3oE3tgnkVO_udL1jGk6_MLF5WzO2fxqzMDSQYQlBAr/s1600/Screenshot.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="220" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhux8hLOZhd9tLnU4VP5ltkso3M0wV9ReV1FEe7seY6CkI7mJkcOqAvHFF89-9xucb0jm7UQt3h04A_OT77aLcdgktWL2bpUXwmQb3oE3tgnkVO_udL1jGk6_MLF5WzO2fxqzMDSQYQlBAr/s400/Screenshot.png" width="400" /></a></div>
I hope someone will find this image useful for recovery purposes on any illumos-based distributions.</div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com34tag:blogger.com,1999:blog-3094974977265128267.post-44393267055197820082012-09-21T02:41:00.000-07:002012-09-21T02:41:07.114-07:00illumos grep(1) now able to traverse directories<div dir="ltr" style="text-align: left;" trbidi="on">
This week I updated illumos grep(1), having added support for recursive searching:<br />
$ man -M /usr/share/man grep<br />
... <br />
<pre>
-r
Read all files under each directory, recursively. Fol-
low symbolic links on the command line, but skip sym-
links that are encountered recursively. If file is a
device, FIFO, or socket, skip it.
-R
Read all files under each directory, recursively, fol-
lowing all symbolic links.</pre>
<br />
</div>
... <br />
<br />
Enjoy!alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-83443123760520070842012-09-04T06:41:00.000-07:002012-09-04T06:45:36.775-07:00Suddenly... Lake coast in 200 km from Saint-Petersburg<div dir="ltr" style="text-align: left;" trbidi="on">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEk662LLjweQ0iHjUFbApDaXqq86U2uXVU2QAkXBIcsmseuzUXQrxLAm_4bOYXs684n1JdhXxR2pq5e13A0Q6RBcwVOTNm8T2NvEXNuL77KCieWIaRVn_IiPy8mNsiXvqXLzbMeFlvnX94/s1600/photo.jpg" imageanchor="1" style="margin-left:1em; margin-right:1em"><img border="0" height="300" width="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEk662LLjweQ0iHjUFbApDaXqq86U2uXVU2QAkXBIcsmseuzUXQrxLAm_4bOYXs684n1JdhXxR2pq5e13A0Q6RBcwVOTNm8T2NvEXNuL77KCieWIaRVn_IiPy8mNsiXvqXLzbMeFlvnX94/s400/photo.jpg" /></a></div>
alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-17745884616397063182012-02-26T02:06:00.006-08:002012-02-26T03:00:50.618-08:00illumian, a new illumos based distroThis iso has become a rarity: as you know, NCP4 never saw the light:<br /><br><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZTJ8KrRgAk-WByx0KhyphenhyphenhNpZy95DYmC3klhEVUZDvDZbwWgCc41fJOJ7K1CwVcK5HChsw-SXd9D59-Fe5IVnaE0NRqK4A2e3hZQNFjK3u2giHh8sa0R4jmSNje3bIcn2UXSqVK7E8GAK5_/s1600/photo.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 371px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZTJ8KrRgAk-WByx0KhyphenhyphenhNpZy95DYmC3klhEVUZDvDZbwWgCc41fJOJ7K1CwVcK5HChsw-SXd9D59-Fe5IVnaE0NRqK4A2e3hZQNFjK3u2giHh8sa0R4jmSNje3bIcn2UXSqVK7E8GAK5_/s400/photo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5713383867584539346" /></a><br /><br><br />Nevertheless <a href="https://www.illumos.org">illumos</a> has now the second distribution - <a href="http://www.illumian.org">illumian</a>, where the packaging system is the main difference from the OpenIndiana and the first iso has a very simple text-mode installer developed by Nexenta for the NCP distribution.<br />I hope illumian will continue to grow and improve, and for people who like Solaris but feel it could use a more practical "apt-get", illumian is exceptional.<br />If you're interesred in joining, feel free to talk in #illumian, or subscribe and make a post to the <a href="mailto:illumian-dev@lists.illumos.org">illumian-dev</a> mailing list.alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com3tag:blogger.com,1999:blog-3094974977265128267.post-7472880211194207712011-06-30T08:14:00.000-07:002011-07-01T08:25:44.557-07:00Bring back lx brand?It is hard to say why the BrandZ code was removed from the OpenSolaris. However this can be corrected. With small fixes I've now got CentOS running in a zone on Illumos:<br /><code><br />The Illumos Project SunOS 5.11 illumos-gate June 2011<br />root@indy:~# zoneadm -z centos boot; zlogin -C centos<br />[Connected to zone 'centos' console]<br /> Welcome to CentOS<br />Press 'I' to enter interactive startup.<br />Configuring kernel parameters: [ OK ]<br />Setting hostname centos: [ OK ]<br />Checking root filesystem: [ OK ]<br />Activating swap partitions: [ OK ]<br />... <br />CentOS release 3.7 (Final)<br />Kernel 2.4.21 on an i686<br /><br />centos login: root<br />Password: <br />Welcome to your shiny new Linux zone.<br /><br /> - The root password is 'root'. Please change it immediately.<br /> <br /> - To enable networking goodness, see /etc/sysconfig/network.example.<br /> <br /> - This message is in /etc/motd. Feel free to change it.<br /><br />For anything more complicated, see:<br /> http://opensolaris.org/os/community/brandz/<br /> <br />You have mail.<br />-bash-2.05b# cat /proc/cpuinfo <br />processor : 3<br />vendor_id : GenuineIntel<br />cpu family : 6<br />model : 30<br />model name : Intel(r) Core(tm) i7 CPU Q 720 @ 1.60GHz<br />stepping : 5<br />cpu MHz : 1596.146<br />cache size : 0 KB<br />fdiv_bug : no<br />hlt_bug : no<br />f00f_bug : no<br />coma_bug : no<br />fpu : yes<br />fpu_exception : yes<br />cpuid level : 11<br />flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm pni monitor ds_cpl est tm2 cx16 xtpr<br />...<br /></code>alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com5tag:blogger.com,1999:blog-3094974977265128267.post-80827962778968523532010-07-13T01:26:00.000-07:002020-02-25T11:07:43.316-08:00Sample client for istatdIPhone owners can use a great app for servers monitoring - <a href="http://bjango.com/apps/istat/">istat</a>. On the server you must install the istatd daemon. More information can be read here: <a href="http://blogs.sun.com/karim/entry/monitoring_opensolaris_from_an_itouch">http://blogs.sun.com/karim/entry/monitoring_opensolaris_from_an_itouch</a>. <br />Here an <a href="http://www.milax.org/files/istatd_client.c">example</a> of a console client for istatd, you can use this data for plotting, etc: <br />$ gcc -o istatd_client istatd_client.c -lsocket -lnsl<br />$ ./istatd_client<br />Usage: istatd_client <server_ip> <server_port> <server_code><br />Example output from OpenSolaris server:<br /><pre><br />/istatd_client XX.XXX.XX.X 5109 12345<br />Connected to XX.XXX.XX.X on port 5109<br /><br /><?xml version="1.0" encoding="UTF-8"?><isr ready="1"></isr><br /><?xml version="1.0" encoding="UTF-8"?><isr pl="2" ath="0" ss="6" c="7788968" n="7788967"></isr><br /><?xml version="1.0" encoding="UTF-8"?><isr ds="8" ts="8" fs="8" rid="1"><CPU><c id="-1" u="1" s="3" n="0"></c></CPU><NET if="1"><n id="-1" d="12545352948" u="276928235931" t="1279010768"></n></NET><MEM w="1568" a="326" i="0" f="190" t="2086" su="51" st="1043" pi="79363" po="17312"></MEM><LOAD one="0.230469" fv="0.238281" ff="0.234375"></LOAD><UPT u="7788967"></UPT><DISKS><d n="/" uuid="rpool/ROOT/opensolaris-1" f="43352" p="21.1999"></d><d n="/hosting" uuid="hosting" f="134024" p="4.63293"></d></DISKS></isr><br />...<br /></pre><br />Looking through istatd code, you can easily recognize what's mean all these variables (for example "u" in <CPU> denotes cpu_user usage).alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-12284269480452256462010-06-16T05:09:00.000-07:002020-02-25T11:04:38.436-08:00Osstat 0.3Osstat Gnome applet now reaches version 0.3 - minor fixes, new graphs and some features.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC71pt7FvF0bdfDt0pZthzwDqCFcJsS6XEctYG09x_4kNM7h5PWNLatQ7mlb9wxhSCShxvI3ikNj7Ihnd84mjSSx_TT75TtvSMTwZlerEV4skvnv4ahnK-Y5ohKYq-cI2_boNzCGvPBccU/s1600/osstat_0.3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 330px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC71pt7FvF0bdfDt0pZthzwDqCFcJsS6XEctYG09x_4kNM7h5PWNLatQ7mlb9wxhSCShxvI3ikNj7Ihnd84mjSSx_TT75TtvSMTwZlerEV4skvnv4ahnK-Y5ohKYq-cI2_boNzCGvPBccU/s400/osstat_0.3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5485177018570044658"></a><br /><br />Feel free to optimize code or change parts to use better ways.<br />Download <a href="http://www.milax.org/?p=336">here</a>.alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com1tag:blogger.com,1999:blog-3094974977265128267.post-24760710705933920812010-04-15T07:01:00.000-07:002020-02-25T10:55:56.831-08:00Using ddu scriptsHave you ever looked in the "/usr/ddu" directory? Console-lovers can use some of these scripts and get the almost same output as from the "ddu" graphic utility. For example, I changed the probe.sh script a bit and now I can get ddu-like info from console:<br /><pre><br />(root@elvis)# ./ddu.sh<br />AUDIO<br /> Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller : audio810<br />CPU<br /> 1 X Intel(R) Celeron(R) CPU 2.26GHz, 1-core : ---<br />CD_DVD<br /> Intel Corporation 82801DB (ICH4) IDE Controller : pci-ide<br /> Optiarc DVD RW AD-5200A : 0<br />MEMORY<br /> 1G (512M + 512M) ; 2G maximum : ---<br />NETWORK<br /> Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ : rtls<br />STORAGE<br /> Intel Corporation 82801DB (ICH4) IDE Controller : pci-ide<br />USB<br /> Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 : uhci<br /> Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 : uhci<br /> Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 : uhci<br /> Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller : ehci<br />VIDEO<br /> Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device : i915<br />OTHERS<br /> PC standard floppy disk controller : fdc<br /> 16550A-compatible COM port : asy<br /> ECP printer port : ecpp<br /> PS/2 Port for PS/2-style Mice : mouse8042<br /> System keyboard : kb8042<br />(root@elvis)#<br /></pre>alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com0tag:blogger.com,1999:blog-3094974977265128267.post-14964677774910371802010-02-19T04:21:00.000-08:002020-02-25T10:55:11.280-08:00Boot chart for MilaX 0.5<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1duDKC1WKlfS08MRNtxfEdizgYa79iXu66XSYRR9F5f03QthXLo7brAuKrMa7gwUo7uijpaFNLM3kY1xbw54_Z3EC-AXBurd1d7CqwZquVb4_st3dIqiEccZ_DRxGLNB1aMYoQG4iyONi/s1600-h/bootchart.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 288px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1duDKC1WKlfS08MRNtxfEdizgYa79iXu66XSYRR9F5f03QthXLo7brAuKrMa7gwUo7uijpaFNLM3kY1xbw54_Z3EC-AXBurd1d7CqwZquVb4_st3dIqiEccZ_DRxGLNB1aMYoQG4iyONi/s400/bootchart.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5439929668369984658"></a>alhazredhttp://www.blogger.com/profile/04819890114311693093noreply@blogger.com6