archlinux 安装完以后重启出现can‘t access tty job control tuned off

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了archlinux 安装完以后重启出现can‘t access tty job control tuned off相关的知识,希望对你有一定的参考价值。

我在笔记本上安装完archlinux 重启以后 提示 can t access tty job control tuned off
安装方式是刻录的光盘,用的archroot
按照官方wiki,最后安装完成重启的时候出现那个提示

这个怎么回事 求高手指点一下

参考技术A (1): 错误现象: Linux 启动完成后打印如下信息
-sh: can't access tty; job control turned off
并且ctrl + c 不能杀死正在运行的程序。
(2): 问题的原因
busybox 要求shell能运行在实际的控制台,而不是虚拟的控制台。
Ctrl+C终止进程的流程是这样的:
Ctrl + C首先通过 /dev/ttyS0 (/dev/console)的driver,这个serial driver直接把这个控制字符送到n_tty的driver,n_tty负责search所有的 控制字符。当 ctrl+C 按下,n_tty.c: n_tty_receive_break() –> isig(SIGINT,tty) –> kill_pg(SIGINT, tty->pgrp)signal.c: kill_pg() calls signal(SIGINT,task) 来中断每个具有group number 为 tty->pgrp的task.值得一提的是,只要process具有相同的group id,不管是backgroud还 是foreground,都会被kill掉。

解决:-sh: cant access tty; job control turned off 的问题 - KuaFu - kuafu80 的博客

注意区别3个设备节点的意义:
/dev/tty1: 第一个虚拟控制台
/dev/ttyS0: 第一个UART 串口端口
/dev/console: 系统控制台

(3): 解决办法
编写/etc/inittab文件(当然,前提是要编译busybox时,需要选上"Support reading an inittab file"),写入如下内容
console::sysinit:/etc/init.d/rcS
ttyS0::askfirst:-/bin/sh
ttyS1::askfirst:-/bin/sh
ttyS2::askfirst:/bin/sh
::restart:/sbin/init
::ctrlaltdel:/sbin/init
::shutdown:/bin/umount -a -r
::shutdown:/sbin/swapoff -a

特别注意:
(1): 在uboot启动命令行一般会指定系统控制台: console=ttyS2,115200n8,运行在哪个UART串行端口上,这个需要根据
    自己的开发板的硬件电路来决定。
(2): ttyS0、ttyS1、ttyS2,根据自己的硬件电路来决定。
(3): console::sysinit:/etc/init.d/rcS,表明在uboot的命令行参数中不再需要指定: init=/rcS了,Linux系统起来后,自动
    会去执行/etc/init.d/rcS脚本。

ArchLinux 修改 MariaDB 数据库路径后启动报错 Can't create test file /xxxxx/xxxxx-test

.

.

.

.

.

首先安装 MariaDB,这一步没有什么特殊之处。

>$ sudo pacman -Sy
>$ sudo pacman -S extra/mariadb

安装完成后,注意看提示,会要求我们初始化 MariaDB。

sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

其中 --datadir 就是数据库所在的路径,我把它修改到 /home/mariadb 这个路径下了。

 

接下来修改配置文件,将新数据库路径添加进去。

>$ sudo vim /etc/my.cnf.d/server.cnf
[mysqld]
datadir=/home/mariadb

 

编辑 /usr/share/mysql/policy/apparmor/usr.sbin.mysqld 文件,将新路径添加进去,否则无法启动数据库服务。

在此文件中搜索数据库的默认路径/var/lib/mysql,并照葫芦画瓢把我们的新路径也同样配置进去。

 

最后一步,修改 service 启动脚本,否则仍然无法启动服务。

>$ sudo vim /lib/systemd/system/mariadb.service
ProtectHome=false

将 ProtectHome=true 改为 ProtectHome=false。

 

现在可以启动数据库了。

>$ sudo systemctl daemon-reload
>$ sudo systemctl start mariadb
# 如需开机自启动,执行如下命令
>$ sudo systemctl enable mariadb

 

参考文献:

Archlinux下安装mariadb没法改变datadir(Can\'t create test file)

archlinux安装mariadb

MariaDB cannot start after update: [Warning] Can\'t create test file /home/mysql/beta.lower-test

MariaDB

 

以上是关于archlinux 安装完以后重启出现can‘t access tty job control tuned off的主要内容,如果未能解决你的问题,请参考以下文章

mysql8.0安装,data目录下面err文件出现Can‘t find error-message file

archlinux 装完初步的东西后怎么整

安卓百度地图版本9.2.0更新完地图以后出现闪退,一打开,4-5秒就闪退怎

windows server 2012 安装完操作系统以后运行不稳定在不定时会自动重启(software protection 在作怪)

application program Can't Start

关于archlinux联网的问题『高分求人解答,采纳后再加100分』