两台Linux系统机器
ssh
ssh-keygen/ssh-copy-id

1.本地系统执行 ssh-keygen -t rsa 命令,生成密钥文件 一路回车
2.在相应的目录下查看生成的密钥文件,其中:id_rsa为私钥文件,id_rsa.pub为公钥文件3.本地机器执行命令如:ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip, 将公钥文件传输的远程机器,并生效
4.再次使用已经做免密处理的用户登录远程机器,已经不需要密码了,免密登录处理完成。

注意事项

免密码登录的处理是用户对用户的,切换其他用户后,仍然需要输入密码
公钥传到远程机器并生效的操作,可用其他方式实现,如scp后修改authorized_keys
远程机器的.ssh目录需要700权限,authorized_keys文件需要600权限

环境:unbutu 18.04
错误重现

正准备解包 …/libreadline7_7.0-3_i386.deb …
正在将 libreadline7:i386 (7.0-3) 解包到 (7.0-1) 上 …
dpkg: 处理归档 /var/cache/apt/archives/libreadline7_7.0-3_i386.deb (–unpack)时出错:
尝试覆盖共享的 ‘/usr/share/doc/libreadline7/changelog.Debian.gz’, 它与软件包 libreadline7:i386 中的其他实例不同
在处理时有错误发生:
/var/cache/apt/archives/libreadline7_7.0-3_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
解决方案

#备份原来的dpkg info
sudo mv /var/lib/dpkg/info /var/lib/dpkg/baks
#建立新的bpdk info文件夹
sudo mkdir /var/lib/dpkg/info

sudo apt-get update

sudo apt-get install -f
#讲新的追加到新备份中
sudo mv /var/lib/dpkg/info /var/lib/dpkg/baks
#删除不要的
sudo rm /var/lib/dpkg/info -r
#重新设为info
sudo mv /var/lib/dpkg/baks /var/lib/dpkg/info

作为root用户,用chmod为什么改不了文件权限
以ROOT用户登陆,当用chmod改文件权限时,系统显示无权更改,为什么

文件名是:aa
chmod 777 aa

chmod: changing permissions of `aa’: Operation not permitted

解决:

chattr可以防止关键文件被修改
在linux下,有些配置文件是不允许任何人包括root修改的,为了防止被误删除或修改,
可以设定该文件的”不可修改位(immutable)”。
例如:
chattr +i /path/file
如果需要修改文件则:
chattr -i /path/file
以后再修改文件。

这个错误是gd库出了问题,一般是gd库在安装的时候没有编译freetype。我的解决方案是重新编译php,或者在编译PHP的时候不安装gd,后期安装动态链接库。我用的是lnmp一键安装包,环境是 deepin 15.7 。在安装php7.2的时候一直有报错。

1.首先是libcurl.so4报错。

解决方案是 sudo apt-get libcurl4 libcurl4-dev

2.是gd库报错,找了半天也没找到办法,索性编译时候去掉了gd库。

但是项目实在需要gd库,只能手动的编译,在编译的时候需要freetype。

刚开始我没有用freetype直接编译,就出现了致命错误: Call to undefined function think\captcha\imagettftext()

我在/usr/local 中发现freetype。但是好像不能工作,我就直接rm掉了

手动安装了freetype 当然还是这个目录了

接下来在php源码中 找到 ext/gd 重新安装

/path/phpize

./configure –with-php-config=/usr/local/php/bin/php-config –with-freetype-dir=/usr/local/freetype/

make

sudo make install

PHP配置加上 gd.so 重启php-fpm 解决问题