Linux 问题记录(持续记录)

CentOS 最小安装无法联网、无法远程登陆问题

CentOS 7 最小安装后无法上网,运行ip addrens33也没有ip地址。

参考这篇博客,这篇博客是基于 CentOS 6 的,注意 CentOS 7 运行setup命令无效,所有对应的修改在/etc/sysconfig/network-scripts/ifcfg-ens33文件里面修改,比如最后我的如下:

$ cat /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
# BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=309ef162-0bd1-4108-914b-42aae72012b0
DEVICE=ens33
# ONBOOT=no
ONBOOT=yes

# 根据自己的电脑查询
IPADDR=192.168.2.2
# 注意 IPADDR 最后一个不能相同,在同一网段的不同 IP
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=192.168.2.1
DNS2=192.168.2.1

CentOS 最小安装 No manual entry for xxx 问题

$ sudo yum install -y man-pages

xxx is not in the sudoers file 问题

su允许切换登录会话到另一个用户的会话,然后在目标用户权限下运行程序,切换时需要知道目标用户的密码。

sudo允许在root的权限下来运行单个命令,只需要输入你的密码。

在使用sudo时可能遇到xxx is not in the sudoers file问题。解决该问题的方法是修改/etc/sudoers把用户加入到sudoers列表中去。root下使用命令visudo(相当于vi /etc/sudoers)。

sudoers文件是sudo的配置文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440

在文件添加以下一行即可。

<username>	ALL=(ALL)	ALL

文件权限与掩码

c语言中使用open()指定权限创建一个文件之后,检查该文件权限却发现权限不一致。通常是因为umask的原因。

fd = open("test.txt", O_WRONLY | O_CREAT, 0666);

检查test.txt权限

$ ll test.tx
-rw-rw-r--. 1 tgs tgs 0 Mar 24 12:17 test.txt
$ umask
0002

所以最终权限为 666 & ~0002(按位取反)= 664,并不是简单的算术减法。如果指定权限为655,掩码为022,最终权限还是655,为什么?

因为5=1+4,不存在2(联系二进制)。

可以调用umask()函数重新设定umask确保文件权限,而且这样并不会改变shellumask值。

umask(0);
fd = open("test.txt", O_WRONLY | O_CREAT, 0666);

MySQL 查看并修改初始密码

# CentOS 7 查看初始密码
$  sudo grep 'temporary password' /var/log/mysqld.log
# 修改密码
mysql> set password=password("MySQL5.7.29");
# Ubuntu 18.04 查看初始密码
$ sudo cat /etc/mysql/debian.cnf
# 修改密码
mysql> update mysql.user set authentication_string = password('123456') where user='root' and Host = 'localhost';
mysql> update user set plugin = "mysql_native_password";
mysql> flush privileges;

Ubuntu 使用 apt 安装软件时报错

tgs@tgs-ubuntu:~/clinux$ sudo apt install curl
[sudo] password for tgs: 
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

这是因为上次运行安装或更新时没有正常完成,才导致资源被锁。解决方法:

tgs@tgs-ubuntu:~/clinux$ sudo rm /var/lib/dpkg/lock-frontend 
tgs@tgs-ubuntu:~/clinux$ sudo rm /var/lib/dpkg/lock 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值