【问题描述】
新安装的系统,root账户并没有被激活,通过su命令切换认证永远都是认证失败。
【解决方法】
在终端中输入:#sudo passwd root
之后要求你输入两次root用户的密码,重启后就可以登陆root用户了。
退出root权限方法:#exit
如果需要隐藏root用户:# sudo passwd -l root #设置root密码过期即可
【问题描述】
新主机需要查看对应的系统软硬件信息,方便做进一步配置。
【解决方法】
输入”uname -a “,显示电脑以及操作系统的相关信息;
$uname -a
Linux cl-builder26 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
输入”cat /proc/version”,显示正在运行的内核版本;
$ cat /proc/version
Linux version 3.13.0-32-generic (buildd@phianna) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #57~precise1-Ubuntu SMP Tue Jul 15 03:51:20 UTC 2014
输入”cat /etc/issue”, 显示系统发行版本信息;
$ cat /etc/issue
Ubuntu 12.04.5 LTS \n \l
输入”lsb_release -a”,显示系统的发行版的所有信息,比如发行版的ID,描述信息,具体版本,代号;
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.5 LTS
Release: 12.04
输入”cat /proc/cpuinfo”,显示cpu相关信息,包括型号、主频、内核信息等;
processor : 0
BogoMIPS : 26.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd04
CPU revision : 1
processor : 1
BogoMIPS : 26.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd04
CPU revision : 1
使用sed命令进行流编辑,比如说/proc/cmdline,内容如下:
console=ttyS0,115200 rdinit=/sbin/init ipaddr=10.0.14.143 netmask=255.255.255.252 gw=10.0.12.1
在脚本中用sed实现如下:
#!/bin/bash
#step1 将所有的空格替换成换行
#step2 打印包含ipaddr的行
#step3 用空字符替换不需要的字符串
ip=`sed -n 's/ /\n/gp' /proc/cmdline | sed -n '/ipaddr/p' | sed -n 's/ipaddr=//gp'`
netmask=`sed -n 's/ /\n/gp' /proc/cmdline | sed -n '/netmask/p' | sed -n 's/netmask=//gp'`
gw=`sed -n 's/ /\n/gp' /proc/cmdline | sed -n '/gw/p' | sed -n 's/gw=//gp'`
if [ "$ip" != "" -a "$netmask" != "" ]; then
ifconfig eth0 $ip netmask $netmask
fi
if [ "$gw" != "" ]; then
route add default gw $gw
fi
查看目录大小使用du命令,可以通过--max-depth参数设置目录层级
kinzxv@cl-builder26:~/out$ du -h --max-depth=1
700K ./.soong_ui_intermediates
124K ./.microfactory_Linux_intermediates
12G ./target
6.1G ./host
33G ./soong
51G .
需要比较两个文件差异简单使用diff file1 file2 -y -W [line]命令并排输出差异项:
kinzxv@cl-builder26:~/$ diff log1 log2 -y -W 50
3.0M ./repo 3.0M ./repo
452K ./kernel 452K ./kernel
244K ./libnativehe 244K ./libnativehe
4.5G ./external 4.5G ./external
590M ./cts 590M ./cts
32M ./bionic 32M ./bionic
279M ./development 279M ./development
92M ./bootable 92M ./bootable
31M ./sdk 31M ./sdk
904K ./pdk 904K ./pdk
20G ./prebuilts 20G ./prebuilts
253M ./vendor 253M ./vendor
82G ./.repo | 81G ./.repo
99M ./docs 99M ./docs
529M ./device 529M ./device
2.0G ./tools 2.0G ./tools
54M ./test 54M ./test
150M ./hardware 150M ./hardware
3.2M ./compatibili 3.2M ./compatibili
537M ./packages 537M ./packages
89M ./libcore 89M ./libcore
12M ./dalvik 12M ./dalvik
371M ./system 371M ./system
223M ./toolchain 223M ./toolchain
14M ./build 14M ./build
63M ./art 63M ./art
790M ./kernel-4.9 790M ./kernel-4.9
406M ./developers 406M ./developers
4.6M ./platform_te 4.6M ./platform_te
1.6G ./frameworks 1.6G ./frameworks
114G . | 113G
使用mount命令查看挂载点一般比较混乱,可以取代用findmnt -l命令来代替。
kinzxv@kinzxv:~$ findmnt -l
TARGET SOURCE FSTYPE OPTIONS
/sys sysfs sysfs rw,nosuid,nodev,noexec,relati
/proc proc proc rw,nosuid,nodev,noexec,relati
/dev udev devtmpf rw,nosuid,relatime,size=81214
/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid
/run tmpfs tmpfs rw,nosuid,noexec,relatime,siz
......
/boot/efi /dev/sda1 vfat rw,relatime,fmask=0077,dmask=
/var/lib/lxcfs lxcfs fuse.lx rw,nosuid,nodev,relatime,user
/run/user/1000 tmpfs tmpfs rw,nosuid,nodev,relatime,size
/home/kinzxv/cgroup/demo demo cgroup rw,relatime,name=demo
/media/kinzxv/E /dev/sda4 fuseblk rw,nosuid,nodev,relatime,user
/media/kinzxv/新加卷 /dev/sda5 fuseblk rw,nosuid,nodev,relatime,user
/run/user/1000/gvfs gvfsd-fuse fuse.gv rw,nosuid,nodev,relatime,user
以apt get 安装mysql为例
第一步 卸载mysql
sudo apt-get autoremove --purge mysql-server-5.0
sudo apt-get remove mysql-server
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common #非常重要
第二步 安装mysql
sudo apt-get install mysql-server=5.5.40-0ubuntu0.12.04.1 #指定安装的版本
sudo apt-get install mysql-workbench #操作mysql的图形交互界面
有些CES如阿里云默认是没有安装桌面的,所以需要自己安装
首先先升级一下:
sudo apt-get update
sudo apt-get upgrade
安装桌面操作如下:
sudo apt-get install ubuntu-desktop
sudo apt-get install gnome
root@kinzxv:~# netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3350 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3389 0.0.0.0:* LISTEN
step1:修改crontab配置加入定时任务
crontab -e
参数说明: minute hour day-of-month month-of-year day-of-week
合法值为: 00-59 00-23 01-31 01-12 0-6(0为周日)
*表示任意值,/表示每间隔多久
注意:此处是调用子shell执行,请cd到脚本目录或使用相对路径,请加执行权限,如果是python的话,请指定python版本
*/1 * * * * echo 'date' >> /home/kinzxv/test.txt
#每分钟0秒开始执行
step2:查看定时任务是否成功
crontab -l
step3:重新启动定时任务
sudo service cron restart
如果要修改crontab默认编辑器为vi或者其他的编辑器,请执行命令:select-editor 然后选择编辑器
其它问题定位要用到cron日志的:
打开日志rsyslog: sudo vim /etc/rsyslog.d/50-default.conf 把cron.*前面的注释打开
重启日志服务:sudo service rsyslog restart 日志路径— /var/log/crod.log
【问题描述】
Shell命令执行失败,但是语法没有问题,这种常见于从windows应用程序复制过来的问题,含有不可见字符,shell无法识别
【解决方法】
#使用 ^ 和 M- 符号显示,结束处显示 $,TAB显示为^l
xujing@xujing-VirtualBox:~$ cat -An text
1 ^I./out/target/product/generic/obj/lib/libfuncmng_sched.so$
2 ^I./out/target/product/generic/obj/lib/libgstplaybin.so$
3 ^I./out/target/product/generic/obj/lib/libgstbase-0.10.so$
4 ^I./out/target/product/generic/obj/lib/libomxavsync.so$
5 ^I./out/target/product/generic/obj/lib/libnmiap.so$
-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-A, --show-all:等价于 -vET。
RPM是Red-Hat Package Manager(RPM软件包管理器)由红帽Linux支持,deb 格式是 Debian 系统(包含 Debian 和 Ubuntu )专属安装包格,因此要进行转格式才能安装。
Step1:
sudo apt-get install rpm alien //安装alien包格式转换工具
Step2:
alien -d package.rpm //通过alien将rpm包转换为deb包
Step3:
sudo dpkg -i package.deb //安装deb包
【问题描述】
默认的终端无法直接通过键盘输入字符n,在其它软件界面或者拼音界面可以输入(排除键盘本身问题)
【解决方法】
打开终端设置Edit-Preference-Shortcuts,查看快捷键设置发现有一个Super+N,跟默认的不一致,改成默认的即可解决。
Ubuntu DSN配置方法
Ubuntu 卷标改名方法
GIT LFS是Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持
#自动选择cpu型号对应deb包进行安装,如果连接失败可能是网络原因,请重试一下
$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs
$ git lfs install