ubuntu常见问题汇聚

ubuntu中文配置命令手册:http://wiki.ubuntu.org.cn/index.php?title=UbuntuSkills&variant=zh-cn 

http://hao360.blog.51cto.com/user_index.php?action=addblog&job=modify&tid=1436422 

 

ubuntu下使用rcconf来控制开机自启动软件

RedHat操作系统,可以使用checkconfig命令来关闭或开启一些系统服务,但是在ubuntu系统下并没有这条命令,介绍一款类似于centos下的ntsysv的一款软件,来控制我们想要设置的开机自启动软件。这款软件叫做rcconf。

sudo apt-get install dialog rcconf

使用:直接输入sudo rcconf控制。

还可以使用 Ubuntu 自带的 update-rc.d

用法 update-rc.d XXX stop/start

例 update-rc.d memcachedb stop


ubuntu下开启crond的日志

默认情况下没有开启,开启方法如下:

1、修改/etc/rsyslog.d/50-default.conf文件,将里面的cron.*前面的#去掉

sudo  vi  /etc/rsyslog .d /50-default .conf
cron .*                           /var/log/cron .log

2、重启日志服务

sudo service rsyslog restart

3、重新启动cron服务

sudo service cron restart

然后就可以在/var/log/下面找到cron.log的文件了

addam@localhost: /var/log ls  | grep  cron
cron .log


ubuntu添加程序开机自启动脚本

在ubuntu系统上有时候某些软件我们需要系统启动的时候自动启动这些软件,有些软件可能没有开机自启动的脚本,我们需要自己手动写一些启动脚本,ubuntu不像RedHat系列的可以有checkconfig配置,ubuntu下面更简单一些,写好我们的启动脚本,并授权。

比如我们写了一个脚本xx.sh,放在/data目录下面,想要让这个脚本开机自动运行,做如下操作即可:

  vi /etc/rc.local

  这个文件最后一行应该是一个exit 0,将我们所要启动的脚本放在exit 0上面即可,如下所示

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
sudo  sh  /data/start .sh
sudo  sh  /data/start_xx .sh
exit  0

如果你有一些程序本身已经带了自启动的脚本,那么它会存放在/etc/init.d这个目录下面,你可以按着自己想要的启动方式去修改这个启动脚本,也许你可能不想用它自带的启动脚本,想要自己写一个,那么这时你需要注意,写好自己的启动脚本后,要将/etc/init.d下面系统自带的脚本移除,然后按着上面的方法,将你要启动的脚本添加好即可。


ubuntu下memcached启动停止脚本

#! /bin/sh
# ckconfig: - 55 45
# description:  The memcached daemon is a network memory cache service.
# processname: memcached
# config: /etc/memcached.conf
# Source function library - for suse linux
. /lib/lsb/init-functions
PORT=11111
USER=memcache
#最大连接数,根据实际需求修改
MAXCONN=1024
#最大内存量,单位M
CACHESIZE=400
PID=`ps -ef|grep memcache|grep -v grep|awk '{print $2}'`
prog="Memcached"
PIDFILE="/tmp/memcache.pid"
DAEMON=/usr/bin/memcached
start () {
    if [ ! -n "$PID" ]; then
       echo -n -e $"\033[35mStarting $prog:\033[0m"
       /usr/bin/memcached -m $CACHESIZE -l 127.0.0.1 -p $PORT -d -u $USER -c $MAXCONN -P /tmp/memcache.pid
       if [ `echo $?` == 0 ];then
          echo -e "\033[32mRun $prog Successful!\033[0m"
       else
          echo -e "\033[41;33mRun $prog Fail!\033[0m"
       fi;
       exit 1
    else
       echo -e "\033[41;37m$prog has been running!Don't repeat\033[0m"
       exit 0
    fi;
  }
stop () {
    if [ -n "$PID" ]; then
        echo -n -e $"\033[35mStopping $prog:\033[0m"
        #sudo kill $PID
        start-stop-daemon --stop --quiet --oknodo --retry 5 --pidfile $PIDFILE --exec $DAEMON
        if [ `echo $?` -eq 0 ] ; then
                echo -e "\033[32mStop $prog Successfull!\033[0m"
        else
                echo -e "\033[41;33Stop $prog Fail!Please try again!\033[0m"
        fi;
    else
        echo -e "\033[34m$prog Not Running!\033[0m"
    fi;
}
restart () {
    echo -n -e $"\033[35mStopping $prog:\033[0m"
        start-stop-daemon --stop --quiet --oknodo --retry 5 --pidfile $PIDFILE --exec $DAEMON
        if [ `echo $?` -eq 0 ] ; then
            echo -e "\033[32mStop $prog Successfull!\033[0m"
        else
            echo -e "\033[41;33Stop $prog Fail!Please try again!\033[0m"
        fi;
    echo -n -e $"\033[35mStarting $prog:\033[0m"
        /usr/bin/memcached -m $CACHESIZE -l 127.0.0.1 -p $PORT -d -u $USER -c $MAXCONN -P /tmp/memcache.pid
        if [ `echo $?` == 0 ];then
            echo -e "\033[32mRun $prog Successful!\033[0m"
        else
            echo -e "\033[41;33mRun $prog Fail!\033[0m"
        fi;
        exit 1
}
status () {
  if [ ! -n "$PID" ]; then
    echo -e "\033[32m$prog Stopped!\033[0m"
  else
    echo -e "\033[32m$prog Running!\033[0m"
  fi;
}
# See how we were called.
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    restart)
        restart
        ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart}"
    exit 1
esac
exit $?

 

ubuntu怎么设置root用户

在安装系统时,root账户并没有被激活来供你使用,即root帐号被隐藏了,而是通过初始用户与sudo的结合使用来完成一些需要root权限的任务。激活root用户方法:

方法一:
在终端中输入:sudo passwd root
之后要求你输入两次root用户的密码,重启后就可以登陆root用户了。

退出root权限方法:$ exit
若想禁用 root 帐号: sudo passwd -l root
方法二:
1、重启电脑,选择recovery模式
2、找到最下边的root选项
3、在recovery模式的root用户下创建一个root用户,输入:passwd root
4
、出现****UNIX****提示,直接输入你要给root用户设置的密码
5、会再次出现******UNIX******的提示,是提示你再次输入密码
 重启后就可以进入root用户了。

 

 

Ubuntu网卡地址配置、设置 DNS和主机名
Ubuntu的网络配置文件是:/etc/network/interfaces
1、以DHCP 方式配置网卡
  auto eth0
  iface eth0 inet dhcp
用sudo /etc/init.d/networking restart命令使网络设置生效

2、为网卡配置静态IP地址
sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
sudo /etc/init.d/networking restart

3、设定第二个IP地址(虚拟IP地址)
sudo vi /etc/network/interfaces
auto eth0:1
iface eth0:1 inet static
address 192.168.1.101
netmask 255.255.0
gateway 192.168.1.1
sudo /etc/init.d/networking restart

 

4.主机名在/etc/hostname文件中了,只在打开这个文件进行修改,重启计算机即可。

通过指令修改主机名

$ hostname server #修改主机名

$ hostname #查看主机名,已经被修改成server

server

永久修改主机名

vim /etc/hostname #修改配置文件 

 

5.配置DNS  /etc/resolv.conf 

ubuntu关闭防火墙

  1. 启用ufw: sudo ufw enable  

  2. 关闭:sudo ufw disable  

  3. 状态:sudo ufw status  

  4. ufw配置文件位于:/etc/ufw/ufw.conf  

  5. 卸载了iptables         apt-get remove iptables

  6. 建议的关闭防火墙命令是

    iptables -P INPUT ACCEPT 
    iptables -P FORWARD ACCEPT 
    iptables -P OUTPUT ACCEPT 
    iptables -F 


ubuntu SSH登录失败

# apt-get install openssh-server

安装完openssh-server后,确认ssh已经执行了,但登录仍失败,报如下错误:

Read from socket failed: Connection reset by peer

直接查看一下ssh登录日志

tail -f /var/log/auth.log

发现找不到/etc/ssh/ssh_host_rsa_key 和 /etc/ssh/ssh_host_dsa_key,

执行下面命令重建秘钥文件:

ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t dsa  -f /etc/ssh/ssh_host_dsa_key

然后登录成功!


将普通用户添加到root组

usermod -g fuquanjun root   将fuquanjun用户添加到root组中

用户不在sudoers文件中

使用root用户在sudoers文件添加 fuquanjun ALL=(ALL:ALL) ALL




Ubuntu配值双网卡双ip地址

接入电信和联通的IP如下
电信(TEL)IP:58.57.65.239; 子网掩码:255.255.255.128;网关:58.57.65.129
联通(CNC)IP:61.133.41.239;子网掩码:255.255.255.192;网关:61.133.41.193
操作步骤如下
配置网卡信息
1.运行命令vi/etc/network/interfaces把里面的配置修改为如下
auto lo
iface lo inet loopback


aut0 eth0
iface eth0 inet static
address 61.133.41,239
netmask 255.255.255.192


auto eth1
iface eth1 inet static
address 58.57.65,239
netmask 255.255.255.128
gateway 58.57.65.129
保存配置信息并且重启网卡
/etc/init.d/networking restart
2、增加电信tel和联通cnc的路由表?
vi /etc/iproute2/rt_tables
里面已经显示了部分路由信息,在他的后面加上下面2句,保存退出(251、252可以是1-254之间任意数字,但不能与路由表已有的一样)
252 tel
251 cnc

3、增加路由规则,运行下面6个命令,前3个是设置电信网关,让电信的数据从eth1网卡走,后3个是设置联通网关,让数据从eth0走
ip route flush table tel
ip route add default via 58.57.65.129 dev eth1 src 58.57.65.239 table tel
ip rule add from 58.57.65.239 table tel
ip route flush table cnc
ip route add default via 61.133.41.193 dev eth0 src 61.133.41.239 table cnc
ip rule add from 61.133.41.239 table cnc

 

4运行命令vi /etc/init.d/networking配置脚本文件在exit 0前加入如下内容,其实就是刚才
增加的路由规则。
ip route flush table tel
ip route add default via 58.57.65.129 dev eth1 src 58.57.65.239 table tel
ip rule add from 58.57.65.239 table tel
ip route flush table cnc
ip route add default via 61.133.41.193 dev eth0 src 61.133.41.239 table cnc
ip rule add from 61.133.41.239 table cnc

 
5、重启网络运行
/etc/init.d/networking restart

6、写入系统启动脚本运行命令
vi /etc/rc.local,配置脚本文件在exit 0前加入如下内容(也就是添加步骤4的路由规则)
ip route flush table tel
ip route add default via 58.57.65.129 dev eth1 src 58.57.65.239 table tel
ip rule add from 58.57.65.239 table tel
ip route flush table cnc
ip route add default via 61.133.41.193 dev eth0 src 61.133.41.239 table cnc
ip rule add from 61.133.41.239 table cnc

你可能感兴趣的:(ubuntu,问题汇聚)