Welcome 微信登录

首页 / 操作系统 / Linux

更新CentOS系统的Python版本

更新CentOS系统的Python版本

因今天在CentOS系统下安装一程序需要用到Python高版本,所以升级来系统自带的Python。先查询下系统的Python版本是多少。#python -V显示出来的是2.4.3,太老了,现在升级到比较稳定的版本3.3.0,大家想升级到最新版本可以参考官方网站(https://www.python.org/downloads/)。温馨提示:更新python千万不要把老版本的删除!新老版本是可以共存的,很多基本的命令、软件包都要依赖预装的老版本python的...
Ubuntu 15.04下安装Node.JS的不同方式

Ubuntu 15.04下安装Node.JS的不同方式

如果你要在Ubuntu 15.04上安装Node.js的话,这篇教程对你来说肯定很重要。Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序。Node.js巧妙的使用单线程的事件循环来处理高吞吐量和非阻塞IO。同时它也是一个提供了通过操作系统读写文件和网络操作功能的平台层。所以这篇文章将展示在Ubuntu 15.04 server上不同的安装Node.Js的方式。安装Node.JS 的方法有许多安装Node.JS的...
Linux 下如何处理包含空格和特殊字符的文件名

Linux 下如何处理包含空格和特殊字符的文件名

我们经常会看到文件名和文件夹名。大多数时候文件/文件夹的名字和内容相关并以数字和字母开头。字母加数字的文件名最常见,应用也很广泛,但总会需要处理一些包含特殊字符的文件名/文件夹名。注意:我们可能有各种类型的文件,但是为了简单以及方便实现,在本文中我们只用文本文件(.txt)做演示。最常见的文件名例子:abc.txtavi.txtdebian.txt...数字文件名例子:121.txt3221.txt674659.txt...字母数字文件名例子:eg8423...
Linux内核3.11的socket busy poll机制避免睡眠切换

Linux内核3.11的socket busy poll机制避免睡眠切换

Linux的网络协议栈非常独立,上下通过两个接口分别和用户态以及设备相连,也可以看作是北向和南向接口...北向通过socket接口,南向通过qdisc接口(你可以认为是上层的netdev queue,对于接收接口,NAPI的poll队列则是另一个例子),不管是socket还是qdisc,都是基于队列来管理的,也就是说,三个部分是独立的,socket只能看到读写队列,而看不到协议栈本身,socket在读一个数据的时候,它取的是队列里面的数据,至于说这个数据是...
从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点(附一个skb的优化点)

从Linux 2.6.8内核的一个TSO/NAT bug引出的网络问题排查观点(附一个skb的优化点)

四年多前的一个往事大约在2010年的时候,我排查了一个问题。问题描述如下:服务端:Linux Kernel 2.6.8/192.168.188.100客户端:Windows XP/192.168.40.34业务流程(简化版):1.客户端向服务端发起SSL连接2.传输数据现象:SSL握手的时候,服务端发送Certificate特别慢。分析:具体思路,也就是当时怎么想到的,我已经忘了,但是记住一个结论,那就是纠出了Linux 2.6.8的NAT模块的一个bug...
Ubuntu 用shell脚本实现将当前目录下所有目录中的某一类文件拷贝到同一目录下

Ubuntu 用shell脚本实现将当前目录下所有目录中的某一类文件拷贝到同一目录下

当前目录下有一些文件和目录,其中每个目录里都有若干.txt文件,现在要求在当前目录创建一个新目录all,且将那些目录所有.txt文件都拷贝到目录all。在Ubuntu 12.04的shell脚本实现如下:#!/bin/sh# 提示信息echo "start:"# 定义变量dst=allpst=.txt# 复制文件到目标文件夹if [ -d ${dst} ]thenecho "${dst} existed"elseecho "mkdir ${dst}"mkd...
SSH 使用密钥登录并禁止口令登录实践

SSH 使用密钥登录并禁止口令登录实践

前言无论是个人的VPS还是企业允许公网访问的服务器,如果开放22端口的SSH密码登录验证方式,被众多黑客暴力猜解捅破菊花也可能是经常发生的惨剧。企业可以通过防火墙来做限制,普通用户也可能借助修改22端口和强化弱口令等方式防护,但目前相对安全和简单的方案则是让SSH使用密钥登录并禁止口令登录。这是最相对安全的登录管理方式生成PublicKey建议设置并牢记passphrase密码短语,以Linux生成为例Linux:ssh-keygen -t rsa[私钥 ...
Tor浏览器:Linux下用于匿名Web浏览的终极浏览器

Tor浏览器:Linux下用于匿名Web浏览的终极浏览器

我们大多数人都在上网方面花费很多时间。上网使用的应用程序主要是浏览器,更确切的说是一个Web浏览器。我们在网络上的大部分活动要以客户端/服务器的方式登录,这个过程会包括IP地址、地理信息、搜索、活动以及许多潜在的信息,这些信息如果以其他方式被故意使用,会存在潜在的危险性。Tor浏览器:匿名浏览器此外,美国国家安全局(NSA)这样的国际间谍机构会记录我们的数字足迹。更不必说受到控制的代理服务器也会被用来做为数据搜集服务器。并且大多数企业和公司不会允许您访问代...
在CentOS上使用NetBeans开发C++,调用Python的过程、遇到的问题和解决办法

在CentOS上使用NetBeans开发C++,调用Python的过程、遇到的问题和解决办法

本人刚接触在CentOS上,使用NetBeans开发C++项目,由于项目的原因,需要在C++工程中调用Python脚本,在这个过程中遇到一些问题,都是比较基础的,写此文章就当记笔记了。环境操作系统:CentOS 6.6开发工具:NetBeans 8.0.2系统已经自带了Python,版本是2.6第一步:新建工程,并加入相应代码,源代码如下包含了Python头文件,并在main里,调用了初始化方法。第二步:构建时,会报以下错误未找到头文件,所以需要包含相应的...
谈谈软件包

谈谈软件包

我学习C语言的时候是在大学课程上,老实说,能理解那些语言概念就很不容易了,对于软件包管理这件事听都没听说过。但真实情况下,大部分的软件项目都不可能是从零开始的,我们总要依赖某些开源的或者团队自己开发的工具和框架库来帮助工作,我是学习Java的时候才慢慢听说了Maven。maven的核心配置是pom.xml文件,开发者可以根据需要在其中列出项目的依赖包,像这样:<dependency><groupId>org.springframew...
字符编码笔记:ASCII,Unicode和UTF-8

字符编码笔记:ASCII,Unicode和UTF-8

我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。下面就是我的笔记,主要用来整理自己的思路。但是,我尽量试图写得通俗易懂,希望能对其他朋友有用。毕竟,字符编码是计算机技术的基石,想要熟练使用计算机,就必须懂得一点字符编码的知识。1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个...
终端复用工具tmux的使用

终端复用工具tmux的使用

tmux的作用在于终端复用。 1. 在server上启动一个bash,并在里面运行tmux 2. 通过ssh远程登录server,运行tmux attach,就会切换到server上的那个bash中,接下来的操作都是在bash中了 3. 此时可以打开更多的窗口,这样在远程就可以像在本地一样同时使用多个一样的bash如果要发送命令,如下: tmux send -t checkpoint ls ENTER 注:checkpoint是你已经用tmux创建好的se...
Linux下Nvidia显卡驱动卸载和卸载后的问题

Linux下Nvidia显卡驱动卸载和卸载后的问题

由于在Ubuntu下安装了Nvidia显卡驱动后开机一直处于循环登录界面,密码输入正确也是进不去,然后就决定卸载Nvidia显卡驱动。首先是在能使用tty1登录的情况下,使用$ sudo apt-get autoremove --purge nvidia-*$ sudo reboot然后就发现开机能进去desktop了,很开心,结果就是切换到tty模式下是黑屏,其实不是黑屏,是由于卸载了nvidia驱动后,屏幕分辨率出现了这个问题。使用了师兄办法,顺利解决...
Ubuntu 14.04搭建Android5.1开发环境和编译

Ubuntu 14.04搭建Android5.1开发环境和编译

1、安装Ubuntu14.04先下载Ubuntu系统,官网地址,从ubuntu10.04-ubuntu15.04都有下载,具体根据需求可以下载desktop和server版本一般虚拟机建议安装desktop版本,方便管理,本人电脑是64位的,所以下载的ubuntu-14.04.2-server-amd64.iso安装ubuntu系统,其实很简单,网上也很多视图教程,用U盘安装时需要注意,我之前用UltraISO来制作系统,结果系统装不上,后面用win32d...
谈谈Linux应用程序 ABI兼容性

谈谈Linux应用程序 ABI兼容性

背景最近工作中遇到个问题,就是多个系统跑着不同版本的内核,不同架构的ARM芯片,上层的业务程序能否二进制归一(共镜像)。根据自己对Linux的了解,glibc是否可以在ABI层面做到向前兼容。那个整个系统能否做到呢?这勾起了我的分析和思考。ABI兼容依赖什么试想一下,一个程序从源代码到最终的二进制,有哪些组件参与了编译和链接过程,大概如下:内核导出用户态头文件gcc编译器,gcc提供的静态.o/.a,以及它提供的动态库(如libgcc_s.so)glibc...
从零使用QEMU模拟器搭建ARM运行环境

从零使用QEMU模拟器搭建ARM运行环境

为什么会有这篇文章早在2011年的时候,跟当时同事一起讨论,做Linux系统开发正处于整个Linux开发中间层,没有上层的C/C++业务和数据库的开发经验,也没有底层的内核和驱动开发经验,到底路该如何走……基于对Linux系统开发的理解和内核的兴趣,认为选择Linux内核开发更适合自己。于是到淘宝上买了块三星s3c2440(arm 9)开发板,学起内核开发。没有过多久,机缘巧合,正式加入了公司的内核开发部。就这样跟内核和arm打...
Ubuntu手动设置DSL宽带连接

Ubuntu手动设置DSL宽带连接

在安装完Ubuntu之后,发现图形界面的DSL连接不管用了,郁闷了好几天,想想移动每个月120个小时的流量岂不是白白浪费了。正当我想重返Windows系统的时候,却发现了手动设置连接DSL的好方法,下面讲讲详细的方法。0x00:安装pppoeconfsudo apt-get install pppoeconf0x01:开始手动设置sudo pppoeconf打开后看到如下界面:1. 侦测所有网卡2. 常用选项修改3. 输入DSL用户名4. 输入DSL密码5...
<< 951 952 953 954 955 956 957 958 959 960 >>