本人小白一枚,笔录 本身安拆ROS 系统碰着的各类问题,以及到最初胜利安拆的过程。
刚起头安拆的时候也参考各类收集上他人安拆的办法安拆,呈现各类问题,在设置装备摆设ubuntu 安拆源时呈现
E: Malformed entry 60 in list file /etc/apt/sources.list (Component)
E: The list of sources could not be read.
等等,都是源设置装备摆设问题。
下面是本人最初安拆胜利的步调。
Ubuntu 18.04 对应的ROS 版本是melodic
那个是官网的安拆步调,其实根据上面的安拆办法来就能够,就是在一些处所需要重视 下。
1. 设置软件库
抉择 国内的办事器
root 权限下输进 号令:
sudo sh -c '. /etc/lsb-release echo "deb `lsb_release -cs` main" /etc/apt/sources.list.d/ros-latest.list'
输进 密钥
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
更新库源
sudo apt update
2.安拆ROS
sudo apt install ros-melodic-desktop-full
漫长期待安拆。。。
根据完成后,初始化ros
@ubuntu:~$ sudo rosdep init
然后晋级
@ubuntu:~$ rosdep update
设置情况变量
@ubuntu:~$ echo "source /opt/ros/melodic/setup.bash" ~/.bashrc
@ubuntu:~$ source ~/.bashrc
运行小海龟的例程
翻开三个号令窗口依次运行以下号令
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
用标的目的盘就能够掌握 小海龟运动了
[ubuntu 18.04.2] gpg: keyserver receive failed: Server indicated a failure
施行sudo apt-get update 报了
把报错的公钥值放到那条号令中
再施行
gtk 图片上面展现 文字gtk 图片上面展现 文字的办法如下:
root用户与超等用户的切换
(1) sudo -i
(2) sudo su
(3) su root
安拆晋级
查看软件xxx安拆内容
dpkg -L xxx
查找软件库中的软件
apt-cache search 正则表达式
或
aptitude search 软件包
展现 系统安拆包的统计信息
apt-cache stats
展现 系统全数可用包的名称
apt-cache pkgnames
展现 包的信息
apt-cache show k3b
查找文件属于哪个包
dpkg -S filename
apt-file search filename
查看已经安拆了哪些包
dpkg -l
也可用
dpkg -l | less
翻页查看
查询软件xxx依靠 哪些包
apt-cache depends xxx
查询软件xxx被哪些包依靠
apt-cache rdepends xxx
增加一个光盘源
sudo apt-cdrom add
系统更新
sudo apt-get update (那一步更新包列表)
sudo apt-get dist-upgrade (那一步安拆所有可用更新)
或者
sudo apt-get upgrade (那一步安拆利用 法式更新,不安拆新内核等)
肃清所有已删除包的残馀设置装备摆设文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
假设 报如下错误,证明 你的系统中没有残留设置装备摆设文件了,无须担忧。
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
编译时贫乏h文件的主动处置
sudo auto-apt run ./configure
查看安拆软件时下载包的暂时 存放目次
ls /var/cache/apt/archives
备份当前系统安拆的所有包的列表
dpkg --get-selections | grep -v deinstall ~/somefile
从上面备份的安拆包的列表文件恢复所有包
dpkg --set-selections ~/somefile
sudo dselect
清理旧版本的软件缓存
sudo apt-get autoclean
清理所有软件缓存
sudo apt-get clean
删除系统不再利用的孤立软件
sudo apt-get autoremove
假设 利用
sudo apt-get autoremove --purge
的话会把那些孤立软件的残留设置装备摆设文件也一并移除
查看包在办事器上面的地址
apt-get -电话 --print-uris download 软件包名称 | cut -d\' -f2
彻底删除Gnome
sudo apt-get --purge remove liborbit2
彻底删除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一键安拆 LAMP 办事
sudo tasksel install lamp-server
删除旧内核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
导进 ppa源的key值
#W: GPG签名验证错误: jaunty Release: 因为没有公钥,下列签名无法停止验证: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替代为你需要导进 的Key值
增加 add-apt-repository 号令
sudo apt-get install software-properties-common
增加一个ppa源
sudo add-apt-repository ppa:user/ppa-name
#利用 ppa 的地址替代 ppa:user/ppa-name
添加163镜像源
sudo add-apt-repository "deb `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-security main restricted universe multiverse"
系统晋级
Linux安拆根本号令Linux安拆根本号令大全
Linux常用号令,你还能记得几呢?下文是我为各人预备 的Linux常用号令,一路来看看吧!
安拆晋级
查看软件xxx安拆内容
dpkg -L xxx
查找软件库中的软件
apt-cache search 正则表达式
或
aptitude search 软件包
展现 系统安拆包的统计信息
apt-cache stats
展现 系统全数可用包的名称
apt-cache pkgnames
展现 包的信息
apt-cache show k3b
查找文件属于哪个包
dpkg -S filename
apt-file search filename
查看已经安拆了哪些包
dpkg -l
也可用
dpkg -l | less
翻页查看
查询软件xxx依靠 哪些包
apt-cache depends xxx
查询软件xxx被哪些包依靠
apt-cache rdepends xxx
增加一个光盘源
sudo apt-cdrom add
系统更新
sudo apt-get update (那一步更新包列表)
sudo apt-get dist-upgrade (那一步安拆所有可用更新)
或者
sudo apt-get upgrade (那一步安拆利用 法式更新,不安拆新内核等)
肃清所有已删除包的残馀设置装备摆设文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
假设 报如下错误,证明 你的系统中没有残留设置装备摆设文件了,无须担忧。
----------------------------------------------------------
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
----------------------------------------------------------
编译时贫乏h文件的主动处置
sudo auto-apt run ./configure
查看安拆软件时下载包的暂时 存放目次
ls /var/cache/apt/archives
备份当前系统安拆的所有包的列表
dpkg --get-selections | grep -v deinstall ~/somefile
从上面备份的安拆包的列表文件恢复所有包
dpkg --set-selections ~/somefile
sudo dselect
清理旧版本的软件缓存
sudo apt-get autoclean
清理所有软件缓存
sudo apt-get clean
删除系统不再利用的孤立软件
sudo apt-get autoremove
假设 利用
sudo apt-get autoremove --purge
的话会把那些孤立软件的残留设置装备摆设文件也一并移除
查看包在办事器上面的地址
apt-get -电话 --print-uris download 软件包名称 | cut -d\' -f2
彻底删除Gnome
sudo apt-get --purge remove liborbit2
彻底删除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一键安拆 LAMP 办事
sudo tasksel install lamp-server
删除旧内核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
导进 ppa源的'key值
#W: GPG签名验证错误: jaunty Release: 因为没有公钥,下列签名无法停止验证: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替代为你需要导进 的Key值
增加 add-apt-repository 号令
sudo apt-get install software-properties-common
增加一个ppa源
sudo add-apt-repository ppa:user/ppa-name
#利用 ppa 的地址替代 ppa:user/ppa-name
添加163镜像源
sudo add-apt-repository "deb `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-security main restricted universe multiverse"
系统晋级
1 那里指的是版本间的晋级,例如 9.04=10.04。
2 利用该晋级体例凡是需要利用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系统
查看内核
uname -a
查看系统是32位仍是64位
#查看long的位数,返回32或64
getconf LONG_BIT
#查看文件信息,包罗32-bit就是32位,包罗64-bit就是64位
file /sbin/init
或者利用
uname -m
查看Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
查看内核加载的模块
lsmod
查看PCI设备
lspci
查看USB设备
lsusb
#加参数 -v 能够展现 USB设备的描述表(descriptors)
lsusb -v
查看网卡形态
sudo apt-get install ethtool
sudo ethtool eth0
激活网卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
展现 当前硬件信息
sudo lshw
查看内存型号
sudo dmidecode -t memory
获取CPU序列号或者主板序列号
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep Serial
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
展现 当前内存大小
free -m |grep "Mem" | awk '{print $2}'
查看硬盘温度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
展现 系统运行时间
uptime
查看系统限造
ulimit -a
查看内核限造
ipcs -l
查看当前屏幕辨认 率
xrandr
硬盘
查看块设备
lsblk
查看硬盘的分区
sudo fdisk -l
硬盘分区
#求助紧急 !小心操做。
sudo fdisk /dev/sda
硬盘格局化
#求助紧急 !将第一个分区格局化为 ext3 分区, mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬盘查抄
#求助紧急 !查抄第一个分区,请不要查抄已经挂载的分区,不然随便 丧失和损坏数据
sudo fsck /dev/sda1
硬盘坏道检测
sudo badblocks -s -v -c 32 /dev/sdb
#得到坏的块后,利用分区东西隔离坏道。
分区挂载
sudo mount -t 文件系统类型 设备路经 拜候路经
#常用文件类型如下: iso9660 光驱文件系统, vfat fat/fat32分区, ntfs ntfs分区, smbfs windows收集共享目次, reiserfs、ext3、xfs Linux分区
#假设 中文名无法展现 测验考试在最後增加 -o nls=utf8 或 -o iocharset=utf8
#假设 需要挂载後,通俗用户也能够利用,在 -o 的参数後面增加 ,umask=022 如:-o nls=utf8,umask=022
分区卸载
sudo umount 目次名或设备名
只读挂载ntfs分区
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可写挂载ntfs分区
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
挂载fat32分区
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
挂载共享文件
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
挂载ISO文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
查看IDE硬盘信息
sudo hdparm -i /dev/sda
查看软raid阵列信息
cat /proc/mdstat
参看硬raid阵列信息
dmesg |grep -i raid
cat /proc/scsi/scsi
查看SATA硬盘信息
sudo hdparm -I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
查看硬盘剩余空间
df
df --help 展现 搀扶帮助
查看目次占用空间
du -hs 目次名
闪盘没法卸载
sync
fuser -km /media/闪盘卷标
利用文件来增加交换空间
#创建一个512M的交换文件 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中让系统引导时主动启动
/swapfile swap swap defaults 0 0
查看硬盘当前读写情状
# 起首安拆 sysstat 包
sudo apt-get install sysstat
#每2秒刷新一次
sudo iostat -x 2
测试硬盘的现实写进 速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
历程
查看当前的内存利用情状
free
持续监视内存利用情状
watch -d free
# 利用 Ctrl + c 退出
动态展现 历程施行情状
top
top指令运行时输进 H或?翻开搀扶帮助 窗口,输进 Q退出指令。
查看当前有哪些历程
ps -AFL
查看历程的启动时间
ps -A -opid,stime,etime,args
查看目前登进 用户运行的法式
w
查看当前用户法式现实内存占用,并排序
ps -u $USER -o pid,rss,cmd --sort -rss
统计法式的内存耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按内存从大到小摆列历程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
列出前十个最好内存的历程
ps aux | sort -nk +4 | tail
按cpu操纵率从大到小摆列历程
ps -eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
查看当前历程树
pstree
中行一个历程
kill 历程号(就是ps -A中的第一列的数字)
或者 killall 历程名
强逼 中行一个历程(在上面历程中行不胜利的时候利用)
kill -9 历程号
或者 killall -9 历程名
图形体例中行一个法式
xkill 呈现骷髅标记的鼠标,点击需要中行的法式即可
查看历程翻开的文件
lsof -p 历程的pid
展现 开启文件abc.txt的历程
lsof abc.txt
展现 22端口如今运行什么法式
lsof -i :22
展现 nsd历程如今翻开的文件
lsof -c nsd
在後台运行法式,退出登录後,其实不完毕法式
nohup 法式
#查看中间运行情状 tail nohup
在后台运行交互式法式,退出登录后,其实不完毕法式
sudo apt-get install screen
screen vim a.txt
#间接退出后利用
screen -ls # 2208pxs-0.ubuntu (Detached)
screen -r 1656 #恢复
#热键,同时按下Ctrl和a键完毕后,再按下功用键
C-a ? #展现 所有键绑定信息
C-a w #展现 所有窗口列表
C-a C-a #切换到之前展现 的窗口
C-a c #创建一个新的运行shell的窗口并切换到该窗口
C-a n #切换到下一个窗口
C-a p #切换到前一个窗口(与C-a n相对)
C-a 0..9 #切换到窗口0..9
C-a a #发送 C-a到当前窗口
C-a d #暂时断开screen会话
C-a k #杀掉当前窗口
在后台运行交互式法式,退出登录后,其实不完毕法式
tmux 进进 后再运行其它号令
tmux attach #恢复
#热键,同时按下Ctrl和b键完毕后,再按下功用键
C-b c #创建一个新的运行shell的窗口并切换到该窗口
C-b n #切换到下一个窗口
C-b p #切换到前一个窗口(与C-a n相对)
C-b 0..9 #切换到窗口0..9
C-b d #暂时断开会话
C-b #杀掉当前窗口
详尽 展现 法式的运行信息
strace -f -F -o outfile
增加系统更大翻开文件个数
#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾逃加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
将 pam_limits.so 那一行正文往 掉
重起系统
肃清僵尸历程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
将大于120M内存的php-cgi都杀掉
ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3=120000) print $1}' | xargs sudo kill -9
Linux系统中若何限造用户历程CPU占用率
renice +10 `ps aux | awk '{ if ($3 0.8 id -u $1 500) print $2}'`
#或间接编纂/etc/security/limits.conf文件。 ;