Tag: Ubuntu

(X)Ubuntu12.04 安装网卡驱动

最近一直在给小朋友们装系统装驱动,来总结以下最近给ubuntu12.04安装过的网卡驱动,以及一些未解决的问题(有许多没有记录下来,很遗憾,没有有那么多电脑实验的机会了¯\(°_o)/¯)。 第一步:查看网卡驱动是否存在或无线是否启用 有以下几种方法: 1. 右上角网络图标:若只显示“没有可用的设备”,点击右键查看是否启用联网(对于有线网必选),若已选择但仍显示该信息,说明缺少有线网卡驱动,若有有线驱动在启用联网后会显示“有线网络”;对于无线网,右键点击查看是否未启用无线。这两个选项都查看并确定之后再开始查找安装驱动,省的做无用功。 2. 命令:ifconfig sophia@DIU:~$ ifconfig eth0 Link encap:Ethernet HWaddr 88:ae:1d:31:1e:19 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING […]

PHP 调用 SHELL 需要注意的地方

最近需要从前端调用系统命令实现一些东西,然后返回到前端来。 思来想去,觉得 html <-> php <-> shell的模式应该不错。从html到php可以用ajax实现动态交互,但php调用shell的这个过程需要注意一些地方。在这里浪费了不少时间。 第一:调用方式 PHP提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。具体的用法Google一下已经很多了。 第二:权限问题 由于我的web项目是在apache目录下的,但apache并没有足够的权限执行一些诸如mkdir等命令,导致我拔一些东西并储存的时候毫无反应。简单的做法就是修改一下web项目所在目录权限就可以了。 比如 $ chmod -R 777 /home/www/example  

Linux系统启动过程

面试的时候被问到Linux启动过程,没有答得很好。回来收集了一些资料,发现有一篇博客写得不错,不过是英文的。特翻译过来供广大小伙伴们参考:) 原文: http://www.thegeekstuff.com/2011/02/linux-boot-process/ ———————————————————- 我是背景 ——————————————————– 通常,我们按下开机键,几秒钟后,我们就能看到Linux的登录界面。 但是你有没有想过,在屏幕的背后,这一切是怎么发生的呢? 下面会为大家分六个阶段简述一下一个典型的Linux操作系统的启动过程。 1. BIOS BIOS,即 Basic Input/Output System BIOS,基本输入输出系统。 对系统做完整性检查,即计算机硬件能否满足运行的基本条件。如果硬件出现问题,主板会发出不同含义的蜂鸣,启动中止,比如内存卡没有插好。 查找,加载以及执行引导装载程序。 它会在软盘、光盘或者硬盘驱动器等上查找引导装载程序。你也可以在BIOS启动过程中按F12或者F2(一般来说是这两个键)来改变这个顺序。比如重装系统的时候,你在BIOS阶段按F12,然后选择从U盘启动。 一旦引导装载程序被找到并且加载到了内存中,BIOS就将计算机的控制权交给它了。 简单来说,BIOS阶段就是加载并执行MBR 2. MBR MBR,即Master Boot Record. MBR, 主引导记录。 位于启动盘的第一扇区,一般为 /dev/hda或者/dev/sda MBR 共有512位,由三个部分组成,1)第1-446位,主引导加载程序信息 2)接下来64位存放分区表 3)最后两位用来存储MBR有效标记 它包含了GRUB的信息(或者在一些老系统上的LILO信息) 简单来说,MBR阶段就是加载并执行GRUB 3. GRUB GRUB,即Grand Unified Bootloader,启动管理器。 如果你在操作系统分区中装了好几个内核,通过GRUB,你就可以选择启动哪一个。 GRUB会展示一个初始化的界面,等待你的选择,如果过了等待时间,它就会加载在grub配置文件中指定的默认内核镜像。 GRUB能够识别文件系统(在老Linux系统上的LILO并不能识别文件系统)。 Grub 配置文件在 /boot/grub/grub.conf (/etc/grub.conf 只是一个链接)。下面是一个CentOS中的grub.conf文件信息 #boot=/dev/sda default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title CentOS (2.6.18-194.el5PAE) root […]

Linux 下 C++ 连接 Mysql

——国外有一篇博客写得挺好,有一些小错误,改正以后翻译过来,发这里了。 C++是一个效率非常高的编程语言 Linux 是一个类Unix操作系统,它促进了开源软件社区的发展,并且用这些开源软件就几乎足以构建一个复杂精妙的企业系统。 MySQL是一个流行的多线程、多用户的数据库管理系统,全球有超过1000万的安装量。   这篇文章将演示如何在Linux下用C++连接MySQL。 首先我们需要将所需要的头文件和库全部包含进来 #include <stdio.h> #include <mysql.h> 然后我们来定义一下main函数 int main() { // code  return 0; }; 然后我们定义一下需要用到的变量,你应该将这些写到main函数里去。 MYSQL_RES *result; MYSQL_ROW row; MYSQL *connection, mysql; int state; 既然要使用MySQL数据库,我们首先就得连上它,使用下面的代码即可: mysql_init(&mysql); connection = mysql_real_connect(&mysql,host,usr,pswd,database,0,0,0); 其中 host – 数据库所在主机的名字,比如 “localhost” 或者 “192.168.250.100” usr – 连接数据库时使用的用户名 pswd – 连接数据库时使用的密码 database – 数据库的名称 如果有错误发生,如用户名/密码不匹配,我们可以通过以下代码获取到错误信息: if (connection == NULL) { printf(“%s\n”, […]

PHP与C++性能比较

PHP是速度很快的脚本语言,但是用了框架以后好像感觉挺慢的。于是猜测会不会PHP本身也不是很快。如果不是很快,能否采用PHP调用本地动态链接库的形式来提升速度。 于是有了下面的对比实验。 测试环境 1. 硬件环境如下图所示。 2. 软件环境 系统: Ubuntu 12.10 gcc版本: Thread model: posix gcc version 4.7.2 (Ubuntu/Linaro 4.7.2-2ubuntu1) php版本: PHP 5.3.22 (cli) (built: Mar 14 2013 20:37:16) Copyright (c) 1997-2013 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies php开发环境: LAMP,所有安装包均是通过源码编译安装而成,编译过程中会自动根据本机各项参数进行最优配置。性能比apt-get install命令直接安装好。 关于以源码包方式搭建LAMP请参考文章:http://keping.me/linux-php-dev-by-source-style/ 测试方法 由于冒泡排序在时间复杂度上相当稳定——O(n2),在最大程度上减少了数据可能带来的影响,故采取计算冒泡排序的运行时间的方法来进行此次实验。 对比测试分组 分组1: C++直接调用程序内的函数 分组2: C++调用打包好的动态链接库文件(.so文件,该文件也是自己写好并打包) 分组3: PHP直接调用程序内的函数 […]

Linux 常用命令

老是忘记一些命令。于是便记了下来:) SSH常用命令 1. 不带端口号的连接: $ ssh -l username ip $ ssh -l ubuntu0 192.168.123.100 2. 带端口号的链接: $ ssh -l username ip -p port $ ssh -l root 224.217.33.111 -p 8888 SCP常用命令 1. 从远端拷贝单个文件到本地,带端口号(-P 为大写): $ scp -P port root@ip:path_remote path_local $ scp -P 8888 root@224.217.33.111:/home/aku/www/weekphp/sql.txt /home/david/ 2. 从远端拷贝整个文件目录到本地,带端口号(-P 为大写): $ scp -r -p port username@ip:path_remote […]

Compile and Install LAMP(Linux/Apache/MySQL/PHP) from source on Ubuntu 12.10

This blog will guide you finish the compiling and installing a LAMP Server from source on Ubuntu step by step. Of course, it will take you a little much time(Thanks for the 15 source packages ) ,so a cup of coffee will be a good choice 🙂 Zeroth. Here follows some source packages, which will […]