acme.sh change api version
acme.sh v1 to v2
su - acme -s /bin/bash
mkdir temp && git clone https://github.com/acmesh-official/acme.sh.git temp
mv acme.sh acme.sh_backup && mv temp/acme.sh .
./acme.sh/acme.sh --issue
acme.sh change api version
acme.sh v1 to v2
su - acme -s /bin/bash
mkdir temp && git clone https://github.com/acmesh-official/acme.sh.git temp
mv acme.sh acme.sh_backup && mv temp/acme.sh .
./acme.sh/acme.sh --issue
Missing privilege separation directory: /var/run/sshd error
If you are updating SSH, please make sure /usr/lib/tmpfiles.d/sshd.conf have: d /run/sshd 0755 root root
find /some/path/ -printf '%T+ %p\n' | sort -r | head
screen -S sleep -d -m sleep 10
screen -ls
There is a screen on:
44401.sleep (Detached)
sudo dd if=/dev/zero of=loop.img bs=100M count=10
sudo losetup -fP loop.img
sudo losetup -a
sudo mkfs.ext4 loop.img
mkdir loopfs
sudo mount -o loop /dev/loop0 loopfs
sudo touch loopfs/input.txt
sudo umount loopfs
sudo debugfs -R 'stat input.txt' /dev/loop0'
debugfs 1.45.5 (07-Jan-2020)
Inode: 15 Type: regular Mode: 0644 Flags: 0x80000
Generation: 1856443764 Version: 0x00000000:00000001
User: 0 Group: 0 Project: 0 Size: 42313
File ACL: 0
Links: 1 Blockcount: 88
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x5f2f4acc:78970acc -- Sun Aug 12 04:01:00 2020
atime: 0x5f33c7f3:7fd665f4 -- Sun Aug 12 04:01:00 2020
mtime: 0x5f2f4acc:78970acc -- Sun Aug 12 04:01:00 2020
crtime: 0x5f2f4acc:b79f2b04 -- Sun Aug 12 04:01:00 2020
Size of extra inode fields: 32
Extended attributes:
security.selinux (37) = "unconfined_u:object_r:unlabeled_t:s0\000"
Inode checksum: 0x6371117e
EXTENTS:
(0-10):33280-33290
sudo debugfs -w -R 'set_inode_field input.txt crtime 201808090101' /dev/loop0
sudo debugfs -w -R 'set_inode_field input.txt ctime 201808090101' /dev/loop0
Sometimes also need: echo 2 > /proc/sys/vm/drop_caches
Another way, but is not recommended to change system time:
NOW=$(date) && date -s "2022-08-10 21:10:10" && touch input.txt && date -s "$NOW"
exiftool -all= input.pdf
qpdf --empty --pages input.pdf 1-z -- output.pdf
rmmod nf_nat_ftp
rmmod nf_conntrack_ftp
modprobe nf_conntrack_ftp ports=21,1021
modprobe nf_nat_ftp
lsof -nP 2>&1 | grep '(deleted)'
find /proc/*/fd -ls 2> /dev/null | grep '(deleted)'
1273871272 0 l-wx------ 1 zabbix zabbix 64 Nov 4 08:38 /proc/10614/fd/1 -> /var/log/zabbix/zabbix_agentd.log.1\ (deleted)
1273871273 0 l-wx------ 1 zabbix zabbix 64 Nov 4 08:38 /proc/10614/fd/2 -> /var/log/zabbix/zabbix_agentd.log.1\ (deleted)
truncate -s 0 /proc/10614/fd/2
sudo sed -i '/^GRUB_CMDLINE_LINUX/ s/"$/ systemd.unified_cgroup_hierarchy=0"/' /etc/default/grub
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg (for EFI)
echo user.max_user_namespaces=15076 | sudo tee -a /etc/sysctl.conf
echo 'vit:100000:65536' | sudo tree -a /etc/subuid
echo 'vit:100000:65536' | sudo tee -a /etc/subgid
sudo reboot
sudo podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/ubuntu latest 1e4467b07108 2 weeks ago 76.3 MB
export PS1="$(hostname -f):~$ " >> /root/.bashrc
yum install https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm -y
yum repolist enabled | grep “mysql.*-community.*”
mysql-connectors-community/x86_64 MySQL Connectors Community 165
mysql-tools-community/x86_64 MySQL Tools Community 115
mysql57-community/x86_64 MySQL 5.7 Community Server 444
systemctl start mysqld
grep ‘temporary password’ /var/log/mysqld.log
2020-08-08T18:56:50.367913Z 1 [Note] A temporary password is generated for root@localhost: xxxxxxxxxxxxx
centos install virtuozzo
yum install epel-release
wget https://download.openvz.org/virtuozzo/releases/openvz-7.0.14-136/x86_64/os/Packages/p/python-subprocess32-3.2.7-1.vz7.5.x86_64.rpm
wget https://download.openvz.org/virtuozzo/releases/openvz-7.0.14-136/x86_64/os/Packages/o/openvz-release-7.0.14-3.vz7.x86_64.rpm
yum localinstall openvz-release-7.0.14-3.vz7.x86_64.rpm python-subprocess32-3.2.7-1.vz7.5.x86_64.rpm
wget http://repo.virtuozzo.com/vzlinux/7/x86_64/os/Packages/r/readykernel-scan-0.11-1.vl7.noarch.rpm
wget http://repo.virtuozzo.com/vzlinux/7/x86_64/os/Packages/z/zstd-1.4.4-1.vl7.x86_64.rpm
wget http://repo.virtuozzo.com/vzlinux/7/x86_64/os/Packages/v/vzlinux-release-7-1.vl7.90.x86_64.rpm
mv /etc/yum.repos.d/CentOS-* /root/
rpm -e --nodeps --justdb json-c
yum erase jansson
wget http://repo.virtuozzo.com/vzlinux/7.8/x86_64/os/Packages/j/jansson-2.10-1.vl7.1.x86_64.rpm
wget http://repo.virtuozzo.com/vzlinux/7.8/x86_64/os/Packages/j/json-c-0.11-13.vl7.1.x86_64.rpm
yum localinstall jansson-2.10-1.vl7.1.x86_64.rpm
yum localinstall json-c-0.11-13.vl7.1.x86_64.rpm
yum install prlctl prl-disp-service vzkernel *ploop*
yum update
awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : Virtuozzo (3.10.0-1127.18.2.el7.x86_64) 7.0.14
1 : Virtuozzo (3.10.0-1127.8.2.vz7.151.14) 7.0.14
2 : Virtuozzo (3.10.0-1127.8.2.el7.x86_64) 7.0.14
3 : Virtuozzo (0-rescue-9063ac396d784f4c997ceacdd0590c25) 7.0.14
grub2-set-default 1
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
#OVZ templates
yum install *ez.noarch
$lock = fopen('/path/to/pid', 'c+');
if (!flock($lock, LOCK_EX | LOCK_NB)) {
die('already running');
}
switch ($pid = pcntl_fork()) {
case -1:
die('unable to fork');
case 0: // this is the child process
break;
default: // otherwise this is the parent process
fseek($lock, 0);
ftruncate($lock, 0);
fwrite($lock, $pid);
fflush($lock);
exit;
}
if (posix_setsid() === -1) {
die('could not setsid');
}
fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);
$stdIn = fopen('/dev/null', 'r'); // set fd/0
$stdOut = fopen('/dev/null', 'w'); // set fd/1
$stdErr = fopen('php://stdout', 'w'); // a hack to duplicate fd/1 to 2
pcntl_signal(SIGTSTP, SIG_IGN);
pcntl_signal(SIGTTOU, SIG_IGN);
pcntl_signal(SIGTTIN, SIG_IGN);
pcntl_signal(SIGHUP, SIG_IGN);
// do some staff
// to kill the proccess
$lock = fopen(‘/path/to/pid’, ‘c+’);
if (flock($lock, LOCK_EX | LOCK_NB)) {
die(‘process not running’);
}
$pid = fgets($lock);
posix_kill($pid, SIGTERM);
yum install php-process