原創文章:https://mp.csdn.net/postedit?not_checkout=1
一、問題描述
一切從ubuntu中沒有安裝pthread相關的man手冊說起,問題是這樣的:
man 3 pthread_mutex_init時提示找不到函數,說明我沒有安裝pthread相關的man手冊。
安裝方法:1、虛擬機上網;2、sudo apt-get install manpages-posix-dev
二、解決虛擬機上網
一般情況下,經歷下面兩步驟就可以上網:
(1)選擇虛擬網絡類型,這裏以橋接爲例
(2)在網絡適配器中選擇對應的選擇橋接模式
然而,還是無法上網。說明:本人使用臺式電腦連接網線上網。
網上找了很多文章,最後發現是因爲自己以前的項目中手動設置了虛擬機的IP地址,造成dhcp協議自動分配的IP地址無法生效。
解決方法:
(1)先查看ubuntu的ip地址
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:69:92:51
inet addr:172.31.102.128 Bcast:172.31.102.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe69:9251/64 Scope:Link
inet6 addr: 2001:250:3c00:2102:bd6e:c92:49cd:ddae/64 Scope:Global
inet6 addr: 2001:250:3c00:2102:20c:29ff:fe69:9251/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:737285 errors:1 dropped:0 overruns:0 frame:0
TX packets:7794 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63941681 (63.9 MB) TX bytes:1209428 (1.2 MB)
Interrupt:19 Base address:0x2000
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 MTU:65536 Metric:1
RX packets:3064 errors:0 dropped:0 overruns:0 frame:0
TX packets:3064 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:335163 (335.1 KB) TX bytes:335163 (335.1 KB)
(2)第一個eth0就是我的以太網的名稱。下面通過修改網絡參數
# sudo vi /etc/network/interfaces1
(3)這裏面的內容應該是這樣的:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
address 192.168.1.141
netmask 255.255.255.0
gateway 192.168.1.1
(4)將自己手動編寫的ip地址,子網掩碼,網關屏蔽(說明:屏蔽了這三行後dhcp就可以自己分配ip地址):
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
#address 192.168.1.141
#netmask 255.255.255.0
#gateway 192.168.1.1
(5)重啓網絡服務
sudo service network-manager restart1
大功告成。。。。。。。。。。。。。。。。。。。。
三、sudo apt-get install manpages-posix-dev安裝pthread相關的man手冊
儘管已經解決上網問題,但是sudo apt-get install manpages-posix-dev安裝pthread相關的man手冊時遇到如下問題
$ sudo apt-get install manpages-posix-dev
Reading package lists... Error!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/apt/lists/us.archive.ubuntu.com_ubuntu_dists_trusty_multiverse_i18n_Translation-en
原因分析:apt-get需要更新了
解決方法:
(1)先刪除ubuntu中原有的apt-get軟件,使用下面命令
$ sudo rm /var/lib/apt/lists/* -vf
(2)在使用下面命令更新apt-get軟件
$ sudo apt-get update
更新完畢後,再一次sudo apt-get install manpages-posix-dev就真正大功告成啦。。。。。