毕业两年多,几乎天天游弋在代码的海洋中,每天都在跟茫茫的多媒体SDK和开源库打交道,这次去XXXX公司面试中却无法脱机写个简单字符串程序。思路流程虽然清楚(当时只是画了个流程图写了几个伪代码),但实现时发现自己平时很少用这些系统函数,编码时发现对系统函数入口参数,返回参数模棱两可。关键一点还是平时写代码太依赖一linux的系统man命令帮助查找,平时写代码几乎很少人为去记忆这些系统函数入口参数,返回值等。因为这系统函数都是标准的C库函数,linux桌面系统如ubuntu,基本上man一下就懂了,最惨的情况下去查一下C库。这次面试离开电脑,一张纸,一支笔就显得茫然。下文是回家后借助于linux的系统的MAN命令和GCC调试编码实现。以告诫和警示自己。
Linux内核版本命名在不同时期有着不同的规范,在涉及到Linux版本问题时经常容易混淆,主线版本/稳定版/长期支持版本经常搞不清楚,本文主要记录下内核版本命名的规则以及如何查看Linux系统版本信息。 Linux内核(Linux kernel)简介
linux能够很方便得查看gcc版本号,只需要输入gcc –version就能得到如下结果,能一目了然gcc版本是4.9.2
错误原因参考:https://blog.csdn.net/weixin_43252521/article/details/124409151
此时http://10.22.5.70/dahuiji.php 已经取得一个webshell
下载(百度云)链接:https://pan.baidu.com/s/1AeqzkboWkJDJjU9HxtXhrA 提取码:uzup
Linux下安装Oracle的经历也许在很多人眼里就是一个日常的再普通不过的操作,但实际其中蕴含着大量的操作系统、Oracle、Linux指令操作等知识点。因为平时太忙,所以利用业余时间,会分几个part介绍下Linux下安装Oracle的实际操作过程,并着重介绍其中用到的各种知识点,希望对自己、对一些朋友有真实的帮助。
[root@bjzw-mcu01-x86p-app01 ~]# yum -y update There was a problem importing one of the Python modules required to run yum. The error leading to this problem was:
com.jetbrains.cidr.execution.debugger.backend.gdb.GDBDriver$GDBCommandException: Error creating process /cygdrive/f/jdk8u/jdk8u/build/linuxR/jdk/bin/java, (error 193).
2. MinGW-w64项目最初是做为MinGW的一个分支而诞生,但如今已经独立发展。具体信息參见:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/124978.html原文链接:https://javaforall.cn
.1.Linux 下 you need to be root to perform this command
less 命令支持 vim 的操作模式,可以使用 h/j/k/l 等键进行上下左右移动。
Debian查看版本当前操作系统发行版信息(prints certain LSB (Linux Standard Base) and Distribution information.)。有了这个命令就可以清楚的知道到底是RedHat的、还是别的发行版,还有具体的版本号,比如3.4还是5.4等等。有些系 统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息。
因为项目中使用了tcmalloc,而是用gcc 5.2.0编译的64位代码,所以项目中的so依赖libunwind,tcmalloc,以及gcc5.2.0的libstdc++.so
建立交叉开发环境 配置开发主机 移植bootloader linux内核移植 建立并烧写根文件系统到目标板 开发嵌入式应用程序 部署与配置系统 (1)建立交叉开发环境 开发主机的操作系统一般选用某一个发行版本号的linux系统,如RedHatlinux等。linux内核版本号能够依据项目的详细需求而定,如2.4内核或者2.6内核。选择定制安装或所有安装,通过网络下载对应的gcc交叉编译器进行安装(比方arm-linux-gcc,arm-uclibc-gcc等),或者安装产品厂家提供的交叉编译器。 (2)配置开发主机 配置开发主机包含在开发主机上安装linux系统,配置交叉连接工具,如串口和网络接口。 (3)建立引导装载程序bootloader 从网络上下载一些公开源码的bootloader,依据自己详细芯片进行移植改动。
从本篇开始,凯哥将和大家一起学学docker。本篇是docker学习系列第一篇:安装docker。 docker安装前提条件:目前,centos发行版中的内核支持Docker.Docker运行在Centos7 64位上,要求系统为64位、linux系统内核版本为3.8以上的。凯哥所使用的的是Centos7.x
archive 和 official_releases 两个目录都有最新的 Qt 开发环境安装包。Archive—qt
如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2010/03/30/5431428.aspx 虽然 Oracle 10g Database Release 2 已经推出几年了,但这个版本仍然为很多初学者学习的版本,下面详细讲述了安装 Oracle 10g 的步骤。 一、 linux 的版本选用 目前 linux(RHEL) 使用的主要版本为 5.4 版,可以到下面的地址下载其安装文件。 RHEL5.4 下载 http://download.chinaunix.net/download/0013000/12623.shtml 二、关于 linux 的安装 很多初学者使用的是 XP 系统上的虚拟机来安装 Linux ,因此本文也是在虚拟机上安装 Linux 然后再安装 Oracle 10g. 至于虚拟机可以使用 VMware 6.5 Workstation 版,这个可以到百度 ,Google 找一下,比较多。安装了 linux 时,我们需要特殊的配置一下 Oracle 的安装环境,关于这个配置 Oracle 安装环境,请参考: VmWare6.5.2下安装 RHEL 5.4(配置 Oracle安装环境) 三、安装 Oracle 前的环境检查 1. 下载 Oracle 10g R2 Oracle 10g for Linux http://www.oracle.com/technology/software/products/database/index.html 2. 查看 Linux 内核参数,有点多余,作为初学者,还是可以练习一下。请确保高于 2.6.9 -5.0.5.EL 以上内核 强烈建议大家安装 SecureCRT 或 VNC 工具,这样不必来回在 XP 和 Linux 下切换。 uname –r [root@localhost ~]# uname -r 2.6.18 -164.el5xen 3. 查看 CPU 、内存、 Swap 及磁盘可用空间 内存:至少 1GB ,下图中我的内存仅 900MB Swap :一般为可用物理内存的 2 倍,比如设定为 2GB /Temp 分区:至少 400MB Oracle 安装目录所在的分区:至少 4GB [root@localhost ~]# free -m total used free shared buffers cached Mem: 900 568 331 0 56 356 -/+ buffers/cache: 154 745 Swap: 2251 0 2251 [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda2 6.4G 3.8G 2.3G 63% / /dev/sdd1 6.8G 144M 6.3G 3% /u01 /dev/sdc2 1.2G 34M 1.1G 3% /home /dev/sdc1 760M 17M 704M 3% /tmp /dev/sda1 456M 18M 415M 5% /boot tmpfs 450M 0 450M 0% /dev/shm none 450M 104K 450M 1% /var/lib/xenstored /dev/hdc 2.8G 2.8G 0 100% /media/RHEL_5.4 i386 DVD 四、配置安装环境 1. 安装补丁包 关于确认补丁包的是否已安装,可以使用下述方式来查看 rpm -q gcc make
想着搭建一个 wiki,将自己本地的 md 都上传到服务器上,来实现远程办公,一切工作平板化,那自然是说干就干;
WSL是Windows Subsystem for Linux的缩写,允许利用CPU的虚拟化技术在Windows系统下使用Linux系统。目前最新版本是WSL2。
最近在Linux下使用第三方库Protobuf时,遇到一个问题:可执行程序在运行时报错:“error while loading shared libraries: libprotobuf.so.7: cannot open shared object file: No such file or directory”。于是花时间弄清楚原因,找到解决方案,跟大家共享一下。
可以使用uname -r 查看内核版本号,例如:2.6.32-754.2.1.el6.x86_64
在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。
本文介绍如何在.NET Core之前实现.NET跨平台,通过使用Mono、CentOS和Jexus服务器。首先,本文介绍了如何更新系统并安装Mono所需的库和GDI+兼容API的库Libgdiplus。然后,讲解了如何安装和配置Jexus服务器,并介绍如何部署ASP.NET Web应用程序。最后,总结了部署过程中的关键步骤和注意事项。
当前最新的 CentOS 7.3 默认安装的是 Python 2 ,并且默认的官方 yum 源中不提供 Python 3 的安装包。最近需要在机器上装awscli,需要python2.6.5+或python3.3+,python3我这边通过源码编译的方式安装。 我的机器版本:
获取系统信息 >>> import platform # 导入platform模块 >>> platform.platform() # 获取操作系统名称及版本号 'Linux-3.10.0-514.el7.x86_64-x86_64-with-centos-7.3.1611-Core' >>> platform.system() # 获取操作系统 'Linux' >>> platform.version() # 获取操作系统版本号 '#1 SMP Tue Nov 22 16:42:41 UTC 2016'
我的就是CentOs7系统,需要装一个Nginx服务器的时候,死活都装不上运行环境gcc,gcc-c++,一直纠结了几天,后来我睡觉的时候突然一个灵感来了,就继续查资料,如果缺少依赖包,那么就去装依赖包,手动安装或者离线安装都可以。
导语: 安装软件 rpm yum 源码安装 卸载软件 一、rpm介绍 rpm软件包名称: 软件名称 版本号(主版本、次版本、修订号) 操作系统 -----90%的规律 #有依赖关系,不能自动解决依赖关系。 举例:openssh-6.6.1p1-31.el7.x86_64.rpm 数字前面的是名称 数字是版本号:第一位主版本号,第二位次版本号,带横杠的是修订号, el几---操作系统的版本。 ====== #用rpm安装需要考虑如下信息: 1.需要考虑系统的版本
通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进制代码。GCC是Linux平台下最常用的编译程序,它是Linux平台编译器的事实标准。同时,在Linux平台下的嵌入式开发领域,GCC也是用得最普遍的一种编译器。
Ruby 是当今最流行的语言之一。它有简洁的语法,并且是 Ruby on Rails 框架后面的语言。
在MySQL的众多存储引擎中,只有InnoDB支持事务,所有这里说的事务隔离级别指的是InnoDB下的事务隔离级别。
方法:通过 Anaconda 安装 gcc/g++,然后通过软连接更改路径。无需root权限。
不论是前面分享过的《开源云真机平台-Sonic》,还是《流马测试平台》、《一站式开源持续测试平台Metersphere》,似乎都会用到一些如JDK、ADB、MySQL、Docker、Python等各类环境,像一些前后端分离项目可能还会用到NodeJS。环境搭建是一切开发调试、编译构建、自动化测试的前提,也是开发测试人员必不可少的基础技能。但是很多平台工具往往会卡在看似简单的环境部署环节,甚至影响继续下去的信心。所谓工欲善其事必先利其器,高效的搭建效率往往能提供一个好的开始,而好的开始是成功的一半!
此前我最后一次编译 MySQL 源码大概 10 年前了,再后来有人问我怎么编译源码安装,我一般都是建议直接下载二进制包安装,其实真挺方便的,性能上的损失也是微乎其微。
yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel
本文出处: http://blog.csdn.net/leytton/article/details/52736459
1. 介绍 使用GNU的工具我们如何在Linux下创建自己的程序函数库?一个“程序函数库”简单的说就是一个文件包含了一些编译好的代码和数据,这些编译好的代码和数据可以在事后供其他的程
GNU 编译器集合是一系列用于语言开发的编译器和库的集合,包括: C, C++, Objective-C, Fortran, Ada, Go, and D等编程语言。很多开源项目,包括 Linux kernel 和 GNU 工具,都是使用 GCC 进行编译的。
1、$ sudo dpkg-reconfigure dash 2、在弹出的界面选择“否”,禁用dash 3、$ sudo ls -al /bin/sh 如果看到lrwxrwxrwx 1 root root 5 Jun 9 14:59 /bin/sh -> /bin/bash表示修改完成。 二、更换更新源 第一步 打开终端,输入sudo gedit /etc/apt/sources.list,将自己找到的源替换到该文件底部,将其他内容使用#注释。可以使用阿里源,清华源等等。 我在这使用的是西电源(可能大家外网进不来,在网上找个其他开源的就行) 版本号为:
https://nginx.org/en/download.html 下载稳定版本,以nginx/Windows-1.12.2为例,直接下载 nginx-1.12.2.zip
某日开发说,一台测试用虚机可以PING通SSH不能连了。运维同学就赶紧去查,SSHD_CONFIG配置文件都正确啊,一点错误都没有,那为什么呢?
即可查看当前默认python版本 默认的python成功指向3.5.1以后,yum不能正常使用,需要修改yum的配置文件
接下来一段时间打算学一下linux 学习来源书本《Linux命令行与shell脚本编程大全 第三版》
虽然我们称Gcc是C语言的编译器,但使用gcc由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking)。
在之前的 【Qt】Qt 开发环境安装 ( Qt 版本 5.14.2 | Qt 下载 | Qt 安装 ) 博客中 , 安装 QT 开发环境时 , 涉及到了 MSVC 和 MinGW 两个编译器 , 因此可以在 Qt 的安装目录中找到 MinGW 下的 GCC 编译器 ;
在做信创适配的时候,拿到了银河麒麟V10的机器,在完成适配后,机器被项目组收回去重新换了一台银河麒麟v10 SP1的机器,应用重新适配完成后,发现适配出来的安装包无法在其它客户的银河麒麟v10机器上运行, 因此需要搭建一个银河麒麟v10的构建环境
领取专属 10元无门槛券
手把手带您无忧上云