个人笔记

来源:互联网 发布:网络歌手萧风 编辑:程序博客网 时间:2024/06/06 04:52

1、安卓环境操作

1.1 property

客户端应用程序可以调用libcutils中的API函数以GET/SET属性信息。

libcutils的源代码位于: device/libs/cutils。

API函数是:

int property_get(const char *key, char *value, const char *default_value);

int property_set(const char *key, const char *value);

For example:

#property_get(“ttx.save.inject”,cPropChar,“0”)

#ifndef __LINUX__#include “cutils/property.h”#endifchar cPropChar[PROPERTY_VALUE_MAX]...memset(cProperty, 0, PROPERTY_VALUE_MAX);...


2、Linux内核数据结构操作

2.1 链表
内核中关于链表的定义放在:include/linux/list.h
以下源码来自Linux 4.7.3内核:
LIST_HEAD(name);//初始化一个链表list_add(struct list_head *new, struct list_head *head);list_add_tail(struct list_head *new, struct list_head *head);list_del(struct list_head *entry);list_replace(struct list_head *old, struct list_head *new);list_empty(const struct list_head *head);list_for_each_entry(pos, head, member);list_for_each_entry_reverse(pos, head, member);

2.2 队列
参考文章:http://www.cnblogs.com/wang_yb/archive/2013/04/16/3023892.html
3、服务器管理
3.1 配置代理
编辑更新源
sudo vi /etc/apt/source.list
配置网络相关
sudo vi /etc/apt/apt.conf
刷新列表
sudo apt-get update

#Ubuntu
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse##测试版源deb http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse# 源码deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse##测试版源deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-proposed main restricted universe multiverse

可将 http://cn.archive.ubuntu.com/ubuntu/ 替换为下列任意服务器:
#网易(广东广州电信/联通千兆双线接入)http://mirrors.163.com/ubuntu/#搜狐(山东联通千兆接入)http://mirrors.sohu.com/ubuntu/#阿里云(北京万网/浙江杭州阿里云服务器双线接入)
http://mirrors.aliyun.com/ubuntu
#中科大
https://mirrors.ustc.edu.cn/ubuntu/
#北京交通大学
http://mirror.bjtu.edu.cn/ubuntu/


更多更新源请参考:
http://wiki.ubuntu.org.cn/源列表

3.2 修改最大文件限制

$编辑/etc/security/limits.conf

$在最后一行加入以下内容:

*    -    nofile    8192

3.3 安装JDK

sudo apt-get install openjdk-7-jdk

sudo apt-get install openjdk-7-jre

3.4 修改JDK版本

1)vim ~/.profile

2)  修改以下内容

#if you need compile android4.4 ,open it

#JAVA_HOME = /opt/jdk1.6/jdk1.6.0_26


#if you need compile android5.1 ,open it

#JAVA_HOME = /opt/openjdk1.7/java_1.7.0-openjdk-amd64


export JRE_HOME = $JAVA_HOME/jre

export CLASSPATH = :$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH

export PATH = $JAVA_HOME/bin:$JRE_HOME/bin:PATH

LCOV_HOME = ~/opt/lcov/lcov-1.12

export PATH = $LCOV_HOME/bin:$PATH


3.5 vim 记录历史光标位置

1) touch ~/.viminfo

2)修改vim的全局配置/etc/vim/vimrc ,将如下三行使能:

#Vim jump to the last position when reopening a file

if has ("autocmd")

xxx

endif


3.6 Samba 操作

a、配置Samba:sudo vim /etc/samba/smb.conf

[homes]    comment = Home Directories    browseable = yes    writable = yes    valid users = %S    create mask = 0644    directory mask = 0755[share]    comment = Public <groupname>    path = /home/share    public = yes    writable = yes    printable = no    write list = +<groupname>


b、重启Samba:sudo service samba restart

                            sudo service smbd restart

c、配置同步Samba密码:

     sudo pam-auth-update


3.7 NFS配置

a、安装nfs服务

     sudo apt-get install nfs-kernel-server

b、配置nfs

     sudo vim /etc/exports

     在文章最后一行添加:

     /usr1/mike_in 10.21.0.0/16(rw,sync,no_root_squash,no_subtree_check)

c、重启rpcbind服务

     sudo /etc/init.d/rpcbind restart

*重启rpcbind服务,nfs是一个RPC程序,使用它前需要映射好端口,通过rpcbind设定

d、重启nfs

     sudo /etc/init.d/nfs-kernel-server restart

e、挂载指令

     sudo mount -t -nfs 192.168.1.1.128:/home/mike_in /mnt

*到任意一台服务器中执行挂载指令,则可以将指定的IP服务器上的共享路径,挂载到本地。

**nfs只是一种文件目录共享模式,以本地方式进行访问。而HDFS是一种分布式的文件系统,能够在服务器中进行数据的负载均衡。

f、开机自动挂载

     把上述指令写到/etc/rc.local文件中。


showmount

查询nfs共享目录信息,相关选项如下:

-a 显示已经于客户端上连接的目录信息

-e IP或者hostname显示此IP地址分享出来的目录

示例:

showmount -e localhost     #查询本机nfs共享目录情况

showmount -a localhost     #查询本机共享目录连接情况

3.8 用户和用户组的管理

添加用户使用useradd 命令:

    useradd  -d  /home/mike_in -m mike_in

如果是超级用户,可以指定任意用户的密码:

    passwd  <username>

给已有的用户增加工作组(多个组):

    usermod  -G  <groupname>  <username>

修改用户所在的组(覆盖性的):

    sudo  usermod  -g  <groupname>  <username>

把用户加入一个新的组(不改变原来的组):

    sudo  usermod  -aG  <groupname>  <username>

删除用户:

    sudo userdel -r <username>


向系统中增加一个新组,同时指定组标识号:

    groupadd -g <groupid>  <groupname>

查看用户组的信息:

    cat /etc/group

查看用户所在的组:

    groups  <username>

添加sudo组:

    sudo adduser  <username>  sudo


查看所有用户:

    cat  /etc/passwd  |cut  -f 1 -d :

添加系统管理员:

    sudo useradd  -s  /bin/bash  -mr  <username>

改变文件夹own:

    sudo chown -R <username>:<groupname>  <filepath>

改变文件own:

    sudo chown -R <username>  <filename>

sudo 权限丢失:

    a、进入ubuntu recovery ,然后以Root 身份运行shell

    b、获取根目录读写权限 mount -o remount,rw/

    c、重新添加sudo权限  usermod  -aG  sudo  <username>

3.9 英文环境设置中文支持


3.10 设置系统时间