👁️
pierreinside
  • Introduction
  • Workbench
    • VirtualBox
    • Linux
      • Linux-Paketverwaltung
      • Linux Initialisierung
      • Ubuntu 14.10 LTS
      • Ubuntu 16.04 LTS
      • Ubuntu 18.04 LTS
      • Ubuntu 20.04 LTS
      • Ubuntu - Netzwerk
    • Konsole
      • ssh
      • zsh
      • cygwin
      • Babun
      • terminator
      • Terminal Multiplexer
      • Linux Tools
    • awesome
    • Entwicklungsumgebungen
      • Texteditors
      • Visual Studio Code
      • IntelliJ - IDEA
  • Softwareentwicklungsprozess
    • Schätzungen
    • Eventstorming
    • OKR
  • Architektur
    • Uncle Bob
    • Microservices
    • NoSQL
      • ElasticSearch
    • Hystrix
    • Reactive Programming
    • AngularJS
    • Service Mesh
  • Networking
    • Dependency Injection
  • Programming
    • Java Core/EE
      • Java 8
      • Java Annotationen
      • Bean Validation
      • Enterprise Java Beans Specification
      • Dependency Injection
    • JRebel
    • Webservices
      • HTTP
      • REST
      • Spring MVC REST
      • Swagger
      • Postman
    • Spring Ecosystem
      • Spring Core
      • Spring Boot
        • Programming
        • Production Ready
        • Testing
      • Spring Cloud
      • Spring Cloud Config
      • Spring MVC
      • Spring Data
      • Spring Petclinic
    • NodeJS
    • UI-Technologie
      • Thymeleaf
      • ionic
      • Web Fonts
      • Jinja Templates
      • Twitter Bootstrap
    • Python Ecosystem
      • Python Libraries
      • Python Testing
      • Python Best-Practices
      • Python Snippets
      • Python Selenium
      • Kivy UI
      • FastAPI
      • Typer CLI
      • Django
    • Groovy
    • Persistenz
      • Transactions
        • Java TX
        • JPA TX
      • TX Handling
      • JPA
        • Eclipse Link
      • MySQL
        • MySQL Performance
        • Docker MySQL
      • Hazelcast
    • Glassfish
    • YAML
    • Angular
    • Camel
    • Zeichenkodierung
    • Kinder lernen Programmieren
  • Testen
    • Easymock
    • Mockito
  • Performance & Scalability
    • Java Performance
      • Heapdump Analysis
    • Java Concurrency
    • Instana
  • Sicherheit
    • Authentifizierung
      • OpenID Connect
      • Web-Authentication API
    • Authorisierung
      • OAuth
      • SAML
    • Spring Security
    • Zertifikate
    • Kali Linux
    • VPN
    • Zero-Trust-Networks
  • Build und Deployment
    • Maven
    • Bamboo
    • Jenkins
      • Jenkins Pipelines
      • Jenkins Pipelines Tips und Tricks
      • Jenkins-configuration-as-Code
      • Jenkins IDE
    • Travis CI
    • Shellprogrammierung
      • jq - JSON Parsing
    • Konfiguration Management
    • Vagrant
      • Vagrant-Ansible-Integration
      • Vagrant Box bauen
    • Ansible
      • Getting Started
      • Ansible Details
    • Saltstack
    • LinuxKit
    • Container
      • Docker
        • Docker Getting Started
        • Debugging Docker
        • Docker Build
        • Docker Registry
        • Docker run
          • docker run
          • docker network
        • Docker Compose
        • docker machine
        • Docker@Windows
        • Docker Host
        • Docker Scaling
        • Docker Ressources
        • Docker Logging
        • windowsContainer
      • Cloud Deployment Provider
        • AWS
          • Anwendungsdeployment
          • Workload
          • Permissions
          • Netzwerke
          • AWS CLI
            • aws-vault
          • RDS
          • Static Website Hosting
          • EKS - Elastic Kubernetes Service
          • S3
        • Google Cloud Platform
      • Docker Orchestrierung
        • CoreOS
        • Kubernetes
          • microK8s
          • minikube
          • autoscaler
          • Docker
          • k9s
        • Nomad
    • PHP
  • Operations
    • Proxy
      • NGINX
    • DNS
    • Logging
      • Graylog
      • Fluentd
    • Monitoring
      • Grafana
    • Infrastructure-as-Code
      • Terraform
        • AWS-Provider
        • GitHub-Provider
      • Packer
    • Deployment
      • Vault
      • Consul
        • Consul Template
      • Fabio
  • Rechtliches
    • Software-Lizenzen
  • Git Ecosystem
    • Git
      • Git Lifecycle Hooks
    • GitHub
      • GitHub Organizations
    • GitHub Actions
    • GitHub Pages
    • GitHub CLI
    • GitHub Copilot
    • GitHub-AWS OIDC
    • GitBook
    • GitLab
    • Bitbucket/Stash
  • Publishing
    • WordPress
    • Markdown
    • Static Site Generators
      • Hugo
      • Jekyll
    • Tiddly Wiki
    • Leanpub
    • Animationsfilme
  • Storage
    • Synology 2012
    • Synology 2021
  • Collaboration
    • Übersicht
    • Microsoft Teams
  • Konferenzen
    • Velocity Berlin 2019
  • IT mit Kindern
    • Projekt Sportstracker
    • Scratch
    • Pico Spielekonsole
  • Schule
    • Mathematik
  • Misc
    • Foto/Video
      • Foto/Video Sammlung bis 2023
        • Handbrake
        • Onedrive
      • Foto/Video Sammlung ab 2024
      • Gopro
      • Panasonic FZ1000 ii
        • als Webcam
      • AV Receiver
      • Videos erstellen
        • OBS Studio
        • Touch Portal
        • Game-Streaming
      • Kameratasche
      • Kamera 2020
    • Handy
      • 2016
      • 2018
      • 2019
      • 2021
      • 2022
    • Computer
      • Laptop
        • 2018
        • Chromebook
      • Monitor
        • 4k
      • Software
        • Command Line Interface
        • Google API
        • Plant UML
        • Chromium
        • Passwort-Manager
        • GPG
      • Dell CNF 2665 Farbdrucker
      • Dockingstation
      • Gaming PC 2021
      • Mobiles Büro
      • Mobiles Internet
      • Mobiler Router
    • Beamer Benq W1000+
    • Spielekonsole
      • 2017
        • Playstation 4
      • Pico Spielekonsole
    • Gadgets
      • iPad Pro 2015 und 2016
      • iPad Air 2024
      • Macbook Pro
      • Smartwatch
      • Slate
      • Mudi
    • Fahrrad
      • Jonas 2018
      • SQLab
    • Auto
      • Auto 2022
      • Camping
        • Camping Touren Ideen
          • Camping Tour - Gardasee 2021
        • Camper
          • Camper klein - keine Stehhöhe
            • VW Bus Erfahrungen
          • Camper gross - Stehhöhe
    • Haus
      • Klimaanlage
      • Swimming Pool
      • Quick Mill Orione 3000
      • Spülmaschine 2021
      • Hebe-Schiebetür
      • Gasgrill
      • Minibar / Mini-Kühlschrank
      • Glasfaseranschluss (Fiber-to-the-Home)
      • Smart-Home
        • Raspberry Pi
        • Heimnetzwerk
      • Homeoffice
      • Energie
        • Solar
        • Wärmepumpe
    • Freizeit
      • Musik Streaming
      • Sky
      • Online Lernplattformen
      • eScooter - ePowerFun
    • Fußball
      • Meine Arbeit als Fußball-Trainer
      • Fußball Tools
      • DFB Talentförderung
    • Google Impact Challenge
  • Englisch
Powered by GitBook
On this page
  • Features
  • Installation
  • Babun-Admin-Tool babun
  • babun check
  • babun update
  • babun shell
  • HTTP-Proxy Konfiguration
  • Paketmanager pact
  • Probleme
  • Verwendung von Cygwin-Pfaden

Was this helpful?

  1. Workbench
  2. Konsole

Babun

  • Homepage

    • übrigens eine GitHub-Page

Babun ist ein Tool, das cygwin enthält ... aber zudem noch ein paar nette Features mitbringt.

... aber leider auch ein paar ziemliche Probleme mit sich bringt (siehe unten). Deshalb bin ichs mittlerweile leid unter Windows arbeiten zu wollen ... Office ok, Surfen ok, aber niemals nicht Software entwickeln


Features

  • CLI-Paketmanager (pact) - unter cygwin kann die Installation von Paketen nur über den GUI-Installer erfolgen. Ich mag diesen GUI-Installer nicht - außerdem ist mit einem CLI-Paketmanager scripten möglich.

  • Auto-Update

  • Open-Babun-Here context menu

  • zsh + oh-my-zsh out-of-the-box (git-aware prompt!!!)


Installation

Die Installation von Babun beeinflußt eine evtl. vohandene Cygwin-Installation nicht.

  • zip-File downloaden

  • install.bat /t "C:\target_folder"aufrufen. Danach sieht das Filesystem folgendermaßen aus:

    ${INSTALL_DIR}/ cygwin/ etc/ home/ usr/ ... das übliche ... babun.bat rebase.bat update.bat uninstall.bat


Babun-Admin-Tool babun

babun check

Mittels

babun check

wird die Konfiguration überprüft ... bei einem Proxy-Problem sieht das Ergbenis dann beispielsweise so aus:

{ ~ }  » babun check                                                                            
Executing babun check
Source consistent [OK]
Prompt speed      [OK]
File permissions  [OK]
Connection check  [FAILED]
Update check      [FAILED]
Hint: adjust proxy settings in 
  ~/.babunrc and execute 'source ~/.babunrc'

babun update

Beim babun check erfolgt auch eine Prüfung auf Babun-Updates. Sollte

Cygwin check      [OUTDATED]

erscheinen, dann erfolgt der Update von Babun und dem darunterliegenden Cygwin per

babun update

babun shell

Die zsh mit oh-my-zsh ist die Default-Shell. Will man eine andere verwenden, dann geht das per

babun shell /bin/bash 

oder über die Anpassung der /etc/passwd per

chsh -s ${which zsh}

HTTP-Proxy Konfiguration

... erfolgt in ~/.babunrc ... dort sind die notwendigen Einstellungen auch schon dokumentiert :-)


Paketmanager pact

  • pact --help: Anzeiger aller Kommandos

  • pact install openssh: Paket openssh installieren


Probleme

Verwendung von Cygwin-Pfaden

Ein

java -jar /cygdrive/c/libs/MyComponent.jar

und

java -jar /c/libs/MyComponent.jar

schlägt unter einer zsh-Shell mit

Error: Unable to access jarfile /cygdrive/c/libs/MyComponent.jar

fehl, obwohl die Datein bei ls /cygdrive/c/libs/MyComponent.jar bzw. ls /c/libs/MyComponent.jar problemlos gefunden wird.

Ein

java -jar /c/libs/MyComponent.jar

hingegen funktioniert.

Sicherlich kann man damit umgehen, wenn man auf der Shell arbeitet. Will man allerdings Skripte unter Windows-Babun wiederverwenden, die auch in Linux-Systemen (Staging, Live) verwendet werden und die laufen aus diesem Grund nicht, dann ist das ein NO-GO.

In einigen meiner Skripte verwende ich:

_script=$(readlink -f "$0")
_scriptpath=$(dirname "${_script}")

um dann Dateien relativ zum Pfad des ausgeführten Skripts referenzieren zu können:

java -jar ${_scriptpath}/../libs/MyComponent.jar

Das funktioniert unter Linux ganz prima ... unter Windows-Babun out-of-the-box leider nicht, weil als ${_scriptpath} der elende Cygwin-Path ermittelt wird (/cygdrive/c/libs/MyComponent.jar).

Ich will jetzt aber keine Babun-spezifische Logik in meine Skripte einbauen (cygpath -u), weil die eigentlich für Linux entwickelt werden und die Nutzung unter Windows nur ein Synergieeffekt (Abfallprodukt) darstellt.

PreviouscygwinNextterminator

Last updated 3 years ago

Was this helpful?