Invalid cross-device link Redis - redis

I am having an invalid cross-device link error for when Redis rolls its log on a vm. Both directories are on /tmp/ in the vm and appear to have the same disk.
Is there a way to debug this on a virtual machine?
https://github.com/antirez/redis/issues/305
Error trying to rename the temporary AOF: Invalid cross-device link

Related

Can't create RabbitMQ policies on server with mapped drives

I've installed RabbitMQ on my local machine with no issues and created some queue and exchange policies.
Now I'm trying to set up RabbitMQ on a server on our network. The IT dept has drives mapped. Specifically, they have %HOMEDRIVE% set to U: and %HOMEPATH% set to "". I've read numerous places about that potentially causing issues with the Erlang cookie.
However, everything I've read states that you simply need to copy the cookie over. I've copied the .erlang.cookie file to both C:\Users[myprofile], to U:\ but neither seems to help. When I try the following (without changing %HOMEDRIVE%)
rabbitmqctl set_policy DLX ".*" "{""dead-letter-exchange"":""CM-Dead-Letter""}" --apply-to queues
I get [error] Failed to create cookie file 'u:/.erlang.cookie': enoent -- which is weird because the file is already there.
If I SET HOMEDRIVE=C: and run the same set_policy command, then I get this error:
What do I need to do to get this working on my server?

error Performing erlang migration to another node

I have 2 nodes rabbit2 and rabbit3 everything is working fine until i start cluster
then I did the command
scp -r rabbit2:/var/lib/rabbitmq/.erlang.cookie /var/lib/rabbitmq/.erlang.cookie .
and after successfully transferring the failed nodes
enter image description here
Maybe the cookie file not used because the file permission setting or other cookie file has been used for priority reason.
Do you know how to run rabbitmq in erlang console mode?
If you can, enter the console first, check the problem by command.
erlang cookie check function

SSH login error - "libintl.so.9" not found

I'm logging in to vSphere VM (FreeBSD) using SSH and getting the following error-
Shared object "libintl.so.9" not found, required by "bash"
Connection to xxx closed.
I mistakenly changed root user's shell to bash. I was able to login earlier using csh. I can't run chsh or any other commands because I am not able to login to the server.
Is there a way to revert the shell change or specify shell while SSH login? I have tried rebooting the VM using vSphere but still getting the same error.
I have also tried sftp using FileZilla but since it uses SSH, I am getting the following error-
Status: Connected to xxx
Error: FATAL ERROR: Received unexpected end-of-file from SFTP server
Error: Could not connect to server
To fix this, you will need to shutdown the VM from vsphere, reboot, then choose "Single User" mode. Once at the single user shell, change root's shell to /bin/sh or /bin/csh. Don't use 3rd part shells for root.
Also, you get the error because your bash binary is out of date and not ABI compatible with the OS it's installed. Using pkg update should help once you get access again.

Zeek cluster fails with pcap_error: socket: Operation not permitted (pcap_activate)

I'm trying to setting up a Zeek IDS cluster (v.3.2.0-dev.271) on 3 Ubuntu 18.04 LTS hosts to no avail - running zeek deploy command fails with the following output:
fatal error: problem with interface ens3 (pcap_error: socket: Operation not permitted (pcap_activate))
I have followed the official documentation (which is pretty generic at best) and set up passwordless SSH authentication between the zeek nodes.
I also preemptively created the /usr/local/zeek path on all hosts and gave the zeek user full permissions on that directory. The documentation says The Zeek user must be able to either create this directory or, where it already exists, must have write permission inside this directory on all hosts.
The documentation also says that on the worker nodes this user must have access to the target network interface in promiscuous mode.
My zeek user is a sudoer AND a member of netdev group on all 3 nodes. Yet, the cluster deployment fails. Apparently, when zeekctl establishes the SSH connection to the workers it cannot get a hold of the network interfaces and set caps.
Eventually I was able to successfully run the cluster by following this article - however it requires you to set up the entire cluster as root, which I would like to avoid if at all possible.
So my question is, is there anything blatantly obvious that I am missing? To the best of my knowledge this setup should work, otherwise I don't know how to force zeekctl to run 'sudo' in front of every SSH command it is supposed to run on the workers, or how to satisfy this requirement.
Any guidance will be greatly appreciated, thanks!
I was experiencing the same error for my standalone setup. Found this question from googling it. More googling the error brought me to a few blogs including one in which the comments mentioned the same error. The author mentioned giving the binaries permissions using setcap:
$sudo setcap cap_net_raw,cap_net_admin=eip /usr/local/zeek/bin/zeek
$sudo setcap cap_net_raw,cap_net_admin=eip /usr/local/zeek/bin/zeekctl
After running them both, my instance of zeek is now running successfully.
Source: https://www.ericooi.com/zeekurity-zen-part-i-how-to-install-zeek-on-centos-8/#comment-1586
So, just in case someone else stumbles upon the same issue - I figured out what was happening.
I streamlined the cluster deployment with Ansible (using 'become' directive at task level) and did not elevate when running the handlers responsible for issuing the zeekctl deploy command.
Once I did, the Zeek Cluster deployment succeeded.

Change date and time in BIOS of virtual machine

I would like to change date in Virtual Machine, but I want to do this by command line. I use this line:
VBoxManage modifyvm MyVirtSystem -biossystemtimeoffset -1209600000
It shoulds change date to two weeks ago, but I get this error message:
VBoxManage.exe: error: Failed to create the VirtualBox object!
VBoxManage.exe: error: Code CO_E_SERVER_EXEC_FAILURE (0x80080005) - Server execu
tion failed (extended info not available)
VBoxManage.exe: error: Most likely, the VirtualBox COM server is not running or
failed to start.
Have you any ideas what I do wrong?
There are a few things to be aware of when fiddling with the BIOS time offset, the first is that you didn't include a double-dash in your command. I tried it with one of my VMs and I needed to have two dashes for that option to work (though I got a different error than you reported). Here is the command I used:
VBoxManage modifyvm MyVirtSystem --biossystemtimeoffset -1209600000
The next thing is to ensure that you have the proper permissions to modify the xml configuration file for your VM. I have seen many times where VirtualBox is launched after installing with elevated (or even a different user entirely) credentials, a VM is created, and then later without the same privileges a regular user is prohibited from changing the configuration due to file permissions.
One last thing to be aware of, you may you need disable any time sync services, possibly even the guest extensions to prevent the guest clock from getting synchronized back to the correct time. For a Windows guest you would want to stop/disable the VirtulBox Guest Additions and Windows Time services.