Pull to refresh
126.1
Rating

*nix *

A hub abot UNIX like OSs

Show first
Rating limit
Level of difficulty

Make first deb-src package by example cri-o

Reading time 9 min
Views 418
Configuring Linux *Open source **nix *Development for Linux *
Tutorial


Overview


Once every true-linux engineer gets a trouble: there is no any software in his distro or it's built without needed options. I am keen on the phrase: "Only source control gives you freedom".


Of course, you can build this software on your computer without any src-packages, directly (with simplification: configure, make, make install). But it's a non-reproducible solution, also hard for distribution.


The better way is to make distro-aligned package that can be built if needed and that produces lightly distributed binary-packages. It's about debian-source packages(debian,ubuntu,etc), pkgbuild (for arch), ebuild for gentoo, src-rpm for red hat-based, and many others.


I will use cri-o like a specimen.


Before reading the text below I strongly recommend to get familiarized with the official Debian policy manual placed here and debhelper manpage.


Also you will be required to setup some variables like DEBMAIL and DEBFULLNAME for proper data in changelog and other places.

Read more →
Total votes 1: ↑1 and ↓0 +1
Comments 1

An Antidote to Absent-Mindedness, or How I Gained Access to an OpenShift Node without an SSH Key

Reading time 6 min
Views 4.7K
Иннотех corporate blog System administration **nix *DevOps *Openshift *
Translation

Typically when a Node falls out of the OpenShift cluster, this is resolved by simply restarting the offending element. What should you do, however, if you’ve forgotten the SSH key or left it in the office? You can attempt to restore access by using your wit and knowledge of Linux commands. Renat Garaev, lead developer at Innotech, described how he found the solution for this riddle and what was the outcome.

Read more
Rating 0
Comments 0

Introducing into calamares bootloader

Reading time 13 min
Views 2.3K
Configuring Linux *Open source **nix *Development for Linux *Software
Tutorial


Overview


Sometimes all of us need to make a graphical installer for one's own linux distro. It goes without saying that you are able to use a distro-specific installer like Anaconda for RedHat-based or DebianInstaller for debian-based. On the other hand Calamares is a graphical installer which is not aligned with only one package manager.


I want to share my experience how to make a universal install solution with GUI. I did not find any complete article about it, hence, I reinvented the wheel.

Read more →
Total votes 2: ↑2 and ↓0 +2
Comments 0

LVM Thinpool Restore

Reading time 4 min
Views 1.9K
Configuring Linux **nix *
Sandbox

Hi everyone, today I will tell how I restored a defunct LVM thinpool. Unfortunately I could not find any howtos or manuals on the internet, so maybe this one will help someone in a similar situation.

Read more
Total votes 2: ↑2 and ↓0 +2
Comments 0

Controlling Brushless Motors using a Linux computer or a PLC

Reading time 5 min
Views 1.8K
*nix *SCADA *Computer hardware DIY Electronics for beginners
Tutorial

In this video, we will look at how to connect brushless motor controllers to a Linux computer. Specifically, we will use a computer running Debian. The same steps would work for Ubuntu Linux and other Linux distributions derived from Debian.

I've got a small sensorless brushless motor, and a bigger brushless motor with a built-in absolute encoder. Lets look at how to control those from my Debian Linux computer. Servosila brushless motor controllers come in several form factors with either a circular or a rectangular shape. The controllers come with a set of connectors for motors and encoders as well as for USB or CANbus networks.

The controllers can be powered by a power supply unit or by a battery. To spice up my setup, I am going to use a battery to power the controllers and thus their motors. The controllers need 7 to 60 volts DC of voltage input. If I connect the battery, the controllers get powered up. The small LED lights tells us that the controllers are happy with the power supply.

We need to connect the brushless motor controllers to the Linux computer. There are two ways to do that - via CANbus or via USB. Lets look at the USB option first. A regular USB cable is used. Only one of the controllers needs to be connected to a computer or a PLC.

Next, we need to build an internal CANbus network between the controllers. We are going to use a CANbus cross-cable to interconnect the controllers. Each controller comes with two identical CANbus ports that help chain multiple controllers together in a network. If one of the interconnected brushless motor controllers is connected to a computer via USB, then that particular controller becomes a USB-to-CANbus gateway for the rest of the network. Up to 16 controllers can be connected this way via a single USB cable to the same control computer or a PLC. The limit is due to finite throughput of the USB interface.

Video & Read more
Total votes 4: ↑3 and ↓1 +2
Comments 0

The Implementation of a Custom Domain Name Server by Using С Sockets

Reading time 5 min
Views 2.1K
*nix *DNS *C *SQLite *
Sandbox

We describe the implementation of a custom Domain Name System (DNS) by using C socket programming for network communication, together with SQLite3 database for the storage of Internet Protocol (IP) for Uniform Resource Locator (URL). Then we provide a performance analysis of our implementation. Our code is available publicly [1].

Read more
Total votes 5: ↑4 and ↓1 +3
Comments 0

Using kconfig for own projects

Reading time 4 min
Views 5.4K
Configuring Linux **nix *Development for Linux *

Intro


Every Linux professional write scripts. Someеimes light, linear. Sometimes complex script with functions and libs(yes, you can write your bash-library for use in other scripts).


But some of the scripts need a configuration file to work. For instance, I wrote a script that builds the ubuntu image for pxe, and I need to change the build process without build-script changes. The best way to resolve this task is to add configuration files.

Read more →
Total votes 2: ↑2 and ↓0 +2
Comments 3

Porting packages to buildroot using the Zabbix example

Reading time 16 min
Views 3.5K
Configuring Linux *Open source **nix *Development for Linux *Software
Tutorial


The basics of porting


Originally, Buildroot offers a limited number of packages. It makes sense — there is everything you need, but any other packages can be added.


To add a package, create 2 description files, an optional checksum file, and add a link to the package in the general package list. There are hooks at different stages of the build. At the same time, Buildroot can recognize the needed type of packages:

Read more →
Total votes 2: ↑2 and ↓0 +2
Comments 0

Safe-enough linux server, a quick security tuning

Reading time 10 min
Views 2.2K
Information Security *System administration **nix *Cloud computing *Server Administration *
Tutorial
Sandbox
The case: You fire up a professionally prepared Linux image at a cloud platform provider (Amazon, DO, Google, Azure, etc.) and it will run a kind of production level service moderately exposed to hacking attacks (non-targeted, non-advanced threats).

What would be the standard quick security related tuning to configure before you install the meat?


release: 2005, Ubuntu + CentOS (supposed to work with Amazon Linux, Fedora, Debian, RHEL as well)


image

Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

How I fix cups-printing in Buildroot

Reading time 7 min
Views 1.7K
Configuring Linux *Open source **nix *Development for Linux *

image


Intro


Like I said earlier in previos articles, Buildroot is a great system for embedded Linux development. But sometimes strange things can happen.


Once upon a workday, I got the following task: add printing system in firmware (Kraftway terminal Linux next generation). Ok, so I had to add cups + cups filter and to build firmware. I set a postscript-printer and got an error "Filter failed". Trivial tasks turned into serious work.


In this article, I wrote my own way of solving this problem. It may be useful for other developers and IT-specialist and, also, for a deeper understanding of the Buildroot.


If you are a Buildroot beginner, I recommend reading my previous articles.


Update 1 may 2020


Revisioned versions of this patches applied to master.

Read more →
Total votes 2: ↑1 and ↓1 0
Comments 0

buildroot — my own experience with multi-platform distro creation

Reading time 5 min
Views 4.3K
Configuring Linux *Open source **nix *Development for Linux *

Introduction


In my previous article (Monitor linux) I wrote, what is this distro and how it works. Now i will write how to do it. It's may be interesting for everyone, who want to study buildroot.


Target goals


The result we get from article is the following:


  • Firmware (non-volatile image with restorable config)
  • Easy management via web-interface
  • Cross-platform (qemu x86_64, arm-based SBC like rasberry 4, beagle bone black and asus tinker board)
  • Support without extra effort
Read more →
Total votes 8: ↑6 and ↓2 +4
Comments 2

Monitor linux — cross platform firmware with zabbix server

Reading time 4 min
Views 1.8K
Open source *IT Infrastructure **nix *Development for Linux *Development for Raspberry Pi *

About


This is small cross-platform linux-distro with zabbix server. It's a simple way to deploy powerful monitoring system on ARM platfornms and x86_64.


Worked as firmware (non-changeable systemd image with config files), have web-interface for system management like network settings, password and other.


Who is interested


  • System admins/engineers who need to fast deploy of zabbix server.
  • Everyone, who want to deploy zabbix on ARM.
  • Enthusiasts
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 0

Fast and effective work in command line

Reading time 9 min
Views 2.2K
*nix *Shells *
Translation

There are a lot of command line tips and trics in the internet. Most of them discribe the trivials like "learn the hotkeys" or "sudo !! will run previous command with sudo". Instead of that, I will tell you what to do when you have already learned the hotkeys and know about sudo !!.

Read more →
Rating 0
Comments 2

Down the Rabbit Hole: A Story of One varnishreload Error — part 1

Reading time 8 min
Views 910
*nix *Shells *Debugging *DevOps *

After hitting the keyboard buttons for the past 20 minutes, as if he was typing for his life, ghostinushanka turns to me with a half-mad look in his eyes and a sly smile, “Dude, I think I got it.


Look at this” — as he points to one of the characters on screen — “I bet my red hat that if we add what I’ve just sent you here” — as he points to another place in the code — “there will be no error anymore.”
Slightly puzzled and tired I modify the sed expression we’ve been figuring out for some time now, save the file and run systemctl varnish reload. Error message gone…


“Those emails I’ve exchanged with the candidate,” my colleague continues, as his smile changes to a wide and genuine grin, “It suddenly struck me that this is the very same exact problem!”

Read more →
Total votes 4: ↑3 and ↓1 +2
Comments 0

12.3 million of concurrent WebSockets

Reading time 19 min
Views 12K
High performance *C++ **nix *Lua *
Recovery mode

One thing about WebSockets is that you need a lot of resources on the client's side to generate high enough load for the server to actually eat up all the CPU resources.


There are several challenges you have to overcome because the WebSockets protocol is more CPU demanding on the client's side than on the server's side. At the same time you need a lot of RAM to store information about open connections if you have millions of them.


I've been lucky enough to get a couple of new servers for a limited period of time at my disposal for the hardware "burnout" tests. So I decided to use my Lua Application Server — LAppS to do both jobs: test the hardware and perform the LAppS high load tests.


Read more →
Total votes 6: ↑3 and ↓3 0
Comments 0
1

Authors' contribution