VirtualBox

source: vbox/trunk/src/VBox/Installer/linux/rpm/VirtualBox.tmpl.spec@ 57358

最後變更 在這個檔案從57358是 56888,由 vboxsync 提交於 10 年 前

deb/rpm: added /sbin/rcvboxdrv

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 16.3 KB
 
1#
2# Spec file for creating VirtualBox rpm packages
3#
4
5#
6# Copyright (C) 2006-2015 Oracle Corporation
7#
8# This file is part of VirtualBox Open Source Edition (OSE), as
9# available from http://www.alldomusa.eu.org. This file is free software;
10# you can redistribute it and/or modify it under the terms of the GNU
11# General Public License (GPL) as published by the Free Software
12# Foundation, in version 2 as it comes in the "COPYING" file of the
13# VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15#
16
17%define %SPEC% 1
18%define %OSE% 1
19%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
20
21Summary: Oracle VM VirtualBox
22Name: %NAME%
23Version: %BUILDVER%_%BUILDREL%
24Release: 1
25URL: http://www.alldomusa.eu.org/
26Source: VirtualBox.tar
27License: GPLv2
28Group: Applications/System
29Vendor: Oracle Corporation
30BuildRoot: %BUILDROOT%
31Requires: %INITSCRIPTS% %LIBASOUND%
32
33%if %{?rpm_suse:1}%{!?rpm_suse:0}
34%debug_package
35%endif
36
37%MACROSPYTHON%
38
39
40%description
41VirtualBox is a powerful PC virtualization solution allowing
42you to run a wide range of PC operating systems on your Linux
43system. This includes Windows, Linux, FreeBSD, DOS, OpenBSD
44and others. VirtualBox comes with a broad feature set and
45excellent performance, making it the premier virtualization
46software solution on the market.
47
48
49%prep
50%setup -q
51DESTDIR=""
52unset DESTDIR
53
54
55%build
56
57
58%install
59# Mandriva: prevent replacing 'echo' by 'gprintf'
60export DONT_GPRINTIFY=1
61rm -rf $RPM_BUILD_ROOT
62install -m 755 -d $RPM_BUILD_ROOT/sbin
63install -m 755 -d $RPM_BUILD_ROOT%{_initrddir}
64install -m 755 -d $RPM_BUILD_ROOT/lib/modules
65install -m 755 -d $RPM_BUILD_ROOT/etc/vbox
66install -m 755 -d $RPM_BUILD_ROOT/usr/bin
67install -m 755 -d $RPM_BUILD_ROOT/usr/src
68install -m 755 -d $RPM_BUILD_ROOT/usr/share/applications
69install -m 755 -d $RPM_BUILD_ROOT/usr/share/pixmaps
70install -m 755 -d $RPM_BUILD_ROOT/usr/share/icons/hicolor
71install -m 755 -d $RPM_BUILD_ROOT%{_defaultdocdir}/virtualbox
72install -m 755 -d $RPM_BUILD_ROOT/usr/lib/virtualbox
73install -m 755 -d $RPM_BUILD_ROOT/usr/lib/virtualbox/ExtensionPacks
74install -m 755 -d $RPM_BUILD_ROOT/usr/share/virtualbox
75install -m 755 -d $RPM_BUILD_ROOT/usr/share/mime/packages
76mv VBoxEFI32.fd $RPM_BUILD_ROOT/usr/lib/virtualbox || true
77mv VBoxEFI64.fd $RPM_BUILD_ROOT/usr/lib/virtualbox || true
78mv *.rc $RPM_BUILD_ROOT/usr/lib/virtualbox
79mv *.r0 $RPM_BUILD_ROOT/usr/lib/virtualbox
80mv *.rel $RPM_BUILD_ROOT/usr/lib/virtualbox || true
81mv VBoxNetDHCP $RPM_BUILD_ROOT/usr/lib/virtualbox
82mv VBoxNetNAT $RPM_BUILD_ROOT/usr/lib/virtualbox
83mv VBoxNetAdpCtl $RPM_BUILD_ROOT/usr/lib/virtualbox
84if [ -f VBoxVolInfo ]; then
85 mv VBoxVolInfo $RPM_BUILD_ROOT/usr/lib/virtualbox
86fi
87mv VBoxXPCOMIPCD $RPM_BUILD_ROOT/usr/lib/virtualbox
88mv components $RPM_BUILD_ROOT/usr/lib/virtualbox/components
89mv *.so $RPM_BUILD_ROOT/usr/lib/virtualbox
90mv *.so.4 $RPM_BUILD_ROOT/usr/lib/virtualbox || true
91ln -s ../VBoxVMM.so $RPM_BUILD_ROOT/usr/lib/virtualbox/components/VBoxVMM.so
92mv VBoxTestOGL $RPM_BUILD_ROOT/usr/lib/virtualbox
93mv vboxshell.py $RPM_BUILD_ROOT/usr/lib/virtualbox
94(export VBOX_INSTALL_PATH=/usr/lib/virtualbox && \
95 cd ./sdk/installer && \
96 %{__python} ./vboxapisetup.py install --prefix %{_prefix} --root $RPM_BUILD_ROOT)
97rm -rf sdk/installer
98mv sdk $RPM_BUILD_ROOT/usr/lib/virtualbox
99mv nls $RPM_BUILD_ROOT/usr/share/virtualbox
100cp -a src $RPM_BUILD_ROOT/usr/share/virtualbox
101mv VBox.sh $RPM_BUILD_ROOT/usr/bin/VBox
102mv VBoxSysInfo.sh $RPM_BUILD_ROOT/usr/share/virtualbox
103mv VBoxCreateUSBNode.sh $RPM_BUILD_ROOT/usr/share/virtualbox
104cp icons/128x128/virtualbox.png $RPM_BUILD_ROOT/usr/share/pixmaps/virtualbox.png
105cd icons
106 for i in *; do
107 if [ -f $i/virtualbox.* ]; then
108 install -d $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/apps
109 mv $i/virtualbox.* $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/apps
110 fi
111 install -d $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/mimetypes
112 mv $i/* $RPM_BUILD_ROOT/usr/share/icons/hicolor/$i/mimetypes || true
113 rmdir $i
114 done
115cd -
116rmdir icons
117mv virtualbox.xml $RPM_BUILD_ROOT/usr/share/mime/packages
118for i in VBoxManage VBoxSVC VBoxSDL VirtualBox VBoxHeadless VBoxDTrace VBoxExtPackHelperApp VBoxBalloonCtrl VBoxAutostart vbox-img; do
119 mv $i $RPM_BUILD_ROOT/usr/lib/virtualbox; done
120if %WEBSVC%; then
121 for i in vboxwebsrv webtest; do
122 mv $i $RPM_BUILD_ROOT/usr/lib/virtualbox; done
123fi
124for i in VBoxSDL VirtualBox VBoxHeadless VBoxNetDHCP VBoxNetNAT VBoxNetAdpCtl; do
125 chmod 4511 $RPM_BUILD_ROOT/usr/lib/virtualbox/$i; done
126if [ -f $RPM_BUILD_ROOT/usr/lib/virtualbox/VBoxVolInfo ]; then
127 chmod 4511 $RPM_BUILD_ROOT/usr/lib/virtualbox/VBoxVolInfo
128fi
129if [ -d ExtensionPacks/VNC ]; then
130 mv ExtensionPacks/VNC $RPM_BUILD_ROOT/usr/lib/virtualbox/ExtensionPacks
131fi
132mv VBoxTunctl $RPM_BUILD_ROOT/usr/bin
133%if %{?is_ose:0}%{!?is_ose:1}
134for d in /lib/modules/*; do
135 if [ -L $d/build ]; then
136 rm -f /tmp/vboxdrv-Module.symvers
137 ./src/vboxhost/build_in_tmp \
138 --save-module-symvers /tmp/vboxdrv-Module.symvers \
139 --module-source `pwd`/src/vboxhost/vboxdrv \
140 KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
141 %INSTMOD%
142 ./src/vboxhost/build_in_tmp \
143 --use-module-symvers /tmp/vboxdrv-Module.symvers \
144 --module-source `pwd`/src/vboxhost/vboxnetflt \
145 KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
146 %INSTMOD%
147 ./src/vboxhost/build_in_tmp \
148 --use-module-symvers /tmp/vboxdrv-Module.symvers \
149 --module-source `pwd`/src/vboxhost/vboxnetadp \
150 KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
151 %INSTMOD%
152 ./src/vboxhost/build_in_tmp \
153 --use-module-symvers /tmp/vboxdrv-Module.symvers \
154 --module-source `pwd`/src/vboxhost/vboxpci \
155 KBUILD_VERBOSE= KERN_DIR=$d/build MODULE_DIR=$RPM_BUILD_ROOT/$d/misc -j4 \
156 %INSTMOD%
157 fi
158done
159%endif
160%if %{?is_ose:0}%{!?is_ose:1}
161 mv kchmviewer $RPM_BUILD_ROOT/usr/lib/virtualbox
162 for i in rdesktop-vrdp.tar.gz rdesktop-vrdp-keymaps; do
163 mv $i $RPM_BUILD_ROOT/usr/share/virtualbox; done
164 mv rdesktop-vrdp $RPM_BUILD_ROOT/usr/bin
165%endif
166for i in additions/VBoxGuestAdditions.iso; do
167 mv $i $RPM_BUILD_ROOT/usr/share/virtualbox; done
168if [ -d accessible ]; then
169 mv accessible $RPM_BUILD_ROOT/usr/lib/virtualbox
170fi
171install -D -m 755 vboxdrv.init $RPM_BUILD_ROOT%{_initrddir}/vboxdrv
172ln -sf %{_initrddir}/vboxdrv $RPM_BUILD_ROOT/sbin/rcvboxdrv
173install -D -m 755 vboxballoonctrl-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxballoonctrl-service
174install -D -m 755 vboxautostart-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxautostart-service
175install -D -m 755 vboxweb-service.init $RPM_BUILD_ROOT%{_initrddir}/vboxweb-service
176%if %{?rpm_suse:1}%{!?rpm_suse:0}
177ln -sf ../etc/init.d/vboxballoonctrl-service $RPM_BUILD_ROOT/sbin/rcvboxballoonctrl-service
178ln -sf ../etc/init.d/vboxautostart-service $RPM_BUILD_ROOT/sbin/rcvboxautostart-service
179ln -sf ../etc/init.d/vboxweb-service $RPM_BUILD_ROOT/sbin/rcvboxweb-service
180%endif
181ln -s VBox $RPM_BUILD_ROOT/usr/bin/VirtualBox
182ln -s VBox $RPM_BUILD_ROOT/usr/bin/virtualbox
183ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxManage
184ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxmanage
185ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxSDL
186ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxsdl
187ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxVRDP
188ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxHeadless
189ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxheadless
190ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxDTrace
191ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxdtrace
192ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxBalloonCtrl
193ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxballoonctrl
194ln -s VBox $RPM_BUILD_ROOT/usr/bin/VBoxAutostart
195ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxautostart
196ln -s VBox $RPM_BUILD_ROOT/usr/bin/vboxwebsrv
197ln -s /usr/lib/virtualbox/vbox-img $RPM_BUILD_ROOT/usr/bin/vbox-img
198ln -s /usr/share/virtualbox/src/vboxhost $RPM_BUILD_ROOT/usr/src/vboxhost-%VER%
199mv virtualbox.desktop $RPM_BUILD_ROOT/usr/share/applications/virtualbox.desktop
200mv VBox.png $RPM_BUILD_ROOT/usr/share/pixmaps/VBox.png
201
202
203%pre
204# defaults
205[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
206
207# check for active VMs of the installed (old) package
208VBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true`
209if [ -n "$VBOXSVC_PID" ]; then
210 # executed before the new package is installed!
211 if [ -f /etc/init.d/vboxballoonctrl-service ]; then
212 # try graceful termination; terminate the balloon control service first
213 /etc/init.d/vboxballoonctrl-service stop 2>/dev/null || true
214 fi
215 if [ -f /etc/init.d/vboxautostart-service ]; then
216 # try graceful termination; terminate the autostart service first
217 /etc/init.d/vboxautostart-service stop 2>/dev/null || true
218 fi
219 if [ -f /etc/init.d/vboxweb-service ]; then
220 # try graceful termination; terminate the webservice first
221 /etc/init.d/vboxweb-service stop 2>/dev/null || true
222 fi
223 # ask the daemon to terminate immediately
224 kill -USR1 $VBOXSVC_PID
225 sleep 1
226 if pidof VBoxSVC > /dev/null 2>&1; then
227 echo "A copy of VirtualBox is currently running. Please close it and try again."
228 echo "Please note that it can take up to ten seconds for VirtualBox (in particular"
229 echo "the VBoxSVC daemon) to finish running."
230 exit 1
231 fi
232fi
233
234# check for old installation
235if [ -r /etc/vbox/vbox.cfg ]; then
236 . /etc/vbox/vbox.cfg
237 if [ "x$INSTALL_DIR" != "x" -a -d "$INSTALL_DIR" ]; then
238 echo "An old installation of VirtualBox was found. To install this package the"
239 echo "old package has to be removed first. Have a look at /etc/vbox/vbox.cfg to"
240 echo "determine the installation directory of the previous installation. After"
241 echo "uninstalling the old package remove the file /etc/vbox/vbox.cfg."
242 exit 1
243 fi
244fi
245
246# XXX remove old modules from previous versions (disable with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox)
247if [ "$INSTALL_NO_VBOXDRV" != "1" ]; then
248 find /lib/modules -name "vboxdrv\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
249 find /lib/modules -name "vboxnetflt\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
250 find /lib/modules -name "vboxnetadp\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
251 find /lib/modules -name "vboxpci\.*" 2>/dev/null|xargs rm -f 2> /dev/null || true
252fi
253
254
255%post
256#include installer-common.sh
257
258LOG="/var/log/vbox-install.log"
259
260# defaults
261[ -r /etc/default/virtualbox ] && . /etc/default/virtualbox
262
263# remove old cruft
264if [ -f /etc/init.d/vboxdrv.sh ]; then
265 echo "Found old version of /etc/init.d/vboxdrv.sh, removing."
266 rm /etc/init.d/vboxdrv.sh
267fi
268if [ -f /etc/vbox/vbox.cfg ]; then
269 echo "Found old version of /etc/vbox/vbox.cfg, removing."
270 rm /etc/vbox/vbox.cfg
271fi
272rm -f /etc/vbox/module_not_compiled
273
274# XXX SELinux: allow text relocation entries
275%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
276set_selinux_permissions /usr/lib/virtualbox /usr/share/virtualbox
277%endif
278
279# create users groups (disable with INSTALL_NO_GROUP=1 in /etc/default/virtualbox)
280if [ "$INSTALL_NO_GROUP" != "1" ]; then
281 echo
282 echo "Creating group 'vboxusers'. VM users must be member of that group!"
283 echo
284 groupadd -r -f vboxusers 2> /dev/null
285fi
286
287# install udev rule (disable with INSTALL_NO_UDEV=1 in /etc/default/virtualbox)
288# and /dev/vboxdrv and /dev/vboxusb/*/* device nodes
289install_device_node_setup root 0600 /usr/share/virtualbox "${usb_group}"
290%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
291/sbin/chkconfig --add vboxdrv
292/sbin/chkconfig --add vboxballoonctrl-service
293/sbin/chkconfig --add vboxautostart-service
294/sbin/chkconfig --add vboxweb-service
295%endif
296%if %{?rpm_suse:1}%{!?rpm_suse:0}
297%{fillup_and_insserv -f -y -Y vboxdrv vboxballoonctrl-service vboxautostart-service vboxweb-service}
298%endif
299%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
300/sbin/ldconfig
301%_post_service vboxdrv
302%_post_service vboxballoonctrl-service
303%_post_service vboxautostart-service
304%_post_service vboxweb-service
305%update_menus
306%endif
307update-mime-database /usr/share/mime &> /dev/null || :
308update-desktop-database -q > /dev/null 2>&1 || :
309touch --no-create /usr/share/icons/hicolor
310gtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || :
311
312# Disable module compilation with INSTALL_NO_VBOXDRV=1 in /etc/default/virtualbox
313BUILD_MODULES=0
314REGISTER_MODULES=1
315if [ ! -f /lib/modules/`uname -r`/misc/vboxdrv.ko ]; then
316 REGISTER_MODULES=0
317 if [ "$INSTALL_NO_VBOXDRV" != "1" ]; then
318 # compile problem
319 cat << EOF
320No precompiled module for this kernel found -- trying to build one. Messages
321emitted during module compilation will be logged to $LOG.
322
323EOF
324 BUILD_MODULES=1
325 fi
326fi
327# if INSTALL_NO_VBOXDRV is set to 1, remove all shipped modules
328if [ "$INSTALL_NO_VBOXDRV" = "1" ]; then
329 rm -f /lib/modules/*/misc/vboxdrv.ko
330 rm -f /lib/modules/*/misc/vboxnetflt.ko
331 rm -f /lib/modules/*/misc/vboxnetadp.ko
332 rm -f /lib/modules/*/misc/vboxpci.ko
333fi
334if [ $BUILD_MODULES -eq 1 ]; then
335 /etc/init.d/vboxdrv setup || true
336else
337 if lsmod | grep -q "vboxdrv[^_-]"; then
338 /etc/init.d/vboxdrv stop || true
339 fi
340 if [ $REGISTER_MODULES -eq 1 ]; then
341 DKMS=`which dkms 2>/dev/null`
342 if [ -n "$DKMS" ]; then
343 $DKMS remove -m vboxhost -v %VER% --all > /dev/null 2>&1 || true
344 fi
345 fi
346 /etc/init.d/vboxdrv start > /dev/null
347fi
348/etc/init.d/vboxballoonctrl-service start > /dev/null
349/etc/init.d/vboxautostart-service start > /dev/null
350/etc/init.d/vboxweb-service start > /dev/null
351
352
353%preun
354# $1==0: remove the last version of the package
355# $1==1: install the first time
356# $1>=2: upgrade
357%if %{?rpm_suse:1}%{!?rpm_suse:0}
358%stop_on_removal vboxballoonctrl-service
359%stop_on_removal vboxautostart-service
360%stop_on_removal vboxweb-service
361%endif
362%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
363%_preun_service vboxballoonctrl-service
364%_preun_service vboxautostart-service
365%_preun_service vboxweb-service
366%endif
367%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
368if [ "$1" = 0 ]; then
369 /sbin/service vboxballoonctrl-service stop > /dev/null
370 /sbin/chkconfig --del vboxballoonctrl-service
371 /sbin/service vboxautostart-service stop > /dev/null
372 /sbin/chkconfig --del vboxautostart-service
373 /sbin/service vboxweb-service stop > /dev/null
374 /sbin/chkconfig --del vboxweb-service
375fi
376%endif
377
378if [ "$1" = 0 ]; then
379 # check for active VMs
380 VBOXSVC_PID=`pidof VBoxSVC 2>/dev/null || true`
381 if [ -n "$VBOXSVC_PID" ]; then
382 kill -USR1 $VBOXSVC_PID
383 sleep 1
384 if pidof VBoxSVC > /dev/null 2>&1; then
385 echo "A copy of VirtualBox is currently running. Please close it and try again."
386 echo "Please note that it can take up to ten seconds for VirtualBox (in particular"
387 echo "the VBoxSVC daemon) to finish running."
388 exit 1
389 fi
390 fi
391fi
392%if %{?rpm_suse:1}%{!?rpm_suse:0}
393%stop_on_removal vboxdrv
394%endif
395%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
396%_preun_service vboxdrv
397%endif
398if [ "$1" = 0 ]; then
399%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
400 /sbin/service vboxdrv stop > /dev/null
401 /sbin/chkconfig --del vboxdrv
402%endif
403 rm -f /etc/udev/rules.d/60-vboxdrv.rules
404 rm -f /etc/vbox/license_agreed
405 rm -f /etc/vbox/module_not_compiled
406fi
407DKMS=`which dkms 2>/dev/null`
408if [ -n "$DKMS" ]; then
409 $DKMS remove -m vboxhost -v %VER% --all > /dev/null 2>&1 || true
410fi
411
412
413%postun
414%if %{?rpm_redhat:1}%{!?rpm_redhat:0}
415if [ "$1" -ge 1 ]; then
416 /sbin/service vboxdrv restart > /dev/null 2>&1
417 /sbin/service vboxballoonctrl-service restart > /dev/null 2>&1
418 /sbin/service vboxautostart-service restart > /dev/null 2>&1
419 /sbin/service vboxweb-service restart > /dev/null 2>&1
420fi
421%endif
422%if %{?rpm_suse:1}%{!?rpm_suse:0}
423%restart_on_update vboxdrv vboxballoonctrl-service vboxautostart-service vboxweb-service
424%insserv_cleanup
425%endif
426%if %{?rpm_mdv:1}%{!?rpm_mdv:0}
427/sbin/ldconfig
428%{clean_desktop_database}
429%clean_menus
430%endif
431update-mime-database /usr/share/mime &> /dev/null || :
432update-desktop-database -q > /dev/null 2>&1 || :
433touch --no-create /usr/share/icons/hicolor
434gtk-update-icon-cache -q /usr/share/icons/hicolor 2> /dev/null || :
435rm -rf /usr/lib/virtualbox/ExtensionPacks
436
437
438%clean
439rm -rf $RPM_BUILD_ROOT
440
441
442%files
443%defattr(-,root,root)
444%doc %{!?is_ose: LICENSE}
445%doc UserManual*.pdf
446%doc %{!?is_ose: VirtualBox*.chm}
447%{_initrddir}/vboxdrv
448%{_initrddir}/vboxballoonctrl-service
449%{_initrddir}/vboxautostart-service
450%{_initrddir}/vboxweb-service
451%{?rpm_suse: %{py_sitedir}/*}
452%{!?rpm_suse: %{python_sitelib}/*}
453/sbin/rcvboxdrv
454%{?rpm_suse: /sbin/rcvboxballoonctrl-service}
455%{?rpm_suse: /sbin/rcvboxautostart-service}
456%{?rpm_suse: /sbin/rcvboxweb-service}
457/etc/vbox
458/usr/bin/*
459/usr/src/vbox*
460/usr/lib/virtualbox
461/usr/share/applications/*
462/usr/share/icons/hicolor/*/apps/*
463/usr/share/icons/hicolor/*/mimetypes/*
464/usr/share/mime/packages/*
465/usr/share/pixmaps/*
466/usr/share/virtualbox
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette