Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

Cliente de Matrix de KDE Neochat

Casi cerrando el año quiero presentaros al nuevo Cliente de Matrix de KDE que ha sido bautizado como Neochat. Con ello se da un nuevo paso para garantizar la seguridad y privacidad de los usuarios de Software KDE. ¿No te suena nada? Sigue leyendo y hoy podrás irte a dormir siendo un poco más sabio.

Una breve análisis de las aplicaciones de mensajería instantánea

Casi todo el mundo utiliza Whatsapp para comunicarse mediante mensajería instantánea, una aplicación que pertenece a Facebook y que no solo no garantiza la privacidad sino que tecnológicamente está a años luz de su competidor más directo: Telegram.

Parece que Telegram es la panacea para los que queremos una aplicación de mensajería instantánea de calidad, potente y libre… pero no.

Aunque me encanta Telegram, lo utilizo día y noche, he descubierto la potencia de sus bots, me flipan sus stickers y sus funcionalidades avanzadas de transferencia de ficheros o de envío planificado de mensajes hay una cosa que le falta: libertad total.

Y es que Telegram tiene muchas virtudes, es la mejor alternativa para poder comunicarte con la gente, tiene un cliente de software abierto pero, y es un pero muy grande para los puristas de la libertad, su modelo de mensajería es centralizado.

Cliente de Matrix de KDE Neochat

Esto significa que solo existe un servidor de Telegram que da servicio a todo el mundo y que ninguna otra empresa, comunidad, asociación, servicio público o usuario puede instalarlo en su servidor para replicar sus funcionalidades.

Por tanto, ni Wahtsapp ni Telegram son 100% libres. Parece ser que no tenemos la posibilidad de ser libres mandando mensajes instantáneos… ¿o sí? Tenemos a Matrix.

¿Qué es Matrix?

Contestar a esta pregunta a principios del siglo XXI tenía una respuesta clara… una gran película de los hermanos Wachowski (ahora hermanas) que nos voló la cabeza, y aunque no puedo asegurar nada, creo que fue lo que inspiró a los desarrolladores de la tecnología que para la Comunidad KDE es Matrix.

En pocas palabras, y traducido directamente de su página oficial, Matrix es un proyecto de código abierto que publica Matrix un estándar abierto para una comunicación segura, descentralizada y en tiempo real con licencia de Apache.

Matrix está mantenido por la Fundación Matrix.org sin fines de lucro, que tiene como objetivo es crear una plataforma abierta tan independiente, vibrante y en evolución como la propia web… pero para la comunicación.

En otras palabras, es Telegram pero 100% libre, con posibilidad de tener la versión de Matrix en cualquier servidor, con la posibilidad de unir todos los servidores del mundo y comunicar de forma global a todos los usuarios, con aplicaciones tanto de cliente como de servidor libre mientras que las comunicaciones son 100% seguras (o todo lo seguras que pueden ser).

Desde junio de 2019, Matrix ya pasó la versión beta, y el protocolo es totalmente adecuado para el uso en producción. Y de hecho, desde hace un tiempo es la forma de comunicarse que tiene la Comunidad KDE.

Cliente de Matrix de KDE Neochat

Está claro que si la Comunidad KDE está empezando a utilizar de forma nativa Matrix necesitarán un cliente.

Hay que aclarar que hasta la fecha se ha venido utilizando tanto clientes de Matrix como la versión web de la misma, pero está claro que en aras de una integración total la Comunidad KDE quiere su propio cliente, y éste ha llegado con el nombre de NeoChat.

Cliente de Matrix de KDE Neochat

Así pues, NeoChat es simplemente un cliente de Matrix cuya versión 1.0 fue lanzada el pasado 23 de diciembre y que ofrece las siguientes funcionalidades:

  • Enviar y responder a los mensajes tanto es salas bis a bis, iniciar chats privados, crear nuevas salas y explorar las salas públicas.
  • Línea temporal con soporte para mensajes simples y que permite subir imágenes y archivos de vídeo y audio. Puedes responder a los mensajes y añadir reacciones.
  • Gestión de salas: prohibir o expulsar usuarios, subir un avatar de sala y editar los metadatos de una sala.
  • Editor simple de imágenes.
  • Convergente, es decir, que se adapta a cualquier tipo de dispositivos sea cual sea el tamaño de la pantalla o su forma de interacción.

De momento no está disponible en KDE Neon, y desconozco si lo está en otras distribuciones, pero a poco que lo esté la iré probando e iré comentando.

Más información: Carl Schwan Blog

a silhouette of a person's head and shoulders, used as a default avatar

Curso de Vim: Utilizando las marcas globales en el editor #Vim

Vim nos permite establecer marcas globales en nuestros documentos para poder saltar a ellas desde cualquier parte que nos encontremos

En un artículo anterior de esta serie, vimos cómo poder establecer marcas y asignarlas a letras minúsculas a diferentes archivos. Puedes leer ese artículo en este enlace:

En esta ocasión veremos las marcas globales que podemos establecer en las letras mayúsculas y las diferencias con las otras.

Este artículo es una nueva entrega del curso “improVIMsado” que desde hace meses vengo publicando en mi blog sobre el editor Vim y que puedes seguir en estos enlaces:

Ya aprendimos que las marcas que establecemos en Vim asignándoles letras minúsculas son locales y propias para cada archivo. Así, podemos estar editando varios archivos distintos y establecer en cada uno una marca en la letra “a”.

Cada marca asignada será diferente y distinta de las otras. Son locales o propias de cada archivo. En contraposición a esto, existen marcas que podemos asignar a las letras mayúsculas.

La diferencia sustancial, es que estas marcas son globales. Si la asignamos a un archivo, será exclusiva para ese archivo.

Y siempre podremos saltar a esa marca en Vim, aunque no tengamos el archivo abierto en el editor. Al saltar a esa marca establecida en una letra mayúscula, Vim abre el archivo correspondiente y salta a la posición donde hayamos establecido esa marca.

Podemos pensar en estas marcas asignadas a letras mayúsculas, como marcapáginas en un libro.

Para añadir una marca global en un archivo, la forma de proceder es similar a lo que hemos visto. En el modo de comandos, pulsamos sobre la “m” para establecer una marca y después seleccionamos una letra mayúscula de la A-Z, la que queramos.

Para saltar a la marca establecida, simplemente ejecutaremos:

' A

Un ejemplo práctico podría ser, abrir el archivo de configuración .vimrc y asignarle, por ejemplo, la marca V, mediante

m V

Así la próxima vez que estemos en Vim y queramos consultar el archivo .vimrc para modificar alguna configuración, etc saltamos a la marca V et voila!

Si establecemos la misma marca sobre otro archivo, Vim borrará la primera y quedará inactiva, pasando a ser la última marca establecida la funcional.

Si queremos borrar tanto marcas locales como globales podemos utilizar el comando:

:delmarks

:delmarks a elimina la marca a
:delmarks a-d elimina el rango de marcas de a la d (a, b, c, d)
:delmarks abxy elimina las marcas a, b, x, y
:delmarks aA elimina las marcas a, A
:delmarks! elimina todas las marcas minúsculas del buffer actual (a-z)

the avatar of Vojtěch Zeisek

Parallel Alpine Differentiation in Arabidopsis arenosa

Parallel Alpine Differentiation in Arabidopsis arenosa

Parallel evolution provides powerful natural experiments for studying repeatability of evolution and genomic basis of adaptation. Well-documented examples from plants are, however, still rare, as are inquiries of mechanisms driving convergence in some traits while divergence in others. Arabidopsis arenosa, a predominantly foothill species with scattered morphologically distinct alpine occurrences is a promising candidate. Yet, the hypothesis of parallelism remained untested.

vojta Út, 12/29/2020 - 11:12
a silhouette of a person's head and shoulders, used as a default avatar

Linux Connexion con Slimbook en Podcast Linux #119

Hace tiempo que no comparta uno de los programas de los podcast de Juan Febles, y es que su producción es elevada y el tiempo que tengo para el blog limitada. En esta ocasión tengo el placer de presentar «Linux Connexion con Slimbook» donde se juntan dos de las personas más importantes no programadoras en la difusión del Software Libre, Alejandro López y Juan Febles. No te lo puedes perder.

Linux Connexion con Slimbook en Podcast Linux #119

Linux Connexion con Slimbook en Podcast Linux #119

Suele ser un idea recurrente que transmito a mis allegados (palabra de moda el pasado mes de noviembre): la conquista de GNU/Linux en el escritorio llegará cuando los dispositivos vengan equipados con él.

Y esta es la labor que hace la gente de Slimbook, viejos conocidos del blog, con sus ultrabooks, sus miniordenadores o sus torres de alta gama como los Kimera.

En este podcast en forma de charla entre Alejandro López y Juan Febles nos encontramos con temas más que interesantes, destacando entre todos, la gran y fructífera relación entre la Comunidad KDE, Slimbook y los procesadores AMD (fruto de la cual no solo se ha lanzado el KDE Slimbook III sino que se ha mejorado el Kernel Linux para todo el mundo) o el complejo mercado de Slimbooks de segunda mano.

Linux Connexion con Slimbook en Podcast Linux #119

En palabras de Alejandro:

«¡¡Muy buenas amante del Software Libre!!!
Bienvenido a otra entrega de Podcast Linux, la número 119. Un saludo muy fuerte de quien te habla, Juan Febles. Hoy vuelve a estar con nosotros Alejandro López, director comercial y cofundador de Slimbook, empresa 100% española que ofrece ordenadores GNU/Linux a medida ensamblados en España.

Recordar a los oyentes que estamos en una sala Jitsi para esta charla, un servicio libre para videoconferencias, y que este podcast aloja su web en Gitlab, un servicio libre de repositorios git y su contenido en Archive.org, la biblioteca digital libre con licencias Creative Commons.»

Como siempre, os dejo el audio para que los podáis escuchar y disfrutar de este programa de una hora de duración:

Más información: Podcast Linux

Y aprovecho para animaros a seguir Podcast Linux en algunos de los canales de comunicación que tiene, los cuales han cambiado debido a que Podcast Linux ha abandona e

a silhouette of a person's head and shoulders, used as a default avatar

Curso «Open Source y la transición 5G» de la Linux Foundation

En estos días de vacaciones para algunos es interesante poder invertir algo de nuestro tiempo para la formación. Y haciendo una simple búsqueda en DuckDuckGO he encontrado el Curso «Open Source y la transición 5G» de la Linux Foundation que además de interesante, es gratuito y orientado para principiantes. ¿A que suena bien?

Curso «Open Source y la transición 5G» de la Linux Foundation

Una nueva revolución se acerca a nuestra sociedad de la información: la tecnología 5G está llegando a España y ofreciéndonos una conexión de mayor calidad y con mayores velocidades que las que proporciona el 4G o incluso la conexión wifi doméstica, las cuales no tardaremos en probar con un Speedcheck y así poder medir a nuestro proveedor.

Y claro está el Software Libre no puede sera ajeno a este nuevo reto tecnológico y, de hecho, está siendo protagonista de su desarrollo ya que utiliza tanto código como estándares abiertos.

Curso "Open Source y la transición 5G"

Investigando un poco sobre el tema he encontrado un interesante curso de la Linux Foundation que enseña cómo y qué forma el software y los estándares de código abierto están impulsando la transición a la 5G, la IA (Inteligencia Artificial) y la IOT (Internet de las cosas).

El curso es abierto, accesible para todo el mundo ya que empieza desde el principio y gratuito (a menos que quieras un certificado oficial), teniendo una duración de una semana con una dedicación de 2 horas semanales…Y empieza hoy, así que no te lo pienses y apúntate ya.

Curso "Open Source y la transición 5G"

El curso se presenta de la siguiente forma:

«Las redes 5G se están construyendo con software y estándares de código abierto. Los operadores y vendedores están integrando estas tecnologías a un nivel sin precedentes para hacer realidad la promesa de 5G. El código abierto permite a los operadores experimentar con modelos de negocio y ofrecer nuevos servicios, y permite a las empresas obtener más valor de su arquitectura de red.

Este curso proporcionará una visión general de por qué el código abierto importa ahora más que nunca en el espacio de las redes inalámbricas y la tecnología móvil y qué tecnologías merecen su atención. Los gerentes de negocios se familiarizarán con la infraestructura de código abierto que impulsa el futuro y cómo aprovecharla para su propio beneficio empresarial.«

De esta forma, el curso promete que al finalizar el mismo podremos:

  • Argumentar por qué el código abierto es importante para el 5G y para las empresas.
  • Descubrir qué tecnologías de código abierto están impulsando la innovación tecnología 5G.
  • Explorar el panorama de la tecnología de código abierto y conoce lo que merece tu atención

Parece muy interesante y se une a otros cursos promocionados por el blog como este de «Docker» de GNU/Linux Valencia o alguno de Linux Center.

Más información: Training Linux Foundation

the avatar of Klaas Freitag

ownClouds Virtual Files on the Linux Desktop

it could already be read somewhere that 2021 will be the year of Linux on the desktop :-D

Fine with me. Just to support that, I did a little hackery over XMas to improve the support for ownClouds virtual file system on the Linux Desktop.

What are Virtual Files?

In professional usecases, users often have a huge amount of data stored in ownCloud. Syncing these completely to the desktop computer or laptop would be too much and costly in bandwidth and harddisk space. That is why most mature file sync solutions came up with the concept of virtual files. That means that users have the full structure with directories and files mirrored to their local machines, but have placeholder of the real files in the local file manager.
The files, however, are not on the disk. They get downloaded on demand.

That way, users see the full set of data virtually, but save time and space of files they never will need on the local system.

The ownCloud Experience

ownCloud has innovated on that topic a while ago, and meanwhile support virtual files mainly on Windows, because there is an elaborated system API to work with placeholder files. As we do not have this kind of API on Linux desktops yet, ownCloud desktop developers implemented the following solution for Linux: The virtual files are 1 byte sized files with the name of the original file, plus a suffix “.owncloud” to indicate that they are virtual.

That works, yet has one downside: Most file managers do not display these placeholder files nicely, because they loose the MIME type information. Also, downloading and also freeing up the space of downloaded files is not integrated. To summarize, there is a building block missing to make that useful on Linux.

Elokab-files-manager with ownCloud

I was wondering if it wasn’t possible to change an existing file manager to support the idea of virtual files. To start trying I found the Elokab-files-manager which is a very compact, yet feature rich file manager built on Qt. It is built with very few other dependencies. Perfect to start playing around with.

In my Github fork you can see the patches I came up with to make Elokab-fm understand ownCloud virtual files.

New Functionality

The screenshot shows the changes in the icon view of Elokab-fm.

Screenshot Elokab-fm

Screenshot of patched Elokab-files-manager to support ownCloud Virtual Files.

To make that possible, Elokab-fm now pulls some information from the ownCloud Sync Client config file and connects to the sync client via local socket to share some information. That means, that the sync client needs to run to make that work.

Directories that are synced with ownCloud now show an cloud overlay in the center (1).

The placeholder files (2) which are not present on the local hard drive indicate that by showing a little cloud icon bottom right. However, other than before, they are displayed with their correct name and mime-type, which makes this already much more useful.

Files, which are on the local disk as the image (3) show their thumbnail as usual.

In the side panel (4) there are a few details added: The blue box on the bottom indicates that the file manager is connected to the sync client. For the selected virtual file (2), it shows an button that downloads the file if clicked which would turn it into a non virtual, local file. There is also an entry in the context menu to achieve that.

Status

This is just a proof of concept and a little XMas fun project. There are bugs, and the implementation is not complete. And maybe Jürgen’s idea of a FUSE layer to improve that is the better approach, but anyway. It just shows what is possible with virtual files also on Linux.

If you like that idea, please let us know or send a little PR if you like. We do not wanna fail providing our share on the year of the Linux Desktop, right? ;-)

Building it from my Github branch should be fairly easy, as it only depends on Qt.

For openSUSE users, I will provide some test packages in my home project on Open Build Service.

the avatar of Chun-Hung sakana Huang

Stackdriver-agent with openSUSE Leap 15.2 in GCP 安裝小記

Stackdriver-agent with openSUSE Leap 15.2 in GCP 安裝小記


OS: openSUSE Leap 15.2 in GCP


今天要來嘗試在 openSUSE Leap 15.2 in GCP 安裝 stackdriver 的 agent


首先先來談談爲何要在 GCP 的 OS 內安裝 stackdriver-agent


預設在 GCP 內使用 OS, GCP 是會提供相關監控的數值



  • 例如 CPU 用量 / 網路狀況 / 磁碟 IOPS


但是 如果是要監控 Memory Utilization / Disk Space Utilization 就是要安裝 Stackdriver-agent

安裝 agent 的官方頁面如下


但是目前 stackdriver-agent 只有針對已經支援的 OS 來進行安裝 script, 可惜的是 openSUSE Leap 沒有列在裡面, 所以我就嘗試用 SLES 的方式來修改, 讓 openSUSE Leap 15.2 in GCP 也可以看到相關資訊


所以以下為個人實驗, 不負責相關影響 


在 GCP 建立 openSUSE Leap 15.2 GCE




SSH 連入該台 GCE 進行安裝

切換為 root 身份進行處理 (個人習慣)


> sudo  su  -


下載 GCP add agent script 到目前目錄

# curl  -sSO  https://dl.google.com/cloudagents/add-monitoring-agent-repo.sh


觀察相關資訊

# ls

.bash_history  .gnupg  .ssh  add-monitoring-agent-repo.sh  bin


觀察 script 內容


# egrep  -v  '^#|^$'  add-monitoring-agent-repo.sh 


REPO_HOST='packages.cloud.google.com'

MONITORING_AGENT_DOCS_URL="https://cloud.google.com/monitoring/agent"

MONITORING_AGENT_SUPPORTED_URL="${MONITORING_AGENT_DOCS_URL}/#supported_operating_systems"

[[ -z "${REPO_SUFFIX-}" ]] && REPO_SUFFIX='all'

if [[ -f /etc/os-release ]]; then

  . /etc/os-release

fi

handle_debian() {

  lsb_release -v >/dev/null 2>&1 || { \

    apt-get update; apt-get -y install lsb-release; \

  }

  apt-get update; apt-get -y install apt-transport-https ca-certificates

  local CODENAME="$(lsb_release -sc)"

  local REPO_NAME="google-cloud-monitoring-${CODENAME}${REPO_SUFFIX+-${REPO_SUFFIX}}"

  cat > /etc/apt/sources.list.d/google-cloud-monitoring.list <<EOM

deb https://${REPO_HOST}/apt ${REPO_NAME} main

EOM

  curl --connect-timeout 5 -s -f "https://${REPO_HOST}/apt/doc/apt-key.gpg" | apt-key add -

}

handle_rpm() {

  lsb_release -v >/dev/null 2>&1 || yum -y install redhat-lsb-core

  local REPO_NAME="google-cloud-monitoring-${1}-\$basearch${REPO_SUFFIX+-${REPO_SUFFIX}}"

  cat > /etc/yum.repos.d/google-cloud-monitoring.repo <<EOM

[google-cloud-monitoring]

name=Google Cloud Monitoring Agent Repository

baseurl=https://${REPO_HOST}/yum/repos/${REPO_NAME}

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://${REPO_HOST}/yum/doc/yum-key.gpg

       https://${REPO_HOST}/yum/doc/rpm-package-key.gpg

EOM

}

handle_redhat() {

  local VERSION_PRINTER='import platform; print(platform.dist()[1].split(".")[0])'

  local MAJOR_VERSION="$(python2 -c "${VERSION_PRINTER}")"

  handle_rpm "el${MAJOR_VERSION}"

}

handle_amazon_linux() {

  handle_rpm "amzn"

}

handle_suse() {

  SUSE_VERSION=${VERSION%%-*}

  local REPO_NAME="google-cloud-monitoring-sles${SUSE_VERSION}-\$basearch${REPO_SUFFIX+-${REPO_SUFFIX}}"

  zypper --non-interactive refresh || { \

    echo "Could not refresh zypper repositories."; \

    echo "This is not necessarily a fatal error; proceeding..."; \

  }

  cat > /etc/zypp/repos.d/google-cloud-monitoring.repo <<EOM

[google-cloud-monitoring]

name=Google Cloud Monitoring Agent Repository

baseurl=https://${REPO_HOST}/yum/repos/${REPO_NAME}

enabled=1

gpgcheck=1

repo_gpgcheck=1

gpgkey=https://${REPO_HOST}/yum/doc/yum-key.gpg

       https://${REPO_HOST}/yum/doc/rpm-package-key.gpg

EOM

  zypper --non-interactive --gpg-auto-import-keys refresh google-cloud-monitoring || \

    exit $?

}

case "${ID:-}" in

  amzn)

    echo 'Adding agent repository for Amazon Linux.'

    handle_amazon_linux

    ;;

  debian|ubuntu)

    echo 'Adding agent repository for Debian or Ubuntu.'

    handle_debian

    ;;

  rhel|centos)

    echo 'Adding agent repository for RHEL or CentOS.'

    handle_redhat

    ;;

  sles)

    echo 'Adding agent repository for SLES.'

    handle_suse

    ;;

  *)

    # Fallback for systems lacking /etc/os-release.

    if [[ -f /etc/debian_version ]]; then

      echo 'Adding agent repository for Debian.'

      handle_debian

    elif [[ -f /etc/redhat-release ]]; then

      echo 'Adding agent repository for Red Hat.'

      handle_redhat

    elif [[ -f /etc/SuSE-release ]]; then

      echo 'Adding agent repository for SLES.'

      handle_suse

    else

      echo >&2 'Unidentifiable or unsupported platform.'

      echo >&2 "See ${MONITORING_AGENT_SUPPORTED_URL} for a list of supported platforms."

      exit 1

    fi

esac


  • 這邊我只看 suse 的相關處理, 大概就是建立 /etc/zypp/repos.d/google-cloud-monitoring.repo 以及進行 gpg key import 與 refresh


仿造上面的做法來建立 /etc/zypp/repos.d/google-cloud-monitoring.repo


還沒做之前觀察 gpg key 資訊

# rpm  -qa  gpg-pubkey*


gpg-pubkey-307e3d54-5aaa90a5

gpg-pubkey-3dbdc284-53674dd4

gpg-pubkey-39db7c82-5847eb1f


建立 google-cloud-monitoring.repo 相關資訊

#vi  /etc/zypp/repos.d/google-cloud-monitoring.repo


內容如下

[google-cloud-monitoring-sles15-x86_64-all]

name=google-cloud-monitoring

enabled=1

autorefresh=1

baseurl=https://packages.cloud.google.com/yum/repos/google-cloud-monitoring-sles15-x86_64-all

type=rpm-md

keeppackages=0

gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg

       https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg


匯入 上面的 gpgkey

# rpm  --import  https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg

# rpm  --import  https://packages.cloud.google.com/yum/doc/yum-key.gpg


  • 這樣可以避免 Signature verification failed for file 'repomd.xml' 問題


進行 gpgkey 比對

# rpm  -qa  gpg-pubkey*


gpg-pubkey-3e1ba8d5-558ab6a8

gpg-pubkey-307e3d54-5aaa90a5

gpg-pubkey-3dbdc284-53674dd4

gpg-pubkey-a7317b0f-551deab2

gpg-pubkey-836f4beb-5fc97e5e

gpg-pubkey-39db7c82-5847eb1f

gpg-pubkey-ba07f4fb-5ac168db


  • 藍色部分爲新增進來的 Key



將 zypper refresh 以及加入 gpg key


# zypper --gpg-auto-import-keys  refresh



Retrieving repository 'google-cloud-monitoring' metadata ..............................[done]

Building repository 'google-cloud-monitoring' cache ...................................[done]

Retrieving repository 'Debug Repository' metadata .....................................[done]

Building repository 'Debug Repository' cache ..........................................[done]

Retrieving repository 'Update Repository (Debug)' metadata ............................[done]

Building repository 'Update Repository (Debug)' cache .................................[done]

Retrieving repository 'Non-OSS Repository' metadata ...................................[done]

Building repository 'Non-OSS Repository' cache ........................................[done]

Retrieving repository 'Main Repository' metadata ......................................[done]

Building repository 'Main Repository' cache ...........................................[done]

Retrieving repository 'Source Repository' metadata ....................................[done]

Building repository 'Source Repository' cache .........................................[done]

Retrieving repository 'Main Update Repository' metadata ...............................[done]

Building repository 'Main Update Repository' cache ....................................[done]

Retrieving repository 'Update Repository (Non-Oss)' metadata ..........................[done]

Building repository 'Update Repository (Non-Oss)' cache ...............................[done]

All repositories have been refreshed.




安裝 agent

# zypper  install  stackdriver-agent


Loading repository data...

Reading installed packages...

Resolving package dependencies...


The following 2 NEW packages are going to be installed:

  insserv-compat stackdriver-agent


2 new packages to install.

Overall download size: 1.2 MiB. Already cached: 0 B. After the operation, additional 5.2 MiB

will be used.

Continue? [y/n/v/...? shows all options] (y): y

Retrieving package insserv-compat-0.1-lp152.5.1.noarch  (1/2),  14.9 KiB (  8.5 KiB unpacked)

Retrieving: insserv-compat-0.1-lp152.5.1.noarch.rpm .....................[done (259.7 KiB/s)]

Retrieving package stackdriver-agent-6.1.0-1.sles15.x86_64

                                                        (2/2),   1.2 MiB (  5.2 MiB unpacked)

Retrieving: cde909b8d24e2beabdbd489e42e5bd65c64c14e09b710c56852736aecd3bf3a7-stackdrive[done]


Checking for file conflicts: ..........................................................[done]

(1/2) Installing: insserv-compat-0.1-lp152.5.1.noarch .................................[done]

(2/2) Installing: stackdriver-agent-6.1.0-1.sles15.x86_64 .............................[done]

Additional rpm output:


Note: This output shows SysV services only and does not include native

systemd services. SysV configuration data might be overridden by native

systemd configuration.


If you want to list systemd services use 'systemctl list-unit-files'.

To see services enabled on particular target use

'systemctl list-dependencies [target]'.


stackdriver-agent         0:off  1:off  2:on   3:on   4:on   5:on   6:off



觀察服務狀態

# systemctl status stackdriver-agent


● stackdriver-agent.service - LSB: start and stop Stackdriver Agent

   Loaded: loaded (/etc/init.d/stackdriver-agent; generated; vendor preset: disabled)

   Active: inactive (dead)



重新啟動服務

# systemctl  restart  stackdriver-agent


觀察服務狀態

# systemctl  status  stackdriver-agent


● stackdriver-agent.service - LSB: start and stop Stackdriver Agent

   Loaded: loaded (/etc/init.d/stackdriver-agent; generated; vendor preset: disabled)

   Active: active (running) since Sun 2020-12-27 13:59:30 UTC; 32s ago


觀察如果重開機是否會啟動服務


# systemctl  is-enabled stackdriver-agent


stackdriver-agent.service is not a native service, redirecting to systemd-sysv-install.

Executing: /usr/lib/systemd/systemd-sysv-install is-enabled stackdriver-agent

enabled


回 GCP 觀察相關資訊



  • 這個時候就發現 Memory Utilization / Disk Space Utilization 有相關資訊了


大功告成

~ enjoy it


Reference


the avatar of openSUSE Mauritius

openSUSE Leap 15.3 Alpha

Two weeks ago, openSUSE Release Manager, Luboš Kocman, announced on the availability of the Alpha images for openSUSE Leap 15.3.

Leap 15.3 aims to become more binary compatible with SUSE Linux Enterprise. As such, Leap now aligns with SLE and its service packs to keep the system updated, stable and patched.

Alpha images of Leap 15.3 will be rolling until mid-February when it will transition in the Beta phase.

Users of openSUSE Leap 15.1 have until January of 2021 before it reaches its End of Live and users need to update to Leap 15.2. The Public Availability of Leap 15.3 is scheduled to be released in July, 2021, according to the releases roadmap Users of Leap 15.2 will need to update to the newer version within six months of the release of Leap 15.3.

The test releases can be downloaded from software.opensuse.org/distributions/testing.

the avatar of openSUSE Mauritius

openSUSE 2020 - End of Year Survey

The openSUSE Project is carrying an EoY survey to collect ideas and comments from the community. The survey carries 40 questions which aim to gain a better understanding of the issues and expectations of openSUSE users.

We encourage you to spend a few minutes to answer the questions and help in making openSUSE a better Linux distribution. 🙂

the avatar of Sankar P

Repairability

My Macbook Pro

I have a Macbook pro retina 15 inch, that I bought in 2016. A few days back, the battery started bulking up and the laptop has totally stopped working. It has grown so big now that I cannot keep the laptop in a flat surface; it almost rocks like a see-saw. The touchpad panel is also feeling the bulge. The Macbook pro is not even switching on now, presumably to safeguard against battery explosions.

I bought the laptop 4 years back, for about 200,000 INR (~2700 USD / 2200 EUR). Electronics are very costly in India :( This is the pre-touchbar Macbook pro. I did not like the new keyboard in the then new Macbooks (the first edition with the touchbar). Luckily, I did not purchase the touchbar version which probably is one of the worst electronic devices ever manufactured.

I took my macbookpro today to a nearby Apple service center and I was told that the battery replacement would cost about 40,000 INR (~550 USD / 450 EUR). For such a costly laptop, it has a terrible battery longevity. I have no interest in paying this much for just a battery for an old laptop which is anyway not fun anymore to work on. I could purchase a new laptop with this money. For this money I could even setup a private cloud of a few Rasperry PIs and even launch kubernetes in them for fun.

I thought that I could purchase a battery offline and replace the battery. But to replace the battery, you need to disassemble almost everything (Harddisk, Speakers, CPU, fans, etc.) in a macbook and use chemicals (acetone). Thankfully Apple is not yet making cars, otherwise, to change Engine oil, we may have to dissasemble the headlamps, engine, transmission, differential, etc. 

What is more evil is, The Macbook pro will not work without a battery even if it is plugged in an electric power supply. I do this for my old HP laptop (for parents+kids) whose battery is long gone. The magsafe charger of Macbook is another well-known disaster. I believe that Apple gets a lot of undeserving praise for their hardware. They have shiny aluminium body, a good screen and the best touchpad; But their Thermal management, Longevity, Repairability are all abysmally bad. I have replaced the charger three times in ~3 years because the plastic covering near the charging point goes bad in daily usage and the internal wire gets damaged. The wires also become very yellow and dirty in Indian climate, for some reason. Even people far more connected and influential than me, could not change Apple's behavior.

I personally, am never buying any apple device or Macbook pro ever again, for personal use. It's just because I do not like their greed and exploitation of vulnerable customers.

Thinkpads

The only reason I bought the Macbook pro in 2016 was because I had to do some iOS app development. Prior to that in my $DAYJOBs I have almost exclusively used Thinkpads right from the days they were owned by IBM (and had an extra-ordinary keyboard) until they were sold off to Lenovo (and have this chiclet non-sense). The old Thinkpads were a delight to have. We could replace the batteries, replace the fans, replace individual keys etc. We could also add RAM or Disk whenever we need, how much ever we need. All without needing anything more than a normal screwdriver set.

Good things are not meant to last. Just like how Macbooks have gone worse, Thinkpads too have gone worse. In my current $DAYJOB I use a Thinkpad E series (the cheapest version) and it is terrible. The management of Lenovo is either dumb and do not understand what its loyal customers want; or just plain evil (or capitalistic extremists) and embraced planned obsolesence.

The thinkpad now comes in many series L, T, X, P, E etc. and almost none of them have external batteries.  Almost all of them have the RAM soldered and cannot be replaced. If the soldered RAM goes wrong, we need to throw away the laptop. Thinkpads were supposed to be the most developer friendly laptops. But even in 2020, we cannot get a single 32GB RAM in any of the medium cost thinkpad ranges. If you want anything more than 32GB RAM, you must shell out a lot of money and go for a ridiculously high cost series with 4k screen or some such luxury that I do not want. And their fingerprint readers never seem to reliably work on Linux for some reason, despite most kernel developers using Thinkpads.

E Waste and Green Earth

When I was in school, I have lived in a house with no electricity. I have then grown up and lived in Indian towns where 8-12 hours power cut per day was not unheard of. Luckily I now live in a big Indian city where powercuts are just an occasional weekly-few-hours affair. If it were not for the powercuts, I would happily purchase a desktop instead of a laptop. Atleast until now, desktops (Not those integrated all-in-one pieces) age better than laptops. But powercuts are a part of life where I live and I need battery backup.

Mobile Phones

Laptops and desktops are only a small part of the story. Now, with mobile phones coming on, the amount of e waste getting generated is exploding (literally in some sense). Android is a bigger culprit than Apple here. Even Google (which does not have "Do no evil" as a motto anymore) is refusing to push updates for pixel phones that are just 3 years old.

Once electric cars become more available, it is going to be worse for third world nations which import e waste. Rich billionaires and millionaires will claim to be more green by switching to electric cars and will send off the batteries to electronic graveyards in the other side of the Earth.

By making it difficult to replace/recycle batteries in laptops, phones, OEMs are making the world generate a lot of e waste. The first world nations worry about e-waste polluting their water and land, so what do they do ? They simply dump it out to third world nations, like India, Vietnam etc. As if, us people of these nations, do not have enough things to worry about on our own, now we have to accomodate tonnes of these e-wastes, which spoil our water and pollute our air.

We cannot even protest against these e-waste processing units that import world's junk, because most of the third world nations do not even have healthy democracies where citizens can opine against the Government/rulers, unlike the west.

What to do ?

The European Union atleast is trying to do something, while rest of the world seem to be not bothered. The USA especially has a lot of responsibility, because most of the OEMs like Apple, HP, Dell, etc. are walking the evil path of denying repairability and increasing sales, only to please the wallstreet and their $SHARE_SYMBOLs in the American stock market. It is pointless to spend millions for green-earth initiatives, if you do not produce re-cyclable / repairable electronic gadgets.

What can we Engineers do to combat such planned obsolecence and promote right-to-repair and recycling ? 

Honestly, I do not have an answer. May be we could influence in our small circles of hardware purchase. When your $EMPLOYER is looking to update the company hardware and get laptops for everyone, insist them to get only hardware which can be easily repaired.

If you work for an e-commerce giant (like Amazon, Walmart, EBay, etc.) push your employer to provide "Repairability score" as a filter condition in the product pages (similar to 3*, 4*, 5* , etc.) of electronic devices. May be if enough companies/customers start demanding these, the OEMs will have a financial motivation to do the right thing.

Are there any other steps that you believe that we as individuals could do to bring a change ? If so, please comment. 

What laptops do you like using that have a good repairability score, even in 2020/2021.

Thanks for coming to my TED talk ;-)

PS: If you know any good third party battery (which wouldn't explode in hot Indian weather) for Macbook Pro please let me know. If you refer a mechanic/shop who does the Macbook battery replacement in Chennai/Bangalore, India, that would be even better.